diff options
Diffstat (limited to 'player/video.c')
-rw-r--r-- | player/video.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/player/video.c b/player/video.c index e3295b623a..9790f34966 100644 --- a/player/video.c +++ b/player/video.c @@ -1209,6 +1209,12 @@ static void handle_display_sync_frame(struct MPContext *mpctx, // Likewise, we know sync is off, but is going to be compensated. time_left += drop_repeat * vsync; + // If syncing took too long, disregard timing of the first frame. + if (mpctx->num_past_frames == 2 && time_left < 0) { + vo_discard_timing_info(vo); + time_left = 0; + } + if (drop_repeat) { mpctx->mistimed_frames_total += 1; MP_STATS(mpctx, "mistimed"); |