summaryrefslogtreecommitdiff
path: root/src/xine-engine/video_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xine-engine/video_decoder.c')
-rw-r--r--src/xine-engine/video_decoder.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/xine-engine/video_decoder.c b/src/xine-engine/video_decoder.c
index edec3a00c..061962d4a 100644
--- a/src/xine-engine/video_decoder.c
+++ b/src/xine-engine/video_decoder.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: video_decoder.c,v 1.159 2005/08/25 15:36:30 valtri Exp $
+ * $Id: video_decoder.c,v 1.160 2005/10/30 02:18:35 miguelfreitas Exp $
*
*/
@@ -153,8 +153,9 @@ static void *video_decoder_loop (void *stream_gen) {
running_ticket->release(running_ticket, 0);
- stream->metronom->handle_video_discontinuity (stream->metronom,
- DISC_STREAMSTART, 0);
+ if( !stream->gapless_switch )
+ stream->metronom->handle_video_discontinuity (stream->metronom,
+ DISC_STREAMSTART, 0);
buftype_unknown = 0;
break;
@@ -189,7 +190,7 @@ static void *video_decoder_loop (void *stream_gen) {
stream->video_decoder_plugin->flush (stream->video_decoder_plugin);
running_ticket->release(running_ticket, 0);
}
-
+
/*
* wait the output fifos to run dry before sending the notification event
* to the frontend. this test is only valid if there is only a single
@@ -203,7 +204,7 @@ static void *video_decoder_loop (void *stream_gen) {
num_streams = stream->video_out->get_property(stream->video_out, VO_PROP_NUM_STREAMS);
running_ticket->release(running_ticket, 0);
- if( num_bufs > 0 && num_streams == 1 )
+ if( num_bufs > 0 && num_streams == 1 && !stream->early_finish_event )
xine_usec_sleep (10000);
else
break;