summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-26 19:33:08 +0100
commite52012895af4c92f008daac78c3d8b6d691a5dd1 (patch)
tree23cfaf6724a2a4437945e792ce42481a83acfd4a /media-video/pipewire/files
parente41409e9c4ccf0cd1b45b81f9d2370d13326cfc2 (diff)
gentoo auto-resync : 26:06:2023 - 19:33:07
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r--media-video/pipewire/files/0.3.72/001-opus-meson.patch95
-rw-r--r--media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch32
2 files changed, 127 insertions, 0 deletions
diff --git a/media-video/pipewire/files/0.3.72/001-opus-meson.patch b/media-video/pipewire/files/0.3.72/001-opus-meson.patch
new file mode 100644
index 000000000000..a505336e0a31
--- /dev/null
+++ b/media-video/pipewire/files/0.3.72/001-opus-meson.patch
@@ -0,0 +1,95 @@
+From 14ebb9a568f3d8e1351181300dda93099b52742c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
+ <89q1r14hd@relay.firefox.com>
+Date: Mon, 26 Jun 2023 17:07:04 +0300
+Subject: [PATCH 1/2] spa/plugins/bluez5/meson: removed some unneeded redefines
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+As far as I can tell, the code in question was not doing anything there
+and was also breaking the new code elsewhere, so it was put on the
+chopping block. Don't mind the squirming tentacles.
+
+Signed-off-by: NiklÄvs Koļesņikovs <89q1r14hd@relay.firefox.com>
+---
+ spa/plugins/bluez5/meson.build | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/spa/plugins/bluez5/meson.build b/spa/plugins/bluez5/meson.build
+index e6c52ccc57..80493cfe61 100644
+--- a/spa/plugins/bluez5/meson.build
++++ b/spa/plugins/bluez5/meson.build
+@@ -118,16 +118,14 @@ endif
+
+ if ldac_dep.found()
+ ldac_args = codec_args
+- ldac_dep = [ ldac_dep ]
+ if ldac_abr_dep.found()
+ ldac_args += [ '-DENABLE_LDAC_ABR' ]
+- ldac_dep += ldac_abr_dep
+ endif
+ bluez_codec_ldac = shared_library('spa-codec-bluez5-ldac',
+ [ 'a2dp-codec-ldac.c', 'media-codecs.c' ],
+ include_directories : [ configinc ],
+ c_args : ldac_args,
+- dependencies : [ spa_dep, ldac_dep ],
++ dependencies : [ spa_dep, ldac_dep, ldac_abr_dep ],
+ install : true,
+ install_dir : spa_plugindir / 'bluez5')
+ endif
+@@ -144,7 +142,6 @@ endif
+
+ if get_option('bluez5-codec-opus').allowed() and opus_dep.found()
+ opus_args = codec_args
+- opus_dep = [ opus_dep ]
+ bluez_codec_opus = shared_library('spa-codec-bluez5-opus',
+ [ 'a2dp-codec-opus.c', 'media-codecs.c' ],
+ include_directories : [ configinc ],
+--
+GitLab
+
+
+From 23a10a8abb324809d1ebc5d33e36cdfa570390ed Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
+ <89q1r14hd@relay.firefox.com>
+Date: Mon, 26 Jun 2023 16:35:01 +0300
+Subject: [PATCH 2/2] src/modules/meson: ensure Opus libs were actually found,
+ too
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The old way fails, if a distro has the header but not the library,
+which can happen on at least Gentoo with multilib deployments,
+where the shared header is present but non-native libraries might not.
+
+This could still fail, if a distro had some but not all libraries for
+some architectures but hopefully no one did that. In that case, a compile
+test would likely be required via cc.check_header() instead but let's try
+the faster fix first.
+
+Reported-by: Sam James <sam@gentoo.org>
+Thanks-to: Barnabás Pőcze <pobrn@protonmail.com>
+Thanks-to: Xavier Claessens <xavier.claessens@collabora.com>
+Signed-off-by: NiklÄvs Koļesņikovs <89q1r14hd@relay.firefox.com>
+---
+ src/modules/meson.build | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index 342bd697b1..970e04db98 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -203,7 +203,8 @@ endif
+ summary({'ffado-driver': build_module_ffado_driver}, bool_yn: true, section: 'Optional Modules')
+
+ opus_custom_h = cc.has_header('opus/opus_custom.h', dependencies: opus_dep)
+-if opus_custom_h
++# One would imagine that opus_dep is a requirement but for some reason it's not, so we need to manually check that
++if opus_dep.found() and opus_custom_h
+ opus_custom_dep = declare_dependency(compile_args: ['-DHAVE_OPUS_CUSTOM'], dependencies: opus_dep)
+ else
+ opus_custom_dep = dependency('', required: false)
+--
+GitLab
diff --git a/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch b/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch
new file mode 100644
index 000000000000..41998db7ec58
--- /dev/null
+++ b/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch
@@ -0,0 +1,32 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4df753d0d7af7e68ab16ee90b94c4ddd44506074
+
+From 4df753d0d7af7e68ab16ee90b94c4ddd44506074 Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 26 Jun 2023 16:11:33 +0200
+Subject: [PATCH] context: avoid segfault when no fallback driver
+
+In some cases, there might not be a fallback driver. Handle this without
+segfaulting.
+---
+ src/pipewire/context.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pipewire/context.c b/src/pipewire/context.c
+index daf13c16b..5fd0cdec9 100644
+--- a/src/pipewire/context.c
++++ b/src/pipewire/context.c
+@@ -1327,11 +1327,11 @@ again:
+ if ((t->want_driver && t->active && t->runnable) ||
+ t->always_process) {
+ driver = target;
+- driver->runnable = true;
+ break;
+ }
+ }
+ if (driver != NULL) {
++ driver->runnable = true;
+ /* driver needed for this group */
+ move_to_driver(context, &collect, driver);
+ } else {
+--
+GitLab