From c38e110e74e4a72acf6bd30d02763d5a8d52cdb067ad92b0420f00e84f616b32 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa Date: Tue, 23 Apr 2024 06:53:50 +0000 Subject: [PATCH] Accepting request 1169814 from home:alarrosa:branches:multimedia:libs - Update to version 0.5.2: * Highlights: - Added support for loading configuration files other than the default wireplumber.conf within Lua scripts (!629) - Added support for loading single-section configuration files, without fragments (!629) - Updated the node.software-dsp script to be able to load filter-chain graphs from external configuration files, which is needed for Asahi Linux audio DSP configuration (!629) * Fixes: - Fixed destroying camera nodes when the camera device is removed (#627, !631) - Fixed an issue with Bluetooth BAP device set naming (!632) - Fixed an issue caused by the pipewire event loop not being "entered" as expected (!634, #638) - A false positive warning about no modules being loaded is now suppressed when using libpipewire >= 1.0.5 (#620) - Default nodes can now be selected using priority.driver when priority.session is not set (#642) * Changes: - The library version is now generated following pipewire's versioning scheme: libwireplumber-0.5.so.0.5.2 becomes libwireplumber-0.5.so.0.0502.0 (!633) - Remove patches from upstream that are already in 0.5.2: * 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 OBS-URL: https://build.opensuse.org/request/show/1169814 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=77 --- ...es.allow-empty-to-silence-warning-in.patch | 28 ----------- ...-clear-cam-data-after-creating-nodes.patch | 47 ------------------- ...bluez-fix-BAP-device-set-node-naming.patch | 47 ------------------- _service | 2 +- wireplumber-0.5.1.obscpio | 3 -- wireplumber-0.5.2.obscpio | 3 ++ wireplumber.changes | 31 ++++++++++++ wireplumber.obsinfo | 6 +-- wireplumber.spec | 5 +- 9 files changed, 39 insertions(+), 133 deletions(-) delete mode 100644 0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch delete mode 100644 0002-monitor-utils-clear-cam-data-after-creating-nodes.patch delete mode 100644 0003-monitors_bluez-fix-BAP-device-set-node-naming.patch delete mode 100644 wireplumber-0.5.1.obscpio create mode 100644 wireplumber-0.5.2.obscpio diff --git a/0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch b/0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch deleted file mode 100644 index 4f3cc8c..0000000 --- a/0001-core-set-context.modules.allow-empty-to-silence-warning-in.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 7856124df0ebd28e259ce5b84b186cc4c859acd7 Mon Sep 17 00:00:00 2001 -From: George Kiagiadakis -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 - diff --git a/0002-monitor-utils-clear-cam-data-after-creating-nodes.patch b/0002-monitor-utils-clear-cam-data-after-creating-nodes.patch deleted file mode 100644 index b6e389d..0000000 --- a/0002-monitor-utils-clear-cam-data-after-creating-nodes.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 8ee351838dac5ac25224ca2a22bb1a55eace0291 Mon Sep 17 00:00:00 2001 -From: George Kiagiadakis -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 - diff --git a/0003-monitors_bluez-fix-BAP-device-set-node-naming.patch b/0003-monitors_bluez-fix-BAP-device-set-node-naming.patch deleted file mode 100644 index 57ecf07..0000000 --- a/0003-monitors_bluez-fix-BAP-device-set-node-naming.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 9d7c6b85d0d2f8e26298cbaf072491662a9d2702 Mon Sep 17 00:00:00 2001 -From: Pauli Virtanen -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 - diff --git a/_service b/_service index 44242f2..40ef4d1 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://gitlab.freedesktop.org/pipewire/wireplumber.git - 0.5.1 + 0.5.2 @PARENT_TAG@