diff options
author | Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com> | 2022-02-11 21:54:31 +0200 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-12 05:16:52 +0000 |
commit | 5e618b3296b6dc8cd626ae8f3ce176276c48679e (patch) | |
tree | 1098baab445878d0512432e69cabce45ec1c960b /media-video/wireplumber/files | |
parent | media-video/wireplumber: backport a fix and enable config protection (diff) | |
download | gentoo-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')
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 - |