Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package wireplumber for openSUSE:Factory checked in at 2024-04-18 22:10:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wireplumber (Old) and /work/SRC/openSUSE:Factory/.wireplumber.new.26366 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireplumber" Thu Apr 18 22:10:39 2024 rev:34 rq:1168471 version:0.5.1 Changes: -------- --- /work/SRC/openSUSE:Factory/wireplumber/wireplumber.changes 2024-04-02 16:38:31.416632396 +0200 +++ /work/SRC/openSUSE:Factory/.wireplumber.new.26366/wireplumber.changes 2024-04-18 22:11:21.506730234 +0200 @@ -1,0 +2,11 @@ +Mon Apr 15 07:54:54 UTC 2024 - Antonio Larrosa <alarr...@suse.com> + +- Add patch from upstream to silence a warning on pipewire + (since 1.0.5): + * 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch +- Add patch from upstream to fix a dangling reference to a device: + * 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch +- Add patch from upstream to fix BAP node naming: + * 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch + +------------------------------------------------------------------- New: ---- 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch BETA DEBUG BEGIN: New: (since 1.0.5): * 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch - Add patch from upstream to fix a dangling reference to a device: New:- Add patch from upstream to fix a dangling reference to a device: * 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch - Add patch from upstream to fix BAP node naming: New:- Add patch from upstream to fix BAP node naming: * 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wireplumber.spec ++++++ --- /var/tmp/diff_new_pack.ritfeW/_old 2024-04-18 22:11:22.130753166 +0200 +++ /var/tmp/diff_new_pack.ritfeW/_new 2024-04-18 22:11:22.134753313 +0200 @@ -30,6 +30,9 @@ URL: https://gitlab.freedesktop.org/pipewire/wireplumber Source0: wireplumber-%{version}.tar.xz Source1: split-config-file.py +Patch0: 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch +Patch1: 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch +Patch2: 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch # docs BuildRequires: doxygen BuildRequires: graphviz ++++++ 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch ++++++ >From 7856124df0ebd28e259ce5b84b186cc4c859acd7 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis <george.kiagiada...@collabora.com> Date: Wed, 3 Apr 2024 11:52:18 +0300 Subject: [PATCH] core: set context.modules.allow-empty to silence warning in pw_context See https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/cddea858d9e8894d777b1830d76db18e57791e29 Closes: #620 --- lib/wp/core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/wp/core.c b/lib/wp/core.c index 9de0e69b..7e59447a 100644 --- a/lib/wp/core.c +++ b/lib/wp/core.c @@ -330,6 +330,7 @@ wp_core_constructed (GObject *object) /* disable loading of a configuration file in pw_context */ wp_properties_set (self->properties, PW_KEY_CONFIG_NAME, "null"); + wp_properties_set (self->properties, "context.modules.allow-empty", "true"); } /* properties are fully stored in the pw_context, no need to keep a copy */ -- GitLab ++++++ 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch ++++++ >From 8ee351838dac5ac25224ca2a22bb1a55eace0291 Mon Sep 17 00:00:00 2001 From: George Kiagiadakis <george.kiagiada...@collabora.com> Date: Wed, 3 Apr 2024 11:32:35 +0300 Subject: [PATCH] monitor-utils: clear cam data after creating nodes The cam_data structure stores a reference to the "parent" WpSpaDevice and doesn't allow it to be destroyed when the monitor detects that the device is no longer present. Clear it right after pushing the event to make sure there's no dangling reference left around Fixes: #627 --- src/scripts/lib/monitor-utils.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/scripts/lib/monitor-utils.lua b/src/scripts/lib/monitor-utils.lua index 5c58cd68..c23ec1cd 100644 --- a/src/scripts/lib/monitor-utils.lua +++ b/src/scripts/lib/monitor-utils.lua @@ -40,6 +40,15 @@ function mutils.get_cam_data (self, dev_string) return self.cam_data[dev_num], dev_num end +function mutils.clear_cam_data (self, dev_string) + local dev_num = tonumber (dev_string) + if not dev_num then + return + end + + self.cam_data[dev_num] = nil +end + function mutils.create_cam_node (self, dev_num) local api = nil local cam_data = self:get_cam_data (dev_num) @@ -65,6 +74,8 @@ function mutils.create_cam_node (self, dev_num) e:set_data ("node-sub-id", cam_data[api].id) EventDispatcher.push_event (e) + + self:clear_cam_data (dev_num) end -- arbitrates between v4l2 and libcamera on who gets to create the device node -- GitLab ++++++ 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch ++++++ >From 9d7c6b85d0d2f8e26298cbaf072491662a9d2702 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen <p...@iki.fi> Date: Sat, 6 Apr 2024 21:59:16 +0300 Subject: [PATCH] monitors/bluez: fix BAP device set node naming It is intended that its name is the actual device node name. Fix this, as it was broken in some recent changes. --- src/scripts/monitors/bluez.lua | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/scripts/monitors/bluez.lua b/src/scripts/monitors/bluez.lua index 336cd619..c3c00c60 100644 --- a/src/scripts/monitors/bluez.lua +++ b/src/scripts/monitors/bluez.lua @@ -171,7 +171,6 @@ end) function createSetNode(parent, id, type, factory, properties) local args = {} - local name local target_class local stream_class local rules = {} @@ -181,12 +180,10 @@ function createSetNode(parent, id, type, factory, properties) local channels = channels_json:parse () if properties["media.class"] == "Audio/Sink" then - name = "bluez_output_internal" args["combine.mode"] = "sink" target_class = "Audio/Sink/Internal" stream_class = "Stream/Output/Audio/Internal" else - name = "bluez_input_internal" args["combine.mode"] = "source" target_class = "Audio/Source/Internal" stream_class = "Stream/Input/Audio/Internal" @@ -214,7 +211,6 @@ function createSetNode(parent, id, type, factory, properties) ) end - properties["node.name"] = name properties["node.virtual"] = false properties["device.api"] = "bluez5" properties["api.bluez5.set.members"] = nil -- GitLab