Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wireplumber for openSUSE:Factory checked in at 2022-11-16 15:42:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wireplumber (Old) and /work/SRC/openSUSE:Factory/.wireplumber.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireplumber" Wed Nov 16 15:42:18 2022 rev:19 rq:1035774 version:0.4.12 Changes: -------- --- /work/SRC/openSUSE:Factory/wireplumber/wireplumber.changes 2022-10-11 18:04:04.057941045 +0200 +++ /work/SRC/openSUSE:Factory/.wireplumber.new.1597/wireplumber.changes 2022-11-16 15:42:21.403592705 +0100 @@ -1,0 +2,11 @@ +Tue Nov 15 08:21:15 UTC 2022 - Antonio Larrosa <alarr...@suse.com> + +- Add patch from upstream to work around a problem when a link is + not activated: + * 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch + +- Add patch from upstream to fix handling null devices which result + in lua exceptions: + * 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch + +------------------------------------------------------------------- New: ---- 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wireplumber.spec ++++++ --- /var/tmp/diff_new_pack.sR2Ele/_old 2022-11-16 15:42:21.927595409 +0100 +++ /var/tmp/diff_new_pack.sR2Ele/_new 2022-11-16 15:42:21.931595429 +0100 @@ -32,6 +32,10 @@ Source1: split-config-file.py # PATCH-FIX-OPENSUSE reduce-meson-required-version.patch Patch0: reduce-meson-required-version.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch +# PATCH-FIX-UPSTREAM +Patch2: 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch # docs BuildRequires: doxygen BuildRequires: graphviz @@ -140,6 +144,8 @@ %if 0%{?sle_version} <= 150300 %patch0 -p1 %endif +%patch1 -p1 +%patch2 -p1 pushd src/config/main.lua.d python3 %{SOURCE1} ++++++ 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch ++++++ >From e77ad8c0c024529deb4de5ebd69009a0cec11a78 Mon Sep 17 00:00:00 2001 From: Ashok Sidipotu <ashok.sidip...@collabora.com> Date: Tue, 8 Nov 2022 04:20:21 +0530 Subject: [PATCH] alsa.lua: remove the disabled entities from the names table entities here are the device cards and the device nodes. sometimes null device objects are reported by monitor, this results in lua exceptions handle this use case. Fixes #361 --- src/scripts/monitors/alsa.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/scripts/monitors/alsa.lua b/src/scripts/monitors/alsa.lua index 660c47c0..195c0916 100644 --- a/src/scripts/monitors/alsa.lua +++ b/src/scripts/monitors/alsa.lua @@ -175,6 +175,7 @@ function createNode(parent, id, obj_type, factory, properties) -- apply properties from config.rules rulesApplyProperties(properties) if properties["node.disabled"] then + node_names_table [properties ["node.name"]] = nil return end @@ -190,6 +191,10 @@ function createDevice(parent, id, factory, properties) device:connect("create-object", createNode) device:connect("object-removed", function (parent, id) local node = parent:get_managed_object(id) + if not node then + return + end + node_names_table[node.properties["node.name"]] = nil end) device:activate(Feature.SpaDevice.ENABLED | Feature.Proxy.BOUND) @@ -269,6 +274,7 @@ function prepareDevice(parent, id, obj_type, factory, properties) -- apply properties from config.rules rulesApplyProperties(properties) if properties["device.disabled"] then + device_names_table [properties ["device.name"]] = nil return end @@ -346,6 +352,10 @@ function createMonitor () -- handle object-removed to destroy device reservations and recycle device name m:connect("object-removed", function (parent, id) local device = parent:get_managed_object(id) + if not device then + return + end + if rd_plugin then local rd_name = device.properties["api.dbus.ReserveDevice1"] if rd_name then -- GitLab ++++++ 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch ++++++ >From f79a330849ebf320c42d03c123f48fec6b9ad3a8 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen <p...@iki.fi> Date: Thu, 3 Nov 2022 19:22:20 +0200 Subject: [PATCH] scripts: policy-node: wait for unactivated links instead of removing If a link is not activated, don't remove it. Instead, schedule a rescan when a link activates, so that we'll handle it once it does. This is a workaround for some problems, see https://github.com/Audio4Linux/JDSP4Linux/issues/74 However, the underlying cause is not understood. --- src/scripts/policy-node.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua index 43df701c..a25d0a5e 100644 --- a/src/scripts/policy-node.lua +++ b/src/scripts/policy-node.lua @@ -123,6 +123,7 @@ function createLink (si, si_target, passthrough, exclusive) end Log.info (l, "activated si-standard-link") end + scheduleRescan() end) end @@ -696,9 +697,11 @@ function handleLinkable (si) if link ~= nil then -- remove old link if ((link:get_active_features() & Feature.SessionItem.ACTIVE) == 0) then - -- remove also not yet activated links: they might never become active, - -- and we should not loop waiting for them - Log.warning (link, "Link was not activated before removing") + -- Link not yet activated. We don't want to remove it now, as that + -- may cause problems. Instead, give up for now. A rescan is scheduled + -- once the link activates. + Log.info (link, "Link to be moved was not activated, will wait for it.") + return end si_flags[si_id].peer_id = nil link:remove () -- GitLab