summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Tumaykin <itumaykin@gmail.com>2017-12-18 00:57:40 +0300
committerPatrice Clement <monsieurp@gentoo.org>2017-12-21 21:19:50 +0100
commit78dad5cda155e9eba3589142062e9518d4d1f00c (patch)
tree376da933389b936d863691017ad0637a292756c8 /media-video/mpv
parentmedia-video/mpv: revert "default_src_prepare -> default". (diff)
downloadgentoo-78dad5cda155e9eba3589142062e9518d4d1f00c.tar.gz
gentoo-78dad5cda155e9eba3589142062e9518d4d1f00c.tar.bz2
gentoo-78dad5cda155e9eba3589142062e9518d4d1f00c.zip
media-video/mpv: add SLOT operator on libva rdep.
Also clean up after Polynomial-C's messy fix. Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'media-video/mpv')
-rw-r--r--media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch (renamed from media-video/mpv/files/mpv-libva2.patch)24
-rw-r--r--media-video/mpv/mpv-0.27.0-r1.ebuild (renamed from media-video/mpv/mpv-0.27.0.ebuild)5
2 files changed, 13 insertions, 16 deletions
diff --git a/media-video/mpv/files/mpv-libva2.patch b/media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch
index 843e84494541..8ae7f537682f 100644
--- a/media-video/mpv/files/mpv-libva2.patch
+++ b/media-video/mpv/files/0.27.0/mpv-0.27.0-support-libva2.patch
@@ -1,12 +1,10 @@
-From 2ecf240b1cd20875991a5b18efafbe799864ff7f Mon Sep 17 00:00:00 2001
-From: Mark Thompson <sw@jkqxz.net>
-Date: Mon, 9 Oct 2017 20:10:26 +0100
-Subject: [PATCH] vaapi: Use libva2 message callbacks
+commit 2ecf240b1cd20875991a5b18efafbe799864ff7f
+Author: Mark Thompson <sw@jkqxz.net>
+Date: Mon Oct 9 20:10:26 2017 +0100
+
+vaapi: Use libva2 message callbacks
They are no longer global, so they work vaguely sensibly.
----
- video/vaapi.c | 32 +++++++++++++++++++++++++++++---
- 1 file changed, 29 insertions(+), 3 deletions(-)
diff --git a/video/vaapi.c b/video/vaapi.c
index 6bedbbaa18..3b1cb9cc41 100644
@@ -15,7 +13,7 @@ index 6bedbbaa18..3b1cb9cc41 100644
@@ -40,9 +40,27 @@ int va_get_colorspace_flag(enum mp_csp csp)
return 0;
}
-
+
-// VA message callbacks are global and do not have a context parameter, so it's
-// impossible to know from which VADisplay they originate. Try to route them
-// to existing mpv/libmpv instances within this process.
@@ -48,13 +46,13 @@ index 6bedbbaa18..3b1cb9cc41 100644
va_message_callback(msg, MSGL_V);
}
+#endif
-
+
static void open_lavu_vaapi_device(struct mp_vaapi_ctx *ctx)
{
@@ -108,6 +127,10 @@ struct mp_vaapi_ctx *va_initialize(VADisplay *display, struct mp_log *plog,
},
};
-
+
+#if VA_CHECK_VERSION(1, 0, 0)
+ vaSetErrorCallback(display, va_error_callback, res);
+ vaSetInfoCallback(display, va_info_callback, res);
@@ -68,12 +66,12 @@ index 6bedbbaa18..3b1cb9cc41 100644
vaSetInfoCallback(va_info_callback);
+#endif
#endif
-
+
int major, minor;
@@ -154,6 +178,7 @@ void va_destroy(struct mp_vaapi_ctx *ctx)
if (ctx->destroy_native_ctx)
ctx->destroy_native_ctx(ctx->native_ctx);
-
+
+#if !VA_CHECK_VERSION(1, 0, 0)
pthread_mutex_lock(&va_log_mutex);
for (int n = 0; n < num_va_mpv_clients; n++) {
@@ -83,6 +81,6 @@ index 6bedbbaa18..3b1cb9cc41 100644
TA_FREEP(&va_mpv_clients); // avoid triggering leak detectors
pthread_mutex_unlock(&va_log_mutex);
+#endif
-
+
talloc_free(ctx);
}
diff --git a/media-video/mpv/mpv-0.27.0.ebuild b/media-video/mpv/mpv-0.27.0-r1.ebuild
index 0edb3df22f3a..fd90c09f204f 100644
--- a/media-video/mpv/mpv-0.27.0.ebuild
+++ b/media-video/mpv/mpv-0.27.0-r1.ebuild
@@ -97,7 +97,7 @@ COMMON_DEPEND="
vaapi? (
!libav? ( >=media-video/ffmpeg-3.3:0 )
libav? ( >=media-video/libav-13:0 )
- x11-libs/libva[drm?,X?,wayland?]
+ x11-libs/libva:=[drm?,X?,wayland?]
)
vdpau? (
!libav? ( >=media-video/ffmpeg-3.3:0 )
@@ -141,7 +141,6 @@ RDEPEND="${COMMON_DEPEND}
PATCHES=(
"${FILESDIR}/${PN}-0.19.0-make-ffmpeg-version-check-non-fatal.patch"
"${FILESDIR}/${PN}-0.23.0-make-libavdevice-check-accept-libav.patch"
- "${FILESDIR}/${PN}-libva2.patch" #641384
)
pkg_setup() {
@@ -152,7 +151,7 @@ src_prepare() {
cp "${DISTDIR}/waf-${WAF_PV}" "${S}"/waf || die
chmod +x "${S}"/waf || die
eapply "${FILESDIR}/${PV}"
- default
+ default_src_prepare
}
src_configure() {