summaryrefslogtreecommitdiffstats
path: root/player/loadfile.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-08-10 18:38:57 +0200
committerwm4 <wm4@nowhere>2015-08-10 18:38:57 +0200
commit3d1cc17ab27b98294f5710e69250e95347d84598 (patch)
tree5c38e248a621027277ca8636f4aa06ed2a74ceb2 /player/loadfile.c
parent8f2d9db79fc2f542b2973f245cc6b93fd35c1d80 (diff)
downloadmpv-3d1cc17ab27b98294f5710e69250e95347d84598.tar.bz2
mpv-3d1cc17ab27b98294f5710e69250e95347d84598.tar.xz
player: redo estimated-vf-fps calculation
Additionally to taking the average, this tries to use the demuxer FPS to eliminate jitter, and applies some other heuristics to check if the result is sane. This code will also be used for the display sync code (it will actually make use of the require_exact parameter). (The value of doing this over keeping the simpler demux_mkv hack is somewhat questionable. But at least it allows us to deal with other container formats that use jittery timestamps, such as mp4 remuxed from mkv.)
Diffstat (limited to 'player/loadfile.c')
-rw-r--r--player/loadfile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/player/loadfile.c b/player/loadfile.c
index 59b8924948..6d94c13bd3 100644
--- a/player/loadfile.c
+++ b/player/loadfile.c
@@ -1018,6 +1018,7 @@ static void play_current_file(struct MPContext *mpctx)
mpctx->playing_msg_shown = false;
mpctx->backstep_active = false;
mpctx->max_frames = -1;
+ mpctx->broken_fps_header = false;
mpctx->seek = (struct seek_params){ 0 };
reset_playback_state(mpctx);