Move the initial refresh scheduling for audio display away from where it
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Feb 2010 22:43:09 +0000 (22:43 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Feb 2010 22:43:09 +0000 (22:43 +0000)
can interfere with video.

Originally committed as revision 21616 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffplay.c

index 0a964f2..260fe5f 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -1068,7 +1068,7 @@ static void video_refresh_timer(void *opaque)
 
     if (is->video_st) {
         if (is->pictq_size == 0) {
-//            fprintf(stderr, "Internal error detected in the SDL timer\n");
+            fprintf(stderr, "Internal error detected in the SDL timer\n");
         } else {
             /* dequeue the picture */
             vp = &is->pictq[is->pictq_rindex];
@@ -2022,6 +2022,9 @@ static int decode_thread(void *arg)
     if (video_index >= 0) {
         stream_component_open(is, video_index);
     } else {
+        /* add the refresh timer to draw the picture */
+        schedule_refresh(is, 40);
+
         if (!display_disable)
             is->show_audio = 1;
     }
@@ -2173,9 +2176,6 @@ static VideoState *stream_open(const char *filename, AVInputFormat *iformat)
     is->subpq_mutex = SDL_CreateMutex();
     is->subpq_cond = SDL_CreateCond();
 
-    /* add the refresh timer to draw the picture */
-    schedule_refresh(is, 40);
-
     is->av_sync_type = av_sync_type;
     is->parse_tid = SDL_CreateThread(decode_thread, is);
     if (!is->parse_tid) {