Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/wireplumber/, media-video/wireplumber/files/
Date: Fri, 14 Jan 2022 19:58:57
Message-Id: 1642190242.d20fea5200a3c33b1873f28cb48f7c3f658503d5.sam@gentoo
1 commit: d20fea5200a3c33b1873f28cb48f7c3f658503d5
2 Author: Niklāvs Koļesņikovs <89q1r14hd <AT> relay <DOT> firefox <DOT> com>
3 AuthorDate: Fri Jan 14 18:25:44 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 14 19:57:22 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d20fea52
7
8 media-video/wireplumber: add fix for Pro Audio breaking PA routing
9
10 Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd <AT> relay.firefox.com>
11 Signed-off-by: Sam James <sam <AT> gentoo.org>
12
13 ...default-nodes-handle-nodes-without-Routes.patch | 48 ++++++++++++++++++++++
14 ...er-0.4.7.ebuild => wireplumber-0.4.7-r1.ebuild} | 4 ++
15 2 files changed, 52 insertions(+)
16
17 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
18 new file mode 100644
19 index 000000000000..aeb5ce067615
20 --- /dev/null
21 +++ b/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch
22 @@ -0,0 +1,48 @@
23 +From 211f1e6b6cd4898121e4c2b821fae4dea6cc3317 Mon Sep 17 00:00:00 2001
24 +From: Wim Taymans <wtaymans@××××××.com>
25 +Date: Fri, 14 Jan 2022 16:28:48 +0100
26 +Subject: [PATCH] default-nodes: handle nodes without Routes
27 +
28 +When a node has not part of any EnumRoute, we must assume it is
29 +available.
30 +
31 +Fixes selection of Pro Audio nodes as default nodes.
32 +---
33 + modules/module-default-nodes.c | 6 ++++++
34 + 1 file changed, 6 insertions(+)
35 +
36 +diff --git a/modules/module-default-nodes.c b/modules/module-default-nodes.c
37 +index 32b2725b..15aadeaa 100644
38 +--- a/modules/module-default-nodes.c
39 ++++ b/modules/module-default-nodes.c
40 +@@ -108,6 +108,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
41 + gint dev_id = dev_id_str ? atoi (dev_id_str) : -1;
42 + gint cpd = cpd_str ? atoi (cpd_str) : -1;
43 + g_autoptr (WpDevice) device = NULL;
44 ++ gint found = 0;
45 +
46 + if (dev_id == -1 || cpd == -1)
47 + return TRUE;
48 +@@ -168,6 +169,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
49 + for (; wp_iterator_next (it, &v); g_value_unset (&v)) {
50 + gint32 *d = (gint32 *)g_value_get_pointer (&v);
51 + if (d && *d == cpd) {
52 ++ found++;
53 + if (route_avail != SPA_PARAM_AVAILABILITY_no)
54 + return TRUE;
55 + }
56 +@@ -175,6 +177,10 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
57 + }
58 + }
59 + }
60 ++ /* The node is part of a profile without routes so we assume it
61 ++ * is available. This can happen for Pro Audio profiles */
62 ++ if (found == 0)
63 ++ return TRUE;
64 +
65 + return FALSE;
66 + }
67 +--
68 +GitLab
69 +
70 +https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317
71
72 diff --git a/media-video/wireplumber/wireplumber-0.4.7.ebuild b/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild
73 similarity index 97%
74 rename from media-video/wireplumber/wireplumber-0.4.7.ebuild
75 rename to media-video/wireplumber/wireplumber-0.4.7-r1.ebuild
76 index 2e6c068b1ee9..bbd72a311e17 100644
77 --- a/media-video/wireplumber/wireplumber-0.4.7.ebuild
78 +++ b/media-video/wireplumber/wireplumber-0.4.7-r1.ebuild
79 @@ -54,6 +54,10 @@ RDEPEND="${DEPEND}"
80
81 DOCS=( {NEWS,README}.rst )
82
83 +PATCHES=(
84 + "$FILESDIR"/${P}-default-nodes-handle-nodes-without-Routes.patch
85 +)
86 +
87 src_configure() {
88 local emesonargs=(
89 -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)