diff options
author | Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com> | 2022-01-14 20:25:44 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-01-14 19:57:22 +0000 |
commit | d20fea5200a3c33b1873f28cb48f7c3f658503d5 (patch) | |
tree | 9cd200a9b17e628057be7159cc792479659bc6c5 /media-video | |
parent | dev-util/colm-0.14.7-r1: add patch for Solaris (diff) | |
download | gentoo-d20fea5200a3c33b1873f28cb48f7c3f658503d5.tar.gz gentoo-d20fea5200a3c33b1873f28cb48f7c3f658503d5.tar.bz2 gentoo-d20fea5200a3c33b1873f28cb48f7c3f658503d5.zip |
media-video/wireplumber: add fix for Pro Audio breaking PA routing
Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video')
-rw-r--r-- | media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch | 48 | ||||
-rw-r--r-- | media-video/wireplumber/wireplumber-0.4.7-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.7.ebuild) | 4 |
2 files changed, 52 insertions, 0 deletions
diff --git a/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch b/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch new file mode 100644 index 000000000000..aeb5ce067615 --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch @@ -0,0 +1,48 @@ +From 211f1e6b6cd4898121e4c2b821fae4dea6cc3317 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Fri, 14 Jan 2022 16:28:48 +0100 +Subject: [PATCH] default-nodes: handle nodes without Routes + +When a node has not part of any EnumRoute, we must assume it is +available. + +Fixes selection of Pro Audio nodes as default nodes. +--- + modules/module-default-nodes.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c +index 32b2725b..15aadeaa 100644 +--- a/modules/module-default-nodes.c ++++ b/modules/module-default-nodes.c +@@ -108,6 +108,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) + gint dev_id = dev_id_str ? atoi (dev_id_str) : -1; + gint cpd = cpd_str ? atoi (cpd_str) : -1; + g_autoptr (WpDevice) device = NULL; ++ gint found = 0; + + if (dev_id == -1 || cpd == -1) + return TRUE; +@@ -168,6 +169,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) + for (; wp_iterator_next (it, &v); g_value_unset (&v)) { + gint32 *d = (gint32 *)g_value_get_pointer (&v); + if (d && *d == cpd) { ++ found++; + if (route_avail != SPA_PARAM_AVAILABILITY_no) + return TRUE; + } +@@ -175,6 +177,10 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node) + } + } + } ++ /* The node is part of a profile without routes so we assume it ++ * is available. This can happen for Pro Audio profiles */ ++ if (found == 0) ++ return TRUE; + + return FALSE; + } +-- +GitLab + +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317 diff --git a/media-video/wireplumber/wireplumber-0.4.7.ebuild b/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild index 2e6c068b1ee9..bbd72a311e17 100644 --- a/media-video/wireplumber/wireplumber-0.4.7.ebuild +++ b/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild @@ -54,6 +54,10 @@ RDEPEND="${DEPEND}" DOCS=( {NEWS,README}.rst ) +PATCHES=( + "$FILESDIR"/${P}-default-nodes-handle-nodes-without-Routes.patch +) + src_configure() { local emesonargs=( -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?) |