Accepting request 1168471 from multimedia:libs
OBS-URL: https://build.opensuse.org/request/show/1168471 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=34
This commit is contained in:
commit
1d2386cd73
@ -0,0 +1,28 @@
|
||||
From 7856124df0ebd28e259ce5b84b186cc4c859acd7 Mon Sep 17 00:00:00 2001
|
||||
From: George Kiagiadakis <george.kiagiadakis@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
|
||||
|
47
0002-monitor-utils-clear-cam-data-after-creating-nodes.patch
Normal file
47
0002-monitor-utils-clear-cam-data-after-creating-nodes.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 8ee351838dac5ac25224ca2a22bb1a55eace0291 Mon Sep 17 00:00:00 2001
|
||||
From: George Kiagiadakis <george.kiagiadakis@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
|
||||
|
47
0003-monitors_bluez-fix-BAP-device-set-node-naming.patch
Normal file
47
0003-monitors_bluez-fix-BAP-device-set-node-naming.patch
Normal file
@ -0,0 +1,47 @@
|
||||
From 9d7c6b85d0d2f8e26298cbaf072491662a9d2702 Mon Sep 17 00:00:00 2001
|
||||
From: Pauli Virtanen <pav@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
|
||||
|
@ -1,3 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 15 07:54:54 UTC 2024 - Antonio Larrosa <alarrosa@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
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 1 07:53:59 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
|
@ -30,6 +30,9 @@ Group: Development/Libraries/C and C++
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user