summaryrefslogtreecommitdiff
path: root/media-video/wireplumber
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
committerV3n3RiX <venerix@koprulu.sector>2022-05-12 16:42:50 +0300
commit752d6256e5204b958b0ef7905675a940b5e9172f (patch)
tree330d16e6362a49cbed8875a777fe641a43376cd3 /media-video/wireplumber
parent0c100b7dd2b30e75b799d806df4ef899fd98e1ea (diff)
gentoo resync : 12.05.2022
Diffstat (limited to 'media-video/wireplumber')
-rw-r--r--media-video/wireplumber/Manifest19
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch51
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch28
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch27
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch44
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch214
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch87
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch33
-rw-r--r--media-video/wireplumber/wireplumber-0.4.10.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.7-r2.ebuild)8
-rw-r--r--media-video/wireplumber/wireplumber-0.4.8-r3.ebuild123
-rw-r--r--media-video/wireplumber/wireplumber-0.4.9-r1.ebuild (renamed from media-video/wireplumber/wireplumber-0.4.8-r2.ebuild)7
-rw-r--r--media-video/wireplumber/wireplumber-0.4.9.ebuild2
-rw-r--r--media-video/wireplumber/wireplumber-9999.ebuild1
13 files changed, 135 insertions, 509 deletions
diff --git a/media-video/wireplumber/Manifest b/media-video/wireplumber/Manifest
index b6d2bd7a5c1e..21993bd9f6f1 100644
--- a/media-video/wireplumber/Manifest
+++ b/media-video/wireplumber/Manifest
@@ -1,14 +1,9 @@
-AUX wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch 1837 BLAKE2B 7a621e0903283c9856c02844763d7091930ef122e3bee0577a556390cf7a0051d3cf26ca2af92b07ed055d4e9c925129a43e0cbf4830c0e4a8f9a06a8b36fe56 SHA512 6b3b3304a30f6b5c8f4fc2e2249596bc1f283b76962b529cdd16e534ada2e0e04f4620dedf85a9c974fab199878badc7d79e37b046f8381096d1a0957ead7a11
-AUX wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch 929 BLAKE2B 6583ffd0e7ba37e4832962cc49f9b39021625e5d8bdc064da3065b9172d95ea8510507e0e6b545e43a842e2a679a2188188ebae8f4ebb892318abcf548963428 SHA512 d4879729e1240551060a2d0f8458ffc881d851121e86805670bd9a699daffd9f97e14f6a486f7ff8da92ae88d910b5cb1a3a97664fdba9994f9ca5e2f72d20c4
-AUX wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch 903 BLAKE2B c8e78c5697599cdc988d0a30f4b56d739cde5a0312f0cb21d2a38561dc6e39e6304124d34c15d9eed2afca04db2ed40ca8430d6635a422b684eb1b072d4e4bbe SHA512 395728669c1422a6f2891da0650f7d92d4929eaa2ffc0949bc9b6a730195d1ce07972f16816e25bd19576fdedbd4c0af818951d75adf93edd78f2332dbe0aa4e
-AUX wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch 1965 BLAKE2B 8c3e168372d36ee887418fbf6cd490c5047cfbeca989e8482f78a23a85460f5f708476579af84cff0ec8181e4ccea5b210b485fc8558cae6fc4f49dc4bf18d8b SHA512 df9532f437f2c7773961c0dbeb8fab5e40c1c30bc1d74551313961792f9816cf47d38cead0c5528a95a462131aeac994d202ee628db3d1bb7484a491553af054
-AUX wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch 9630 BLAKE2B 5255aa33fd37af8c89db86c9f686d93612f0d84ac6a19a3d30ccf53ef94c8867ab14fa460be7b3976c7e78b98f31cf836b121123041689648629d2a2042a6646 SHA512 96e5d6d197f26ad1e3c9a6c5b56eb6e4e8d9eeca9b60d55ba8d3355aa79954dc9bbf88c57797f8131128631de3037f5b12359b4e86c8468394d6f431db1ec1c9
-DIST wireplumber-0.4.7.tar.gz 358718 BLAKE2B a7e708ccfb9e95b3f3e2ddc5dfc1dc437ac8a2831a7cdaf03f33af65fcce8fc27dd91b2a6f346e60f68873724c2d165616005b485189604863213b5d5565f894 SHA512 8b472e1b3c7a29045326b30989d24224e510f93021c1b5b6aee59859daf594e91a738b8ad9d46d24736b7de29624d9faff40e1061bd3eddc559c95e325bfbf19
-DIST wireplumber-0.4.8.tar.gz 374824 BLAKE2B 7b5c8492d58be8b40c4c98bc807d031c453904a7df51c9b0d96c353c93018ba8cbd699b2c3c885defe7b5360df4256ad5e175015dc0102e5007853f6e0132cb7 SHA512 cb96b1d55be7e9d1433fc4a4fb4accce63f5f318a9a2b5cffc51a9f052765df777a0ba4ac73579771084295a73e6f05ed3a16a5fb9d0f5da4e183cfd74483c2c
+AUX wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch 3610 BLAKE2B d473e299a6c22de630786ea4e8ff739aae2975614c79b6fc195a908b4431cc0eba57cfd688865f5c9fe91adf105b75fd6bbe8c00872b8640a8a7a36caabcb620 SHA512 f9770ec2afd83908d473d28cb8972212f57e7e12a64490417f5c301872e3c4cec644090480e60ad9085bbea8f0fc86c521e90b8853534acfe6959dfd5ed9a832
+AUX wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch 1102 BLAKE2B 2a1e2cbe901e6284002f1393621f26d9c7eebee9eb4edc334dc9712095724a32de9f5a3def5121c28f1690b9ed634c9d3fe843c4ae221567e60f6140fe6b9339 SHA512 25a70e02e403cf155a4aaa6bc63a8f3d4cae712814932a5529366ea4ad2ef31d6c14080294ae4b9a1bab7ad433c26dde71df88123815159206d3f3c76481824a
+DIST wireplumber-0.4.10.tar.gz 395588 BLAKE2B 6df1af17d1e53ab1449a2f6f9af5a0c4f7b1cd981e07556e5ea3c6b4d5d624e66b97ce4f945f7ccccebbf72b75d35d10990fac11b5228275f27e5320885ff1ec SHA512 342e8bba2cf00faab71ef39bb361b5ada66ff3a68ccf7a756ea1ca402da6e94784eece277ca02992bc7573c51cb8b1bad33aa9c593b3d1bfe0bb0286e2f4506f
DIST wireplumber-0.4.9.tar.gz 376170 BLAKE2B 50f552c730ac543fc2e8b0e054c861bcd22ed281a62f2921fb956f39b917cce6eb53287dfcfc81db240476f82f5cf1d7556fa34be8bf507ff847089536b81f44 SHA512 39b9e9be014489042fe480219b99d7591e0b68dd44b889bd5c6aeee73e771adb807bc21f48d031217f097182827bd2f48b68d52291036d52e95d4fa75e7f9929
-EBUILD wireplumber-0.4.7-r2.ebuild 3599 BLAKE2B f26870c8f99bbd77c423a1d3e76a8111a3eb1537bc66da6435263a230d23933a36190f7bdfd974e65eb19c39ac0d1675f505e4b755cfae87c27fe25e82128219 SHA512 2033157b0cfcb61e5644899ab8954a9ec6f01391afe347b5b3850c8ac496f5801983a0ac5d1fd3726b475cb55a7816174df353afa71a9d880e6d2691f414d4bf
-EBUILD wireplumber-0.4.8-r2.ebuild 3768 BLAKE2B 631d7f8587ac270b5753a64c7a0836be51cd14e41a9909ffab651fb5357775a5fa5443a9785a7d26caee9fe3d6e832d8a2d7e74838c6cb5380de776cacbac937 SHA512 aab5a562f4d45cab757dbab197287169f5bcb377b79029aee72f97a7f8c407bfc15c78de8a437c132321e9138080c4c9661444fbeee561a5a54d22eb164bf395
-EBUILD wireplumber-0.4.8-r3.ebuild 3832 BLAKE2B 9ae35b177ad87113e0ebdbbe5c22f3eb5704cb6f917d5a2f26d52c04a02a6a70be1b625948ea010ece704fa90d25d7f591bd726475092694c81e03f3ffbe88b3 SHA512 0317a54de35494bb09ee011ecb15dd5ce062b9a0aeb0dce2078c5e31b2500383fb619e26e921120ebe6477bebae47f9d80b5a6e7d8e3f566003a9a81e9159b53
-EBUILD wireplumber-0.4.9.ebuild 3518 BLAKE2B a66b1eb5e288f1e4a42f1a7897b2f3746e29faa22ebec7fa8d7256acd9df9b2fe44b24c78e6f643334fb92461029f685574a6431bc7689427a52668925b03ea6 SHA512 2c31ef1c9c18b13de9a67a0db7dad15d5968ce883c92b8a8c0a20da973cbac6877fba51949f1e07724a11eddd064057fa9b1f01f7f613d07bb3561a402ecc316
-EBUILD wireplumber-9999.ebuild 3535 BLAKE2B a89bdf648f60895ff4fddace0bdcc0e8f91daf7669fa59790557f3cf10ce2b9dd7aebc59633a823392b25284c9aa26a7b65cce5dfec268cb3e91d5334d899097 SHA512 6aa942b9a399ab1dcac1828b869f833b482d395473d3238064aa8dd16b819dd83c9cd2fdf8311d9c8b6b7b06e5c1db25efef7e59d3f583464e36a5a6761d3615
+EBUILD wireplumber-0.4.10.ebuild 3554 BLAKE2B 5fffbb92a92c479a326e111215ebecfcc675494cb804913eede2252193629fdf09cd11bcaf63bcb0cd7767926b931e3041b6a9eee1a775e9e144525da673c8d1 SHA512 d3e0cb716523df0ff5be7491992b71d7d576d9929dd75434abcf00e81a46e17e2a11a228b897c25b669a0e2df4151b3595f14c2330fabf53935cb4c9e78e387f
+EBUILD wireplumber-0.4.9-r1.ebuild 3689 BLAKE2B fbc08a9345afaabe31c270b60ce69daf78834a165c64aadf0eb6e6ad7ad5a300676107c377ee11f720df9cd11a8ca300cfea902679679ba1a0e67b0fdd043b5c SHA512 738d760ede5bd05047f399987e7266ee0c732e62f5449468c90dab39385e11e37d67d7559d96229467550e380ba30afbbbb72c08e0c733872ef6f961c4169e27
+EBUILD wireplumber-0.4.9.ebuild 3512 BLAKE2B edd21937127291c47bf9d87566172a22cde8a1aeb24eda1be76355abf5c734192c1b18cb62eade6fab59df8cb1cbf590201a77f9e4eee1e806384f7d9b2b10d6 SHA512 9751335866a253c0598653638600dc3b713adc7377d5f453a2286b7ef0d0a75751f32819c3bdb76a91e7d874109c5e9d511c12c882971c7ff716928c42119081
+EBUILD wireplumber-9999.ebuild 3554 BLAKE2B 5fffbb92a92c479a326e111215ebecfcc675494cb804913eede2252193629fdf09cd11bcaf63bcb0cd7767926b931e3041b6a9eee1a775e9e144525da673c8d1 SHA512 d3e0cb716523df0ff5be7491992b71d7d576d9929dd75434abcf00e81a46e17e2a11a228b897c25b669a0e2df4151b3595f14c2330fabf53935cb4c9e78e387f
MISC metadata.xml 803 BLAKE2B d05f76db401a8f71c5c1504d17dd8c0a87686f4b0ab2da450a47f71b1a15eeee2aef17107a3a987af70a097c3004c582fdda4c46e37c89466bfb470d032446dd SHA512 cfa42b1862175344b23fe65fb97d86783ded19352988790aefc6a062da212423dd81d8147525e4256025cdcfc6850909ca61d77d6b4243add0a3339b2eb319ee
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
deleted file mode 100644
index 3451ea73f74b..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.7-default-nodes-handle-nodes-without-Routes.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/issues/163
-
-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/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch b/media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch
deleted file mode 100644
index 364f8df195cf..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.8-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c4c5ca8e2215e5fc295b39af4504c43ed3fe176f
-
-From c4c5ca8e2215e5fc295b39af4504c43ed3fe176f Mon Sep 17 00:00:00 2001
-From: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Date: Mon, 14 Feb 2022 10:38:51 +0200
-Subject: [PATCH] policy-bluetooth: fix string.find crash with nil string
-
-Fixes #193
----
- src/scripts/policy-bluetooth.lua | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/scripts/policy-bluetooth.lua b/src/scripts/policy-bluetooth.lua
-index 24fbffbb..f8f69a14 100644
---- a/src/scripts/policy-bluetooth.lua
-+++ b/src/scripts/policy-bluetooth.lua
-@@ -118,7 +118,7 @@ local function isSwitched(device)
- end
-
- local function isBluez5AudioSink(sink_name)
-- if string.find(sink_name, "bluez_output.") ~= nil then
-+ if sink_name and string.find(sink_name, "bluez_output.") ~= nil then
- return true
- end
- return false
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch b/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch
deleted file mode 100644
index 5f4a838c36a6..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.8-restore-stream-do-not-crash-if-config.properties-is-.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/5f96f69218273573e625475846269b3914cfcecf
-
-From 5f96f69218273573e625475846269b3914cfcecf Mon Sep 17 00:00:00 2001
-From: George Kiagiadakis <george.kiagiadakis@collabora.com>
-Date: Wed, 9 Feb 2022 13:35:13 +0200
-Subject: [PATCH] restore-stream: do not crash if config.properties is nil
-
-Fixes #190
----
- src/scripts/restore-stream.lua | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/scripts/restore-stream.lua b/src/scripts/restore-stream.lua
-index 404eede5..0c17bdd7 100644
---- a/src/scripts/restore-stream.lua
-+++ b/src/scripts/restore-stream.lua
-@@ -10,6 +10,7 @@
-
- -- Receive script arguments from config.lua
- local config = ... or {}
-+config.properties = config.properties or {}
- config_restore_props = config.properties["restore-props"] or false
- config_restore_target = config.properties["restore-target"] or false
-
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch b/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch
deleted file mode 100644
index 93225b02d88b..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.8-si-audio-adapter-relax-format-parsing.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/afbc0ce57aac7aee8dc1651de4620f15c73dbace
-
-From afbc0ce57aac7aee8dc1651de4620f15c73dbace Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 21 Feb 2022 15:21:36 +0100
-Subject: [PATCH] si-audio-adapter: relax format parsing
-
-Some nodes can omit the format/rate/channels to indicate that they can
-deal with all possibilities and adapt to what they are linked to.
-
-See pipewire#876
----
- modules/module-si-audio-adapter.c | 11 ++---------
- 1 file changed, 2 insertions(+), 9 deletions(-)
-
-diff --git a/modules/module-si-audio-adapter.c b/modules/module-si-audio-adapter.c
-index f1f6218..84e393f 100644
---- a/modules/module-si-audio-adapter.c
-+++ b/modules/module-si-audio-adapter.c
-@@ -158,19 +158,12 @@ si_audio_adapter_find_format (WpSiAudioAdapter * self, WpNode * node)
- struct spa_pod *position = NULL;
- wp_spa_pod_fixate (pod);
-
-- /* defaults */
- spa_zero(raw_format);
-- raw_format.format = SPA_AUDIO_FORMAT_F32;
-- raw_format.rate = si_audio_adapter_get_default_clock_rate (self);
-- raw_format.channels = 2;
-- raw_format.position[0] = SPA_AUDIO_CHANNEL_FL;
-- raw_format.position[1] = SPA_AUDIO_CHANNEL_FR;
--
- if (spa_pod_parse_object(wp_spa_pod_get_spa_pod (pod),
- SPA_TYPE_OBJECT_Format, NULL,
-- SPA_FORMAT_AUDIO_format, SPA_POD_Id(&raw_format.format),
-+ SPA_FORMAT_AUDIO_format, SPA_POD_OPT_Id(&raw_format.format),
- SPA_FORMAT_AUDIO_rate, SPA_POD_OPT_Int(&raw_format.rate),
-- SPA_FORMAT_AUDIO_channels, SPA_POD_Int(&raw_format.channels),
-+ SPA_FORMAT_AUDIO_channels, SPA_POD_OPT_Int(&raw_format.channels),
- SPA_FORMAT_AUDIO_position, SPA_POD_OPT_Pod(&position)) < 0)
- continue;
-
---
-2.35.1
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch b/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch
deleted file mode 100644
index b77cfa3c3c6f..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.8-spa-json-fix-va-list-APIs-for-different-architecture.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e429db7e8c266045aee25e153fb2308bd61fe233
-
-From e429db7e8c266045aee25e153fb2308bd61fe233 Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Wed, 9 Feb 2022 07:59:59 -0500
-Subject: [PATCH] spa-json: fix va_list APIs for different architectures
-
-The va_list type might not always be a pointer in some architectures, so we
-cannot guarantee it will be modified after using it for a second time in another
-function. This fixes the issue by using macros so args does not get copied, and
-always gets modified when using it more than once.
----
- lib/wp/spa-json.c | 156 ++++++++++++++++++++++++----------------------
- 1 file changed, 80 insertions(+), 76 deletions(-)
-
-diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c
-index f14f395d..c5e59a3e 100644
---- a/lib/wp/spa-json.c
-+++ b/lib/wp/spa-json.c
-@@ -363,33 +363,33 @@ wp_spa_json_new_string (const gchar *value)
- wp_spa_json_builder_new_formatted ("\"%s\"", value));
- }
-
--static void
--wp_spa_json_builder_add_value (WpSpaJsonBuilder *self, const gchar *fmt,
-- va_list args)
--{
-- switch (*fmt) {
-- case 'n':
-- wp_spa_json_builder_add_null (self);
-- break;
-- case 'b':
-- wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean));
-- break;
-- case 'i':
-- wp_spa_json_builder_add_int (self, va_arg(args, gint));
-- break;
-- case 'f':
-- wp_spa_json_builder_add_float (self, (float)va_arg(args, double));
-- break;
-- case 's':
-- wp_spa_json_builder_add_string (self, va_arg(args, const gchar *));
-- break;
-- case 'J':
-- wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *));
-- break;
-- default:
-- return;
-- }
--}
-+/* Args is not a pointer in some architectures, so this needs to be a macro to
-+ * avoid args being copied */
-+#define wp_spa_json_builder_add_value(self,fmt,args) \
-+do { \
-+ switch (*fmt) { \
-+ case 'n': \
-+ wp_spa_json_builder_add_null (self); \
-+ break; \
-+ case 'b': \
-+ wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); \
-+ break; \
-+ case 'i': \
-+ wp_spa_json_builder_add_int (self, va_arg(args, gint)); \
-+ break; \
-+ case 'f': \
-+ wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); \
-+ break; \
-+ case 's': \
-+ wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); \
-+ break; \
-+ case 'J': \
-+ wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); \
-+ break; \
-+ default: \
-+ break; \
-+ } \
-+} while(false)
-
- /*!
- * \brief Creates a spa json of type array
-@@ -724,48 +724,46 @@ wp_spa_json_parse_object_valist (WpSpaJson *self, va_list args)
- return res;
- }
-
--static gboolean
--wp_spa_json_parse_value (const gchar *data, int len, const gchar *fmt,
-- va_list args)
--{
-- switch (*fmt) {
-- case 'n':
-- if (!spa_json_is_null (data, len))
-- return FALSE;
-- break;
-- case 'b':
-- if (!wp_spa_json_parse_boolean_internal (data, len,
-- va_arg(args, gboolean *)))
-- return FALSE;
-- break;
-- case 'i':
-- if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0)
-- return FALSE;
-- break;
-- case 'f':
-- if (spa_json_parse_float (data, len,
-- (float *)va_arg(args, double *)) < 0)
-- return FALSE;
-- break;
-- case 's': {
-- gchar *str = wp_spa_json_parse_string_internal (data, len);
-- if (!str)
-- return FALSE;
-- *va_arg(args, gchar **) = str;
-- break;
-- }
-- case 'J': {
-- WpSpaJson *j = wp_spa_json_new (data, len);
-- if (!j)
-- return FALSE;
-- *va_arg(args, WpSpaJson **) = j;
-- break;
-- }
-- default:
-- return FALSE;
-- }
-- return TRUE;
--}
-+/* Args is not a pointer in some architectures, so this needs to be a macro to
-+ * avoid args being copied */
-+#define wp_spa_json_parse_value(data,len,fmt,args) \
-+do { \
-+ switch (*fmt) { \
-+ case 'n': \
-+ if (!spa_json_is_null (data, len)) \
-+ return FALSE; \
-+ break; \
-+ case 'b': \
-+ if (!wp_spa_json_parse_boolean_internal (data, len, \
-+ va_arg(args, gboolean *))) \
-+ return FALSE; \
-+ break; \
-+ case 'i': \
-+ if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) \
-+ return FALSE; \
-+ break; \
-+ case 'f': \
-+ if (spa_json_parse_float (data, len, va_arg(args, float *)) < 0) \
-+ return FALSE; \
-+ break; \
-+ case 's': { \
-+ gchar *str = wp_spa_json_parse_string_internal (data, len); \
-+ if (!str) \
-+ return FALSE; \
-+ *va_arg(args, gchar **) = str; \
-+ break; \
-+ } \
-+ case 'J': { \
-+ WpSpaJson *j = wp_spa_json_new (data, len); \
-+ if (!j) \
-+ return FALSE; \
-+ *va_arg(args, WpSpaJson **) = j; \
-+ break; \
-+ } \
-+ default: \
-+ return FALSE; \
-+ } \
-+} while(false)
-
- /*!
- * \brief Parses the object property values of a spa json object
-@@ -827,8 +825,7 @@ wp_spa_json_object_get_valist (WpSpaJson *self, va_list args)
- value = g_value_get_boxed (&item);
-
- if (g_strcmp0 (key_str, lookup_key) == 0) {
-- if (!wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args))
-- return FALSE;
-+ wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args);
- lookup_key = va_arg(args, const gchar *);
- if (!lookup_key)
- return TRUE;
-@@ -1366,9 +1363,12 @@ gboolean
- wp_spa_json_parser_get_value (WpSpaJsonParser *self, const gchar *fmt,
- va_list args)
- {
-- return wp_spa_json_parser_advance (self) &&
-- wp_spa_json_parse_value (self->curr.cur,
-- self->curr.end - self->curr.cur, fmt, args);
-+ if (wp_spa_json_parser_advance (self)) {
-+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur,
-+ fmt, args);
-+ return TRUE;
-+ }
-+ return FALSE;
- }
-
- /*!
-@@ -1419,9 +1419,13 @@ wp_spa_json_parser_get_valist (WpSpaJsonParser *self, va_list args)
- if (!format)
- return TRUE;
-
-- /* parse value */
-- if (!wp_spa_json_parser_get_value (self, format, args))
-+ /* advance */
-+ if (!wp_spa_json_parser_advance (self))
- return FALSE;
-+
-+ /* parse value */
-+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur,
-+ format, args);
- } while (TRUE);
-
- return FALSE;
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch b/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch
new file mode 100644
index 000000000000..9e664ec56564
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.9-config-document-which-options-need-to-be-turned-off-.patch
@@ -0,0 +1,87 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/0da29f38181e391160fa8702623050b8544ec775
+
+From 0da29f38181e391160fa8702623050b8544ec775 Mon Sep 17 00:00:00 2001
+From: George Kiagiadakis <george.kiagiadakis@collabora.com>
+Date: Mon, 4 Apr 2022 14:38:28 +0300
+Subject: [PATCH] config: document which options need to be turned off to use
+ wp without D-Bus
+
+and actually implement an option for the logind module
+
+Related to: #237
+---
+ src/config/bluetooth.lua.d/30-bluez-monitor.lua | 4 +++-
+ src/config/bluetooth.lua.d/50-bluez-config.lua | 8 ++++++++
+ src/config/main.lua.d/50-alsa-config.lua | 4 +++-
+ src/config/main.lua.d/50-default-access-config.lua | 3 +++
+ 4 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/src/config/bluetooth.lua.d/30-bluez-monitor.lua b/src/config/bluetooth.lua.d/30-bluez-monitor.lua
+index 266d3e2f..ba86657f 100644
+--- a/src/config/bluetooth.lua.d/30-bluez-monitor.lua
++++ b/src/config/bluetooth.lua.d/30-bluez-monitor.lua
+@@ -8,5 +8,7 @@ function bluez_monitor.enable()
+ rules = bluez_monitor.rules,
+ })
+
+- load_optional_module("logind")
++ if bluez_monitor.properties["with-logind"] then
++ load_optional_module("logind")
++ end
+ end
+diff --git a/src/config/bluetooth.lua.d/50-bluez-config.lua b/src/config/bluetooth.lua.d/50-bluez-config.lua
+index 072504ec..dd8033ff 100644
+--- a/src/config/bluetooth.lua.d/50-bluez-config.lua
++++ b/src/config/bluetooth.lua.d/50-bluez-config.lua
+@@ -34,6 +34,14 @@ bluez_monitor.properties = {
+ -- Register dummy AVRCP player, required for AVRCP volume function.
+ -- Disable if you are running mpris-proxy or equivalent.
+ --["bluez5.dummy-avrcp-player"] = true,
++
++ -- Enable the logind module, which arbitrates which user will be allowed
++ -- to have bluetooth audio enabled at any given time (particularly useful
++ -- if you are using GDM as a display manager, as the gdm user also launches
++ -- pipewire and wireplumber).
++ -- This requires access to the D-Bus user session; disable if you are running
++ -- a system-wide instance of wireplumber.
++ ["with-logind"] = true,
+ }
+
+ bluez_monitor.rules = {
+diff --git a/src/config/main.lua.d/50-alsa-config.lua b/src/config/main.lua.d/50-alsa-config.lua
+index 6c97e8ad..d29b0b6f 100644
+--- a/src/config/main.lua.d/50-alsa-config.lua
++++ b/src/config/main.lua.d/50-alsa-config.lua
+@@ -7,6 +7,8 @@ alsa_monitor.properties = {
+ --["alsa.jack-device"] = false,
+
+ -- Reserve devices via org.freedesktop.ReserveDevice1 on D-Bus
++ -- Disable if you are running a system-wide instance, which
++ -- doesn't have access to the D-Bus user session
+ ["alsa.reserve"] = true,
+ --["alsa.reserve.priority"] = -20,
+ --["alsa.reserve.application-name"] = "WirePlumber",
+@@ -20,7 +22,7 @@ alsa_monitor.properties = {
+
+ alsa_monitor.rules = {
+ -- An array of matches/actions to evaluate.
+- --
++ --
+ -- If you want to disable some devices or nodes, you can apply properties per device as the following example.
+ -- The name can be found by running pw-cli ls Device, or pw-cli dump Device
+ --{
+diff --git a/src/config/main.lua.d/50-default-access-config.lua b/src/config/main.lua.d/50-default-access-config.lua
+index 6cf18bed..45cc5b73 100644
+--- a/src/config/main.lua.d/50-default-access-config.lua
++++ b/src/config/main.lua.d/50-default-access-config.lua
+@@ -1,4 +1,7 @@
+ default_access.properties = {
++ -- Enable the use of the flatpak portal integration.
++ -- Disable if you are running a system-wide instance, which
++ -- doesn't have access to the D-Bus user session
+ ["enable-flatpak-portal"] = true,
+ }
+
+--
+GitLab
+
diff --git a/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch b/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch
new file mode 100644
index 000000000000..4dc8e276fbfa
--- /dev/null
+++ b/media-video/wireplumber/files/wireplumber-0.4.9-scripts-policy-device-profile-clear-tables-when-devi.patch
@@ -0,0 +1,33 @@
+https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/da5d25acbea5ae03336bd2b4ef2b0687b380978e
+
+From da5d25acbea5ae03336bd2b4ef2b0687b380978e Mon Sep 17 00:00:00 2001
+From: Pauli Virtanen <pav@iki.fi>
+Date: Mon, 28 Mar 2022 20:16:52 +0300
+Subject: [PATCH] scripts: policy-device-profile: clear tables when devices
+ removed
+
+When device ids are invalidated, clear all local tables about them,
+because the id may be reused by different object, or the same object
+reappearing.
+---
+ src/scripts/policy-device-profile.lua | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/scripts/policy-device-profile.lua b/src/scripts/policy-device-profile.lua
+index d0aa2696..9daeafaa 100644
+--- a/src/scripts/policy-device-profile.lua
++++ b/src/scripts/policy-device-profile.lua
+@@ -229,4 +229,10 @@ self.om:connect("object-added", function (_, device)
+ handleProfiles (device, true)
+ end)
+
++self.om:connect("object-removed", function (_, device)
++ local dev_id = device["bound-id"]
++ self.active_profiles[dev_id] = nil
++ self.best_profiles[dev_id] = nil
++end)
++
+ self.om:activate()
+--
+GitLab
+
diff --git a/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild b/media-video/wireplumber/wireplumber-0.4.10.ebuild
index 03a62724a829..9bae3695faf2 100644
--- a/media-video/wireplumber/wireplumber-0.4.7-r2.ebuild
+++ b/media-video/wireplumber/wireplumber-0.4.10.ebuild
@@ -36,13 +36,15 @@ BDEPEND="
dev-libs/glib
dev-util/gdbus-codegen
dev-util/glib-utils
+ sys-devel/gettext
"
DEPEND="
${LUA_DEPS}
>=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.43:=
+ >=media-video/pipewire-0.3.48:=
virtual/libc
+ virtual/libintl
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
"
@@ -60,10 +62,6 @@ 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?)
diff --git a/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild b/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild
deleted file mode 100644
index 5bd6d87c04e8..000000000000
--- a/media-video/wireplumber/wireplumber-0.4.8-r3.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson systemd
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://gitlab.freedesktop.org/pipewire/${PN}.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-fi
-
-DESCRIPTION="Replacement for pipewire-media-session"
-HOMEPAGE="https://gitlab.freedesktop.org/pipewire/wireplumber"
-
-LICENSE="MIT"
-SLOT="0/0.4"
-IUSE="elogind system-service systemd test"
-
-REQUIRED_USE="
- ${LUA_REQUIRED_USE}
- ?? ( elogind systemd )
- system-service? ( systemd )
-"
-
-RESTRICT="!test? ( test )"
-
-# introspection? ( dev-libs/gobject-introspection ) is valid but likely only used for doc building
-BDEPEND="
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/glib-utils
-"
-
-DEPEND="
- ${LUA_DEPS}
- >=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.45:=
- virtual/libc
- elogind? ( sys-auth/elogind )
- systemd? ( sys-apps/systemd )
-"
-
-# Any dev-lua/* deps get declared like this inside RDEPEND:
-# $(lua_gen_cond_dep '
-# dev-lua/<NAME>[${LUA_USEDEP}]
-# ')
-RDEPEND="${DEPEND}
- system-service? (
- acct-user/pipewire
- acct-group/pipewire
- )
-"
-
-DOCS=( {NEWS,README}.rst )
-
-PATCHES=(
- "${FILESDIR}"/${P}-restore-stream-do-not-crash-if-config.properties-is-.patch
- "${FILESDIR}"/${P}-spa-json-fix-va-list-APIs-for-different-architecture.patch
- "${FILESDIR}"/${P}-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch
- "${FILESDIR}"/${P}-si-audio-adapter-relax-format-parsing.patch
-)
-
-src_configure() {
- local emesonargs=(
- -Ddoc=disabled # Ebuild not wired up yet (Sphinx, Doxygen?)
- -Dintrospection=disabled # Only used for Sphinx doc generation
- -Dsystem-lua=true # We always unbundle everything we can
- -Dsystem-lua-version=$(ver_cut 1-2 $(lua_get_version))
- $(meson_feature elogind)
- $(meson_feature systemd)
- $(meson_use system-service systemd-system-service)
- $(meson_use systemd systemd-user-service)
- -Dsystemd-system-unit-dir=$(systemd_get_systemunitdir)
- -Dsystemd-user-unit-dir=$(systemd_get_userunitdir)
- $(meson_use test tests)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # We copy the default config, so that Gentoo tools can pick up on any
- # updates and /etc does not end up with stale overrides.
- # If a reflinking CoW filesystem is used (e.g. Btrfs), then the files
- # will not actually get stored twice until modified.
- insinto /etc
- doins -r ${ED}/usr/share/wireplumber
-}
-
-pkg_postinst() {
- if systemd_is_booted ; then
- ewarn "pipewire-media-session.service is no longer installed. You must switch"
- ewarn "to wireplumber.service user unit before your next logout/reboot:"
- ewarn "systemctl --user disable pipewire-media-session.service"
- ewarn "systemctl --user --force enable wireplumber.service"
- else
- ewarn "Switch to WirePlumber will happen the next time gentoo-pipewire-launcher"
- ewarn "is started (a replacement for directly calling pipewire binary)."
- ewarn
- ewarn "Please ensure that ${EROOT}/etc/pipewire/pipewire.conf either does not exist"
- ewarn "or, if it does exist, that any reference to"
- ewarn "${EROOT}/usr/bin/pipewire-media-session is commented out (begins with a #)."
- fi
- if use system-service; then
- ewarn
- ewarn "WARNING: you have enabled the system-service USE flag, which installs"
- ewarn "the system-wide systemd units that enable WirePlumber to run as a system"
- ewarn "service. This is more than likely NOT what you want. You are strongly"
- ewarn "advised not to enable this mode and instead stick with systemd user"
- ewarn "units. The default configuration files will likely not work out of"
- ewarn "box, and you are on your own with configuration."
- ewarn
- fi
-}
diff --git a/media-video/wireplumber/wireplumber-0.4.8-r2.ebuild b/media-video/wireplumber/wireplumber-0.4.9-r1.ebuild
index 5e77689f2572..f269c7faf59c 100644
--- a/media-video/wireplumber/wireplumber-0.4.8-r2.ebuild
+++ b/media-video/wireplumber/wireplumber-0.4.9-r1.ebuild
@@ -41,7 +41,7 @@ BDEPEND="
DEPEND="
${LUA_DEPS}
>=dev-libs/glib-2.62
- >=media-video/pipewire-0.3.45:=
+ >=media-video/pipewire-0.3.48:=
virtual/libc
elogind? ( sys-auth/elogind )
systemd? ( sys-apps/systemd )
@@ -61,9 +61,8 @@ RDEPEND="${DEPEND}
DOCS=( {NEWS,README}.rst )
PATCHES=(
- "${FILESDIR}"/${P}-restore-stream-do-not-crash-if-config.properties-is-.patch
- "${FILESDIR}"/${P}-spa-json-fix-va-list-APIs-for-different-architecture.patch
- "${FILESDIR}"/${P}-policy-bluetooth-fix-string.find-crash-with-nil-stri.patch
+ "${FILESDIR}"/${P}-scripts-policy-device-profile-clear-tables-when-devi.patch
+ "${FILESDIR}"/${P}-config-document-which-options-need-to-be-turned-off-.patch
)
src_configure() {
diff --git a/media-video/wireplumber/wireplumber-0.4.9.ebuild b/media-video/wireplumber/wireplumber-0.4.9.ebuild
index 6d3a6544520e..4f4c698eaf54 100644
--- a/media-video/wireplumber/wireplumber-0.4.9.ebuild
+++ b/media-video/wireplumber/wireplumber-0.4.9.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == 9999 ]]; then
inherit git-r3
else
SRC_URI="https://gitlab.freedesktop.org/pipewire/${PN}/-/archive/${PV}/${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="Replacement for pipewire-media-session"
diff --git a/media-video/wireplumber/wireplumber-9999.ebuild b/media-video/wireplumber/wireplumber-9999.ebuild
index f3ed9ecc7ff4..9bae3695faf2 100644
--- a/media-video/wireplumber/wireplumber-9999.ebuild
+++ b/media-video/wireplumber/wireplumber-9999.ebuild
@@ -36,6 +36,7 @@ BDEPEND="
dev-libs/glib
dev-util/gdbus-codegen
dev-util/glib-utils
+ sys-devel/gettext
"
DEPEND="