summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>2022-02-11 21:54:31 +0200
committerSam James <sam@gentoo.org>2022-02-12 05:16:52 +0000
commit5e618b3296b6dc8cd626ae8f3ce176276c48679e (patch)
tree1098baab445878d0512432e69cabce45ec1c960b /media-video/wireplumber/files
parentmedia-video/wireplumber: backport a fix and enable config protection (diff)
downloadgentoo-5e618b3296b6dc8cd626ae8f3ce176276c48679e.tar.gz
gentoo-5e618b3296b6dc8cd626ae8f3ce176276c48679e.tar.bz2
gentoo-5e618b3296b6dc8cd626ae8f3ce176276c48679e.zip
media-video/wireplumber: clean up versions too old for stabilization
WirePlumber 0.4.5-0.4.6 are both quite old and missing features, compared to pipewire-media-session, and are therefore very unlikely to be stabilized. If you're still using one of them, please let us know what issue prevents you from using a newer version. Bug: https://bugs.gentoo.org/827546 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/wireplumber/files')
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-access-config-add-restricted-access-permissions.patch36
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-alsa-handle-the-release-requested-signal.patch33
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-default-routes.lua-reevaluate-current-profile-only-f.patch81
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-lib-don-t-read-hidden-files-from-the-config-director.patch27
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-m-reserve-device-replace-the-hash-table-key-on-new-i.patch47
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch34
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.6-policy-node-find-best-linkable-if-default-one-cannot.patch48
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.6-policy-node-fix-typo-when-finding-best-target.patch27
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.6-policy-node-schedule-a-rescan-without-timeout-if-def.patch50
-rw-r--r--media-video/wireplumber/files/wireplumber-0.4.6-spa-pod-fix-different-architecture-errors-for-boolea.patch40
10 files changed, 0 insertions, 423 deletions
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-access-config-add-restricted-access-permissions.patch b/media-video/wireplumber/files/wireplumber-0.4.5-access-config-add-restricted-access-permissions.patch
deleted file mode 100644
index 213283131e0b..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-access-config-add-restricted-access-permissions.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/703c35cfd44265e81595db29eed081c8785cda87
-
-From 703c35cfd44265e81595db29eed081c8785cda87 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 29 Nov 2021 09:25:18 +0100
-Subject: [PATCH] access-config: add restricted access permissions
-
-When a pulse client connects with TCP, it is given the 'restricted'
-access policy. Assign 'rx' permissions for those clients instead of
-blocking forever.
-
-See pipewire#1863
----
- src/config/main.lua.d/50-default-access-config.lua | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-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 0282d4aa..6cf18bed 100644
---- a/src/config/main.lua.d/50-default-access-config.lua
-+++ b/src/config/main.lua.d/50-default-access-config.lua
-@@ -20,4 +20,12 @@ default_access.rules = {
- },
- default_permissions = "rx",
- },
-+ {
-+ matches = {
-+ {
-+ { "pipewire.access", "=", "restricted" },
-+ },
-+ },
-+ default_permissions = "rx",
-+ },
- }
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-alsa-handle-the-release-requested-signal.patch b/media-video/wireplumber/files/wireplumber-0.4.5-alsa-handle-the-release-requested-signal.patch
deleted file mode 100644
index 511dc6df377e..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-alsa-handle-the-release-requested-signal.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From efd24584182903bf5ee4660a3b3360cc47ad895b Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Tue, 23 Nov 2021 13:17:29 +0100
-Subject: [PATCH] alsa: handle the release-requested signal
-
-Handle the release-requested signal by destroying the device and
-then calling release.
-
-Fixes pipewire/pipewire#1846
----
- src/scripts/monitors/alsa.lua | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua
-index 68c39d8..be4648e 100644
---- a/src/scripts/monitors/alsa.lua
-+++ b/src/scripts/monitors/alsa.lua
-@@ -287,6 +287,12 @@ function prepareDevice(parent, id, type, factory, properties)
- end
- end)
-
-+ rd:connect("release-requested", function (rd)
-+ Log.info("release requested")
-+ parent:store_managed_object(id, nil)
-+ rd:call("release")
-+ end)
-+
- if jack_device then
- rd:connect("notify::owner-name-changed", function (rd, pspec)
- if rd["state"] == "busy" and
---
-2.34.1
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-default-routes.lua-reevaluate-current-profile-only-f.patch b/media-video/wireplumber/files/wireplumber-0.4.5-default-routes.lua-reevaluate-current-profile-only-f.patch
deleted file mode 100644
index 423a1fcb6139..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-default-routes.lua-reevaluate-current-profile-only-f.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/22fd4292ab35786b09561508778ab49cc6488dc6
-
-From 22fd4292ab35786b09561508778ab49cc6488dc6 Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Tue, 7 Dec 2021 14:10:32 -0500
-Subject: [PATCH] default-routes.lua: reevaluate current profile only for its
- own routes
-
-Only check the current active profile when some routes changed that are part of
-the profile. If some other route changed, just ignore it.
----
- src/scripts/default-routes.lua | 39 +++++++++++++++++++---------------
- 1 file changed, 22 insertions(+), 17 deletions(-)
-
-diff --git a/src/scripts/default-routes.lua b/src/scripts/default-routes.lua
-index 1840989f..953cba33 100644
---- a/src/scripts/default-routes.lua
-+++ b/src/scripts/default-routes.lua
-@@ -352,6 +352,12 @@ function handleDevice(device)
- local dev_info = dev_infos[device["bound-id"]]
- local new_route_infos = {}
- local avail_routes_changed = false
-+ local profile = nil
-+
-+ -- get current profile
-+ for p in device:iterate_params("Profile") do
-+ profile = parseParam(p, "Profile")
-+ end
-
- -- look at all the routes and update/reset cached information
- for p in device:iterate_params("EnumRoute") do
-@@ -370,7 +376,9 @@ function handleDevice(device)
- Log.info(device, "route " .. route.name .. " available changed " ..
- route_info.available .. " -> " .. route.available)
- route_info.available = route.available
-- avail_routes_changed = true
-+ if profile and arrayContains(route.profiles, profile.index) then
-+ avail_routes_changed = true
-+ end
- end
- route_info.prev_active = route_info.active
- route_info.active = false
-@@ -419,23 +427,20 @@ function handleDevice(device)
- ::skip_route::
- end
-
-- -- now get the profile and restore routes for it
-- for p in device:iterate_params("Profile") do
-- local profile = parseParam(p, "Profile")
-- if profile then
-- local profile_changed = (dev_info.active_profile ~= profile.index)
--
-- -- if the profile changed, restore routes for that profile
-- -- if any of the routes of the current profile changed in availability,
-- -- then try to select a new "best" route for each device and ignore
-- -- what was stored
-- if profile_changed or avail_routes_changed then
-- dev_info.active_profile = profile.index
-- restoreProfileRoutes(device, dev_info, profile, profile_changed)
-- end
--
-- saveProfile(dev_info, profile.name)
-+ -- restore routes for profile
-+ if profile then
-+ local profile_changed = (dev_info.active_profile ~= profile.index)
-+
-+ -- if the profile changed, restore routes for that profile
-+ -- if any of the routes of the current profile changed in availability,
-+ -- then try to select a new "best" route for each device and ignore
-+ -- what was stored
-+ if profile_changed or avail_routes_changed then
-+ dev_info.active_profile = profile.index
-+ restoreProfileRoutes(device, dev_info, profile, profile_changed)
- end
-+
-+ saveProfile(dev_info, profile.name)
- end
- end
-
---
-GitLab
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-lib-don-t-read-hidden-files-from-the-config-director.patch b/media-video/wireplumber/files/wireplumber-0.4.5-lib-don-t-read-hidden-files-from-the-config-director.patch
deleted file mode 100644
index 1554c65e27da..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-lib-don-t-read-hidden-files-from-the-config-director.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From ee5f3f2f195b01fd89ee148da5799b02f99ebb6e Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Sun, 14 Nov 2021 19:44:30 +1000
-Subject: [PATCH 3/3] lib: don't read hidden files from the config directory
-
-Fixes #104
----
- lib/wp/wp.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/lib/wp/wp.c b/lib/wp/wp.c
-index ffdff1a..c356133 100644
---- a/lib/wp/wp.c
-+++ b/lib/wp/wp.c
-@@ -315,6 +315,9 @@ wp_new_files_iterator (WpLookupDirs dirs, const gchar *subdir,
- if (dir) {
- const gchar *filename;
- while ((filename = g_dir_read_name (dir))) {
-+ if (filename[0] == '.')
-+ continue;
-+
- if (suffix && !g_str_has_suffix (filename, suffix))
- continue;
-
---
-2.34.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-m-reserve-device-replace-the-hash-table-key-on-new-i.patch b/media-video/wireplumber/files/wireplumber-0.4.5-m-reserve-device-replace-the-hash-table-key-on-new-i.patch
deleted file mode 100644
index 70d69093d082..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-m-reserve-device-replace-the-hash-table-key-on-new-i.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From f4546a18e871537be698916178b40091a4a0b377 Mon Sep 17 00:00:00 2001
-From: Peter Hutterer <peter.hutterer@who-t.net>
-Date: Fri, 12 Nov 2021 11:19:54 +1000
-Subject: [PATCH 3/3] m-reserve-device: replace the hash table key on new
- insert
-
-We're using the WpReserveDevice's name as key in the hash table, so we
-must update the key as well when we replace an item in the hashtable -
-the old device (and its name) will be released.
-
-The side-effect of this is that the *third* device with an identical
-name will no longer replace the previous device. This results in the
-following sequence:
-
-- dev1 added: name Audio0
- - dev1 requests name owner Audio0
-- dev2 added: name Audio0
- - replace dev1 in the hashtable
- - dev1 emits "release" signal
- - dev1 unowns the Audio0 name
- - dev2 requests name owner Audio0
-- dev3 added: name Audio0
- - adds to the hashtable because the existing key is now undefined
- - dev3 requests name owner Audio0
- - error, you cannot request ownership for the same name twice
-
-Fixes #93
----
- modules/module-reserve-device/plugin.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/module-reserve-device/plugin.c b/modules/module-reserve-device/plugin.c
-index d8e4e09..68df6ee 100644
---- a/modules/module-reserve-device/plugin.c
-+++ b/modules/module-reserve-device/plugin.c
-@@ -221,7 +221,7 @@ wp_reserve_device_plugin_create_reservation (WpReserveDevicePlugin *self,
- NULL);
-
- /* use rd->name to avoid copying @em name again */
-- g_hash_table_insert (self->reserve_devices, rd->name, rd);
-+ g_hash_table_replace (self->reserve_devices, rd->name, rd);
-
- return g_object_ref (rd);
- }
---
-2.34.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch b/media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch
deleted file mode 100644
index 0ce16a647697..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 83041b0ce277c95afaf1824f525ea0bec516f03f Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 18 Nov 2021 15:23:23 +0100
-Subject: [PATCH 2/3] policy-node: wait for nodes when we become unlinked
-
-If we were linked before but our node is removed, wait until a new node
-becomes available instead of failing.
-
-This fixes an issue where there is only 1 sink available and the card
-profile is toggeled between pro and stereo. After the profile is
-toggled, the sink is removed and the node would be killed with an error
-because there is no fallback sink. The fix is similar to the
-pipewire-media-session logic.
----
- src/scripts/policy-node.lua | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
-index 5029d1b..445b1a7 100644
---- a/src/scripts/policy-node.lua
-+++ b/src/scripts/policy-node.lua
-@@ -493,6 +493,9 @@ function handleLinkable (si)
- if not reconnect then
- Log.info (si, "... destroy node")
- node:request_destroy()
-+ elseif si_flags[si.id].was_handled then
-+ Log.info (si, "... waiting reconnect")
-+ return
- end
-
- local client_id = node.properties["client.id"]
---
-2.34.0
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-find-best-linkable-if-default-one-cannot.patch b/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-find-best-linkable-if-default-one-cannot.patch
deleted file mode 100644
index 0cedea4ac6be..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-find-best-linkable-if-default-one-cannot.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/bee9827ae376b75feceea926b0afc727fecca51b
-
-From bee9827ae376b75feceea926b0afc727fecca51b Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Fri, 7 Jan 2022 15:35:10 -0500
-Subject: [PATCH] policy-node: find best linkable if default one cannot be
- linked
-
-Fixes issue with echo cancellation pipewire module.
----
- src/scripts/policy-node.lua | 19 ++++++++++++++-----
- 1 file changed, 14 insertions(+), 5 deletions(-)
-
-diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
-index c273c1fe..9df50072 100644
---- a/src/scripts/policy-node.lua
-+++ b/src/scripts/policy-node.lua
-@@ -477,13 +477,22 @@ function findBestLinkable (si)
- end
-
- function findUndefinedTarget (si)
-- -- Find the default linkable if the default nodes module is loaded, otherwise
-- -- just find the best linkable based on priority and routes
-- if default_nodes ~= nil then
-- return findDefaultlinkable (si)
-- else
-+ -- Just find the best linkable if default nodes module is not loaded
-+ if default_nodes == nil then
- return findBestLinkable (si)
- end
-+
-+ -- Otherwise find the default linkable. If the default linkabke cannot link,
-+ -- we find the best one instead. We return nil if default does not exist.
-+ local si_target, can_passthrough = findDefaultlinkable (si)
-+ if si_target then
-+ if canLink (si.properties, si_target) then
-+ return si_target, can_passthrough
-+ else
-+ return findBestLinkable (si)
-+ end
-+ end
-+ return nil, nil
- end
-
- function lookupLink (si_id, si_target_id)
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-fix-typo-when-finding-best-target.patch b/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-fix-typo-when-finding-best-target.patch
deleted file mode 100644
index f18920c475a8..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-fix-typo-when-finding-best-target.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/23fc4d21a9cfad492f8d3a367e438115197dff4a
-
-From 23fc4d21a9cfad492f8d3a367e438115197dff4a Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Fri, 7 Jan 2022 10:12:04 -0500
-Subject: [PATCH] policy-node: fix typo when finding best target
-
----
- src/scripts/policy-node.lua | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
-index 0d716c1c..8ca5a695 100644
---- a/src/scripts/policy-node.lua
-+++ b/src/scripts/policy-node.lua
-@@ -482,7 +482,7 @@ function findUndefinedTarget (si)
- if default_nodes ~= nil then
- return findDefaultlinkable (si)
- else
-- return findBestlinkable (si)
-+ return findBestLinkable (si)
- end
- end
-
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-schedule-a-rescan-without-timeout-if-def.patch b/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-schedule-a-rescan-without-timeout-if-def.patch
deleted file mode 100644
index 28b5a5ea22a4..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.6-policy-node-schedule-a-rescan-without-timeout-if-def.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/afe71d7e48c28b0ae5cbd9327433e3c55c103fcb
-
-From afe71d7e48c28b0ae5cbd9327433e3c55c103fcb Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Thu, 6 Jan 2022 10:53:38 -0500
-Subject: [PATCH] policy-node: schedule a rescan without timeout if defined
- target is not found
-
-Fixes #146
----
- src/scripts/policy-node.lua | 17 ++++-------------
- 1 file changed, 4 insertions(+), 13 deletions(-)
-
-diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
-index 8ca5a695..c273c1fe 100644
---- a/src/scripts/policy-node.lua
-+++ b/src/scripts/policy-node.lua
-@@ -552,25 +552,16 @@ function handleLinkable (si)
- si_target = nil
- end
-
-- -- wait up to 2 seconds for the requested target to become available
-- -- this is because the client may have already "seen" a target that we haven't
-- -- yet prepared, which leads to a race condition
-+ -- if the client has seen a target that we haven't yet prepared, schedule
-+ -- a rescan one more time and hope for the best
- local si_id = si.id
- if si_props["node.target"] and si_props["node.target"] ~= "-1"
- and not si_target
- and not si_flags[si_id].was_handled
- and not si_flags[si_id].done_waiting then
-- if not si_flags[si_id].timeout_source then
-- si_flags[si_id].timeout_source = Core.timeout_add(2000, function()
-- if si_flags[si_id] then
-- si_flags[si_id].done_waiting = true
-- si_flags[si_id].timeout_source = nil
-- scheduleRescan()
-- end
-- return false
-- end)
-- end
- Log.info (si, "... waiting for target")
-+ si_flags[si_id].done_waiting = true
-+ scheduleRescan()
- return
- end
-
---
-GitLab
-
diff --git a/media-video/wireplumber/files/wireplumber-0.4.6-spa-pod-fix-different-architecture-errors-for-boolea.patch b/media-video/wireplumber/files/wireplumber-0.4.6-spa-pod-fix-different-architecture-errors-for-boolea.patch
deleted file mode 100644
index b11a2f6f70f6..000000000000
--- a/media-video/wireplumber/files/wireplumber-0.4.6-spa-pod-fix-different-architecture-errors-for-boolea.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://gitlab.freedesktop.org/julian/wireplumber/-/commit/5afd176698aee835c8812eb7944ba12da53ffeab
-
-From 5afd176698aee835c8812eb7944ba12da53ffeab Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Mon, 13 Dec 2021 12:01:52 -0500
-Subject: [PATCH] spa-pod: fix different architecture errors for boolean values
-
----
- lib/wp/spa-pod.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/lib/wp/spa-pod.c b/lib/wp/spa-pod.c
-index c1c22572..bd7b8876 100644
---- a/lib/wp/spa-pod.c
-+++ b/lib/wp/spa-pod.c
-@@ -2332,6 +2332,10 @@ wp_spa_pod_builder_add_valist (WpSpaPodBuilder *self, va_list args)
- }
- break;
- }
-+ case 'b':
-+ spa_pod_builder_bool(&self->builder,
-+ va_arg(args, gboolean) ? true : false);
-+ break;
- default:
- SPA_POD_BUILDER_COLLECT(&self->builder, *format, args);
- break;
-@@ -2778,6 +2782,10 @@ wp_spa_pod_parser_get_valist (WpSpaPodParser *self, va_list args)
- }
- break;
- }
-+ case 'b':
-+ *va_arg(args, gboolean*) =
-+ SPA_POD_VALUE(struct spa_pod_bool, pod) ? TRUE : FALSE;
-+ break;
- default:
- SPA_POD_PARSER_COLLECT (pod, *format, args);
- break;
---
-GitLab
-