summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2022-05-28 21:28:01 -0400
committerMatt Turner <mattst88@gentoo.org>2022-05-28 21:31:09 -0400
commit5b564489d98f2937be31ced87a6ca029fa4d3929 (patch)
tree95b949a4fa8a36222bcc1e04383b0f9043d17b23
parentnet-libs/webkit-gtk: Version bump to 2.36.3 (diff)
downloadgentoo-5b564489d98f2937be31ced87a6ca029fa4d3929.tar.gz
gentoo-5b564489d98f2937be31ced87a6ca029fa4d3929.tar.bz2
gentoo-5b564489d98f2937be31ced87a6ca029fa4d3929.zip
media-libs/clutter-gst: Add patch to remove RGBx/BGRx support
Closes: https://bugs.gentoo.org/847913 Signed-off-by: Matt Turner <mattst88@gentoo.org>
-rw-r--r--media-libs/clutter-gst/clutter-gst-3.0.27-r2.ebuild49
-rw-r--r--media-libs/clutter-gst/files/3.0.27-video-sink-Remove-RGBx-BGRx-support.patch63
2 files changed, 112 insertions, 0 deletions
diff --git a/media-libs/clutter-gst/clutter-gst-3.0.27-r2.ebuild b/media-libs/clutter-gst/clutter-gst-3.0.27-r2.ebuild
new file mode 100644
index 000000000000..3b28b0d10ce9
--- /dev/null
+++ b/media-libs/clutter-gst/clutter-gst-3.0.27-r2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome2
+
+HOMEPAGE="https://blogs.gnome.org/clutter/"
+DESCRIPTION="GStreamer integration library for Clutter"
+
+LICENSE="LGPL-2.1+"
+SLOT="3.0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="X debug +introspection udev"
+
+# >=cogl-1.18 provides cogl-2.0-experimental
+DEPEND="
+ >=dev-libs/glib-2.20:2
+ >=media-libs/clutter-1.20:1.0=[X=,introspection?]
+ >=media-libs/cogl-1.18:1.0=[introspection?]
+ >=media-libs/gstreamer-1.4:1.0[introspection?]
+ >=media-libs/gst-plugins-bad-1.4:1.0
+ >=media-libs/gst-plugins-base-1.4:1.0[introspection?]
+ introspection? ( >=dev-libs/gobject-introspection-0.6.8:= )
+ udev? ( dev-libs/libgudev )
+"
+# uses goom from gst-plugins-good
+RDEPEND="${DEPEND}
+ >=media-libs/gst-plugins-good-1.4:1.0
+ !udev? ( media-plugins/gst-plugins-v4l2 )
+"
+BDEPEND="
+ dev-util/glib-utils
+ >=dev-util/gtk-doc-am-1.11
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-video-sink-Remove-RGBx-BGRx-support.patch
+)
+
+src_configure() {
+ # --enable-gl-texture-upload is experimental
+ gnome2_src_configure \
+ --disable-maintainer-flags \
+ --enable-debug=$(usex debug yes minimum) \
+ $(use_enable introspection) \
+ $(use_enable udev)
+}
diff --git a/media-libs/clutter-gst/files/3.0.27-video-sink-Remove-RGBx-BGRx-support.patch b/media-libs/clutter-gst/files/3.0.27-video-sink-Remove-RGBx-BGRx-support.patch
new file mode 100644
index 000000000000..fba6addc08cf
--- /dev/null
+++ b/media-libs/clutter-gst/files/3.0.27-video-sink-Remove-RGBx-BGRx-support.patch
@@ -0,0 +1,63 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
+Date: Tue, 26 Apr 2022 23:06:51 +0000
+Subject: [PATCH] video-sink: Remove RGBx/BGRx support
+
+The rgb24 renderer uses the wrong pixel stride and the rgb32 renderer
+assumes alpha is meaningful. We can use neither.
+
+Fixes: https://gitlab.gnome.org/GNOME/cheese/-/issues/51
+---
+ clutter-gst/clutter-gst-video-sink.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/clutter-gst/clutter-gst-video-sink.c b/clutter-gst/clutter-gst-video-sink.c
+index 2cbabe6043ca..2c1c10c7810b 100644
+--- a/clutter-gst/clutter-gst-video-sink.c
++++ b/clutter-gst/clutter-gst-video-sink.c
+@@ -98,8 +98,6 @@ GST_DEBUG_CATEGORY_STATIC (clutter_gst_video_sink_debug);
+ "I420," \
+ "RGBA," \
+ "BGRA," \
+- "RGBx," \
+- "BGRx," \
+ "RGB," \
+ "BGR," \
+ "NV12 }"
+@@ -1392,21 +1390,21 @@ static ClutterGstRenderer rgb32_glsl_renderer =
+ ";"
+ #endif
+ MAKE_CAPS (GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY,
+- "{ RGBA, BGRA, RGBx, BGRx }")),
++ "{ RGBA, BGRA }")),
+ 1, /* n_layers */
+ clutter_gst_rgb32_glsl_setup_pipeline,
+ clutter_gst_rgb32_upload,
+ clutter_gst_rgb32_upload_gl,
+ clutter_gst_dummy_shutdown,
+ };
+
+ static ClutterGstRenderer rgb32_renderer =
+ {
+ "RGB 32",
+ CLUTTER_GST_RGB32,
+ 0,
+ GST_STATIC_CAPS (MAKE_CAPS (GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY,
+- "{ RGBA, BGRA, RGBx, BGRx }")),
++ "{ RGBA, BGRA }")),
+ 2, /* n_layers */
+ clutter_gst_rgb32_setup_pipeline,
+ clutter_gst_rgb32_upload,
+@@ -1907,12 +1905,10 @@ clutter_gst_video_sink_parse_caps (GstCaps *caps,
+ format = CLUTTER_GST_NV12;
+ break;
+ case GST_VIDEO_FORMAT_RGB:
+- case GST_VIDEO_FORMAT_RGBx:
+ format = CLUTTER_GST_RGB24;
+ bgr = FALSE;
+ break;
+ case GST_VIDEO_FORMAT_BGR:
+- case GST_VIDEO_FORMAT_BGRx:
+ format = CLUTTER_GST_RGB24;
+ bgr = TRUE;
+ break;