wireplumber/0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch
Antonio Larrosa a6e37ec93c Accepting request 966060 from home:alarrosa:branches:multimedia:libs
- Add patch from upstream to fix no sound on reconnection of
  bluetooth device (glfo#pipewire/wireplumber#234):
  * 0001-scripts-policy-device-profile-clear-tables-when-devices-removed.patch

OBS-URL: https://build.opensuse.org/request/show/966060
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=40
2022-03-30 16:19:47 +00:00

32 lines
999 B
Diff

From 82856f8643402d56b62d62b0eea4debfae1cd16e 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