summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Lampard <mlampard@users.sourceforge.net>2004-10-25 22:39:38 +0000
committerMike Lampard <mlampard@users.sourceforge.net>2004-10-25 22:39:38 +0000
commit0f47406d80e89f3822db9c6e72241eedc5ee2a06 (patch)
tree635773a2e490fd5ca1e55628316974fe866b5ac4
parent3e28d4a627a3d3a6ea7ff5caf2a3140490ce4f39 (diff)
downloadxine-lib-0f47406d80e89f3822db9c6e72241eedc5ee2a06.tar.gz
xine-lib-0f47406d80e89f3822db9c6e72241eedc5ee2a06.tar.bz2
improve reliability switch_channels
CVS patchset: 7074 CVS date: 2004/10/25 22:39:38
-rw-r--r--src/input/input_dvb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c
index e2c3e6c0f..35ba60374 100644
--- a/src/input/input_dvb.c
+++ b/src/input/input_dvb.c
@@ -1327,7 +1327,11 @@ static void switch_channel (dvb_input_plugin_t *this) {
xine_pids_data_t data;
xine_ui_data_t ui_data;
+ /* control_nop appears to stop an occasional (quite long) pause between channel-changes, which the user
+ may see as a lockup. */
+ _x_demux_control_nop(this->stream, BUF_FLAG_END_STREAM);
_x_demux_flush_engine(this->stream);
+
pthread_mutex_lock (&this->mutex);
close (this->fd);