ffplay: move frame step pause from the video thread to video_refresh
authorMarton Balint <cus@passwd.hu>
Tue, 25 Dec 2012 21:35:53 +0000 (22:35 +0100)
committerMarton Balint <cus@passwd.hu>
Fri, 28 Dec 2012 18:59:46 +0000 (19:59 +0100)
This way we pause the video right after we displayed a new frame. Partially
fixes ticket #2053.

Signed-off-by: Marton Balint <cus@passwd.hu>
ffplay.c

index 38673b5..070fbd7 100644 (file)
--- a/ffplay.c
+++ b/ffplay.c
@@ -1396,6 +1396,9 @@ display:
                 video_display(is);
 
             pictq_next_picture(is);
                 video_display(is);
 
             pictq_next_picture(is);
+
+            if (is->step && !is->paused)
+                stream_toggle_pause(is);
         }
     } else if (is->audio_st) {
         /* draw the next audio frame */
         }
     } else if (is->audio_st) {
         /* draw the next audio frame */
@@ -1923,9 +1926,6 @@ static int video_thread(void *arg)
 
         if (ret < 0)
             goto the_end;
 
         if (ret < 0)
             goto the_end;
-
-        if (is->step)
-            stream_toggle_pause(is);
     }
  the_end:
     avcodec_flush_buffers(is->video_st->codec);
     }
  the_end:
     avcodec_flush_buffers(is->video_st->codec);