diff options
Diffstat (limited to 'media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch')
-rw-r--r-- | media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch | 34 |
1 files changed, 34 insertions, 0 deletions
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 new file mode 100644 index 000000000000..0ce16a647697 --- /dev/null +++ b/media-video/wireplumber/files/wireplumber-0.4.5-policy-node-wait-for-nodes-when-we-become-unlinked.patch @@ -0,0 +1,34 @@ +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 + |