summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-04-24 18:24:46 +0200
committerwm4 <wm4@nowhere>2016-04-24 18:24:46 +0200
commit5f97bd42234ecc6fca7e06b9831318d67e865c8b (patch)
tree476ac66c414a52e4aaad8f1da5e2c60258d4f121 /player
parent649e155938482ec75223d434a0aba2f1bf76f154 (diff)
downloadmpv-5f97bd42234ecc6fca7e06b9831318d67e865c8b.tar.bz2
mpv-5f97bd42234ecc6fca7e06b9831318d67e865c8b.tar.xz
player: assume video forwards timestamps jumps only with some formats
Another crappy fix for timestamp reset issues. This time, we try to fix files which have very weird but legitimate frame durations, such as cdgraphics. It can have many short frames, but once in a while there are potentially very long frames. Fixes #3027.
Diffstat (limited to 'player')
-rw-r--r--player/video.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/player/video.c b/player/video.c
index 7610c120ea..271406070c 100644
--- a/player/video.c
+++ b/player/video.c
@@ -685,7 +685,7 @@ static void handle_new_frame(struct MPContext *mpctx)
double pts = mpctx->next_frames[0]->pts;
if (mpctx->video_pts != MP_NOPTS_VALUE) {
frame_time = pts - mpctx->video_pts;
- double tolerance = 15;
+ double tolerance = mpctx->demuxer->ts_resets_possible ? 5 : 1e4;
if (frame_time <= 0 || frame_time >= tolerance) {
// Assume a discontinuity.
MP_WARN(mpctx, "Invalid video timestamp: %f -> %f\n",