From da569556217f185830ba7412355f681a6b62f1f0 Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Fri, 5 Oct 2012 01:20:55 +0200 Subject: 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 --- ffplay.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ffplay.c') 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); -- cgit v1.2.3