diff options
author | Ilya Tumaykin <itumaykin@gmail.com> | 2016-04-25 02:57:42 +0300 |
---|---|---|
committer | Patrice Clement <monsieurp@gentoo.org> | 2016-04-25 07:30:47 +0000 |
commit | 128e34bb2eb08a4eac51e3e334bf197b0edeb88f (patch) | |
tree | 1a6c7552e05ffbdce63e008428ff5494cf4a1c67 /media-video/mpv/files | |
parent | media-video/mpv: move 0.17.0 patches under files/0.17.0/ directory (diff) | |
download | gentoo-128e34bb2eb08a4eac51e3e334bf197b0edeb88f.tar.gz gentoo-128e34bb2eb08a4eac51e3e334bf197b0edeb88f.tar.bz2 gentoo-128e34bb2eb08a4eac51e3e334bf197b0edeb88f.zip |
media-video/mpv: revbump to 0.17.0-r1 to backport some upstream fixes
Closes: https://github.com/gentoo/gentoo/pull/1341
Package-Manager: portage-2.2.28
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
Diffstat (limited to 'media-video/mpv/files')
7 files changed, 234 insertions, 0 deletions
diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-avoid-deprecated-API-usage.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-avoid-deprecated-API-usage.patch new file mode 100644 index 000000000000..16a284552ac6 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-avoid-deprecated-API-usage.patch @@ -0,0 +1,28 @@ +commit 78346e9c9a8a70fa581989b2cc8b4e0933765330 +Author: wm4 <wm4@nowhere> +Date: Wed Apr 20 19:37:45 2016 +0200 + +ad_spdif: take care of deprecated libavcodec API usage +--- + +diff --git a/audio/decode/ad_spdif.c b/audio/decode/ad_spdif.c +index eb2e2bb..56e4a81 100644 +--- a/audio/decode/ad_spdif.c ++++ b/audio/decode/ad_spdif.c +@@ -116,9 +116,16 @@ static int determine_codec_profile(struct dec_audio *da, AVPacket *pkt) + goto done; + } + ++#if HAVE_AVCODEC_NEW_CODEC_API ++ if (avcodec_send_packet(ctx, pkt) < 0) ++ goto done; ++ if (avcodec_receive_frame(ctx, frame) < 0) ++ goto done; ++#else + int got_frame = 0; + if (avcodec_decode_audio4(ctx, frame, &got_frame, pkt) < 1 || !got_frame) + goto done; ++#endif + + profile = ctx->profile; + diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-hwdec-fallback.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-hwdec-fallback.patch new file mode 100644 index 000000000000..725752569261 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-hwdec-fallback.patch @@ -0,0 +1,63 @@ +commit b1a8e8dba66fb9c85e3a1d4e812d4f842db68fe6 +Author: wm4 <wm4@nowhere> +Date: Fri Apr 22 15:45:23 2016 +0200 + +vd_lavc: fix hwdec fallback if hwdec pre-initialization fails + +Damn. +--- + +diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c +index a444f88..0bbe84c 100644 +--- a/video/decode/vd_lavc.c ++++ b/video/decode/vd_lavc.c +@@ -284,17 +284,14 @@ static void uninit(struct dec_video *vd) + talloc_free(vd->priv); + } + +-static bool force_fallback(struct dec_video *vd) ++static void force_fallback(struct dec_video *vd) + { + vd_ffmpeg_ctx *ctx = vd->priv; +- if (!ctx->hwdec) +- return false; + + uninit_avctx(vd); + int lev = ctx->hwdec_notified ? MSGL_WARN : MSGL_V; + mp_msg(vd->log, lev, "Falling back to software decoding.\n"); + init_avctx(vd, ctx->decoder, NULL); +- return true; + } + + static void reinit(struct dec_video *vd) +@@ -332,7 +329,7 @@ static void reinit(struct dec_video *vd) + } + + init_avctx(vd, decoder, hwdec); +- if (!ctx->avctx) ++ if (!ctx->avctx && hwdec) + force_fallback(vd); + } + +@@ -767,7 +764,8 @@ static struct mp_image *decode_with_fallback(struct dec_video *vd, + decode(vd, packet, flags, &mpi); + if (ctx->hwdec_failed) { + // Failed hardware decoding? Try again in software. +- if (force_fallback(vd) && ctx->avctx) ++ force_fallback(vd); ++ if (ctx->avctx) + decode(vd, packet, flags, &mpi); + } + +@@ -805,8 +803,10 @@ static int control(struct dec_video *vd, int cmd, void *arg) + return CONTROL_TRUE; + } + case VDCTRL_FORCE_HWDEC_FALLBACK: +- if (force_fallback(vd)) ++ if (ctx->hwdec) { ++ force_fallback(vd); + return ctx->avctx ? CONTROL_OK : CONTROL_ERROR; ++ } + return CONTROL_FALSE; + case VDCTRL_REINIT: + reinit(vd); diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-parsing-multiple-input-command-prefixes.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-parsing-multiple-input-command-prefixes.patch new file mode 100644 index 000000000000..b78db811cd60 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-parsing-multiple-input-command-prefixes.patch @@ -0,0 +1,19 @@ +commit 1f1117d0dd61e47d1c64f567be1ca80ac968bd22 +Author: Philip Sequeira <phsequei@gmail.com> +Date: Sun Apr 17 02:09:54 2016 -0400 + +input: fix parsing multiple input command prefixes +--- + +diff --git a/input/cmd_parse.c b/input/cmd_parse.c +index c2c3270..01e4bb6 100644 +--- a/input/cmd_parse.c ++++ b/input/cmd_parse.c +@@ -273,7 +273,6 @@ static struct mp_cmd *parse_cmd_str(struct mp_log *log, void *tmp, + break; + if (pctx_read_token(ctx, &cur_token) < 0) + goto error; +- break; + } + + if (!find_cmd(ctx->log, cmd, cur_token)) diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-relative-seeking-with-coverart.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-relative-seeking-with-coverart.patch new file mode 100644 index 000000000000..c50e45e55a84 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-relative-seeking-with-coverart.patch @@ -0,0 +1,59 @@ +commit 786f37ae1c77b46b34ed66b4a73c42ff64bfc9b8 +Author: wm4 <wm4@nowhere> +Date: Sat Apr 23 17:16:54 2016 +0200 + +player: cleaner determination of current playback PTS + +In particular, this won't overwrite the playback PTS in coverart mode, +which actually fixes relative seeks. +--- + +diff --git a/player/playloop.c b/player/playloop.c +index 71ecd7e..6eadcbc 100644 +--- a/player/playloop.c ++++ b/player/playloop.c +@@ -958,6 +958,17 @@ void run_playloop(struct MPContext *mpctx) + fill_audio_out_buffers(mpctx); + write_video(mpctx); + ++ if (mpctx->vo_chain && !mpctx->vo_chain->is_coverart && ++ mpctx->video_status >= STATUS_PLAYING && ++ mpctx->video_status < STATUS_EOF) ++ { ++ mpctx->playback_pts = mpctx->video_pts; ++ } else if (mpctx->audio_status >= STATUS_PLAYING && ++ mpctx->audio_status < STATUS_EOF) ++ { ++ mpctx->playback_pts = playing_audio_pts(mpctx); ++ } ++ + if (mpctx->lavfi) { + if (lavfi_process(mpctx->lavfi)) + mpctx->sleeptime = 0; +@@ -967,14 +978,6 @@ void run_playloop(struct MPContext *mpctx) + + handle_playback_restart(mpctx); + +- // Use the audio timestamp if no video, or video is enabled, but has ended. +- if (mpctx->video_status == STATUS_EOF && +- mpctx->audio_status >= STATUS_PLAYING && +- mpctx->audio_status < STATUS_EOF) +- { +- mpctx->playback_pts = playing_audio_pts(mpctx); +- } +- + handle_dummy_ticks(mpctx); + + update_osd_msg(mpctx); +diff --git a/player/video.c b/player/video.c +index 0af0b90..7610c12 100644 +--- a/player/video.c ++++ b/player/video.c +@@ -1380,7 +1380,6 @@ void write_video(struct MPContext *mpctx) + + mpctx->video_pts = mpctx->next_frames[0]->pts; + mpctx->last_vo_pts = mpctx->video_pts; +- mpctx->playback_pts = mpctx->video_pts; + + shift_frames(mpctx); + diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-use-after-free.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-use-after-free.patch new file mode 100644 index 000000000000..17b08a1ae3f5 --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-use-after-free.patch @@ -0,0 +1,25 @@ +commit 4ebac1e936f761f08d455acf77be40c93048f6d5 +Author: wm4 <wm4@nowhere> +Date: Thu Apr 14 22:39:10 2016 +0200 + +player: fix use-after-free with --screenshot-directory + +Probably fixes #3049. +--- + +diff --git a/player/screenshot.c b/player/screenshot.c +index 02cbb4a..33b972b 100644 +--- a/player/screenshot.c ++++ b/player/screenshot.c +@@ -287,9 +287,10 @@ static char *gen_fname(screenshot_ctx *ctx, const char *file_ext) + void *t = fname; + dir = mp_get_user_path(t, ctx->mpctx->global, dir); + fname = mp_path_join(NULL, dir, fname); +- talloc_free(t); + + mp_mkdirp(dir); ++ ++ talloc_free(t); + } + + if (!mp_path_exists(fname)) diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-video-frame-info-memleak.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-video-frame-info-memleak.patch new file mode 100644 index 000000000000..eee65cc5705c --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-fix-video-frame-info-memleak.patch @@ -0,0 +1,19 @@ +commit e232f1a731a9089a13d88def6c1f2c1a069a6353 +Author: trUSTssc <trUSTssc@users.noreply.github.com> +Date: Sun Apr 24 20:11:36 2016 +0200 + +player: fix memleak when using video-frame-info +--- + +diff --git a/player/command.c b/player/command.c +index 7f65534..738865b 100644 +--- a/player/command.c ++++ b/player/command.c +@@ -2581,6 +2581,7 @@ static int mp_property_video_frame_info(void *ctx, struct m_property *prop, + {0} + }; + ++ talloc_free(f); + return m_property_read_sub(props, action, arg); + } + diff --git a/media-video/mpv/files/0.17.0/mpv-0.17.0-remove-unneeded-X11-include.patch b/media-video/mpv/files/0.17.0/mpv-0.17.0-remove-unneeded-X11-include.patch new file mode 100644 index 000000000000..7d2d1cc1a32d --- /dev/null +++ b/media-video/mpv/files/0.17.0/mpv-0.17.0-remove-unneeded-X11-include.patch @@ -0,0 +1,21 @@ +commit 8c02c92ab962107ee43c71854bd9712cc492046e +Author: wm4 <wm4@nowhere> +Date: Fri Apr 15 09:45:15 2016 +0200 + +vo_opengl: rpi: don't include x11 header file + +Copy & paste bug. +--- + +diff --git a/video/out/opengl/context_rpi.c b/video/out/opengl/context_rpi.c +index c01c173..c0ca733 100644 +--- a/video/out/opengl/context_rpi.c ++++ b/video/out/opengl/context_rpi.c +@@ -19,7 +19,6 @@ + #include <assert.h> + + #include "common/common.h" +-#include "video/out/x11_common.h" + #include "context.h" + + #include "context_rpi.h" |