diff --git a/0001-policy-node-Remove-direction-check.patch b/0001-policy-node-Remove-direction-check.patch deleted file mode 100644 index f4f809a..0000000 --- a/0001-policy-node-Remove-direction-check.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 756c5222d698f143142b69318d5af22a377df0a0 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Mon, 15 Nov 2021 11:51:11 +0100 -Subject: [PATCH 1/3] policy-node: Remove direction check - -Remove the direction check in findDefinedTarget. We already to a -better direction check in canLink(). - -This fixes the case where a capture stream has the node.target set -to a sink. The directions don't match and the capture stream is not -linked to the monitor ports of the sink. Removing the check triggers -the right logic in canLink() and obs studio can link to monitor -ports again. ---- - src/scripts/policy-node.lua | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua -index b2e1e14..5029d1b 100644 ---- a/src/scripts/policy-node.lua -+++ b/src/scripts/policy-node.lua -@@ -237,7 +237,6 @@ function findDefinedTarget (properties) - local target_id = metadata - and metadata:find(properties["node.id"], "target.node") - or properties["node.target"] -- local target_direction = getTargetDirection(properties) - - if target_id and tonumber(target_id) then - local si_target = linkables_om:lookup { -@@ -253,7 +252,6 @@ function findDefinedTarget (properties) - local target_props = si_target.properties - if (target_props["node.name"] == target_id or - target_props["object.path"] == target_id) and -- target_props["item.node.direction"] == target_direction and - canLink (properties, si_target) then - return si_target - end --- -2.31.1 - diff --git a/0002-m-reserve-device-replace-the-hash-table-key-on-new-i.patch b/0002-m-reserve-device-replace-the-hash-table-key-on-new-i.patch deleted file mode 100644 index bc5ca26..0000000 --- a/0002-m-reserve-device-replace-the-hash-table-key-on-new-i.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 3795906f33dbd4af4c2d2603788a18cf9a24cbe1 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer -Date: Fri, 12 Nov 2021 11:19:54 +1000 -Subject: [PATCH 2/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.31.1 - diff --git a/0003-policy-node-wait-for-nodes-when-we-become-unlinked.patch b/0003-policy-node-wait-for-nodes-when-we-become-unlinked.patch deleted file mode 100644 index c29a735..0000000 --- a/0003-policy-node-wait-for-nodes-when-we-become-unlinked.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7b56ba347d44507ff510e88b6e0a984c37524de6 Mon Sep 17 00:00:00 2001 -From: Wim Taymans -Date: Thu, 18 Nov 2021 15:23:23 +0100 -Subject: [PATCH 3/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.31.1 - diff --git a/sources b/sources index 1aa09cb..276b1bc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (wireplumber-0.4.5.tar.bz2) = edff16bf257f1898c58b6375de6f72ae1583dcd35dfb5b3f62cc10b43a038611aeecee8e145ea8c7ed964e9242979974dcd52bfb38125e04d058c76fedc42063 +SHA512 (wireplumber-0.4.6.tar.bz2) = ae7df1e2aaeff77584ecfbf60f0ae59068bd38f6d075c6db5e6b4ed3722d78ba1ce48e6f61c297952512c33e1cecff60dd9a6a9858bde1da7123b24a3afa4682 diff --git a/wireplumber.spec b/wireplumber.spec index 29014b0..133730d 100644 --- a/wireplumber.spec +++ b/wireplumber.spec @@ -1,6 +1,6 @@ Name: wireplumber -Version: 0.4.5 -Release: 3%{?dist} +Version: 0.4.6 +Release: 1%{?dist} Summary: A modular session/policy manager for PipeWire License: MIT @@ -8,9 +8,6 @@ URL: https://pipewire.pages.freedesktop.org/wireplumber/ Source0: https://gitlab.freedesktop.org/pipewire/%{name}/-/archive/%{version}/%{name}-%{version}.tar.bz2 ## upstream patches -Patch0001: 0001-policy-node-Remove-direction-check.patch -Patch0002: 0002-m-reserve-device-replace-the-hash-table-key-on-new-i.patch -Patch0003: 0003-policy-node-wait-for-nodes-when-we-become-unlinked.patch ## upstreamable patches @@ -118,6 +115,9 @@ fi %{_datadir}/gir-1.0/Wp-0.4.gir %changelog +* Fri Jan 07 2022 Wim Taymans - 0.4.6-1 +- wireplumber 0.4.6 + * Fri Nov 19 2021 Wim Taymans - 0.4.5-3 - Add some upstream patches for OBS audio output capture and device switching.