aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2012-10-05 01:20:55 +0200
committerMarton Balint <cus@passwd.hu>2012-10-21 17:18:12 +0200
commitda569556217f185830ba7412355f681a6b62f1f0 (patch)
treed5802d1bb73ae3bffb89b9b066ddaba8136933b8
parentd7b8a9a589d94550d2eb2ce4147e69311d6c5745 (diff)
downloadffmpeg-da569556217f185830ba7412355f681a6b62f1f0.tar.gz
ffplay: use framedrop by default when sync is not done to video
When using external sync, framedrop is perfectly fine. Signed-off-by: Marton Balint <cus@passwd.hu>
-rw-r--r--ffplay.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ffplay.c b/ffplay.c
index 4223102862..b3b09b3905 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1217,7 +1217,7 @@ retry:
if (is->pictq_size > 1) {
VideoPicture *nextvp = &is->pictq[(is->pictq_rindex + 1) % VIDEO_PICTURE_QUEUE_SIZE];
duration = nextvp->pts - vp->pts;
- if((framedrop>0 || (framedrop && is->audio_st)) && time > is->frame_timer + duration){
+ if((framedrop>0 || (framedrop && is->av_sync_type != AV_SYNC_VIDEO_MASTER)) && time > is->frame_timer + duration){
is->frame_drops_late++;
pictq_next_picture(is);
goto retry;
@@ -1535,7 +1535,7 @@ static int get_video_frame(VideoState *is, AVFrame *frame, int64_t *pts, AVPacke
}
if (((is->av_sync_type == AV_SYNC_AUDIO_MASTER && is->audio_st) || is->av_sync_type == AV_SYNC_EXTERNAL_CLOCK) &&
- (framedrop>0 || (framedrop && is->audio_st))) {
+ (framedrop>0 || (framedrop && is->av_sync_type != AV_SYNC_VIDEO_MASTER))) {
SDL_LockMutex(is->pictq_mutex);
if (is->frame_last_pts != AV_NOPTS_VALUE && *pts) {
double clockdiff = get_video_clock(is) - get_master_clock(is);