diff options
Diffstat (limited to 'media-video/mpv/files/0.17.0/mpv-0.17.0-fix-timestamp-resets.patch')
-rw-r--r-- | media-video/mpv/files/0.17.0/mpv-0.17.0-fix-timestamp-resets.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-timestamp-resets.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-timestamp-resets.patch new file mode 100644 index 000000000000..ecebb1f17619 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-timestamp-resets.patch @@ -0,0 +1,27 @@ +commit 5f97bd42234ecc6fca7e06b9831318d67e865c8b +Author: wm4 <wm4@nowhere> +Date: Sun Apr 24 18:24:46 2016 +0200 + +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. +--- + +diff --git a/player/video.c b/player/video.c +index 7610c12..2714060 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", |