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 0000000000000..ecebb1f17619e --- /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 +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", diff --git a/media-video/mpv/mpv-0.17.0-r2.ebuild b/media-video/mpv/mpv-0.17.0-r3.ebuild similarity index 99% rename from media-video/mpv/mpv-0.17.0-r2.ebuild rename to media-video/mpv/mpv-0.17.0-r3.ebuild index 6d565570e4227..247d418f35478 100644 --- a/media-video/mpv/mpv-0.17.0-r2.ebuild +++ b/media-video/mpv/mpv-0.17.0-r3.ebuild @@ -137,6 +137,7 @@ PATCHES=( "${FILESDIR}/${PV}/${P}-fix-hwdec-fallback.patch" "${FILESDIR}/${PV}/${P}-fix-relative-seeking-with-coverart.patch" "${FILESDIR}/${PV}/${P}-fix-unselecting-video-track.patch" + "${FILESDIR}/${PV}/${P}-fix-timestamp-resets.patch" "${FILESDIR}/${PV}/${P}-fix-video-frame-info-memleak.patch" )