SHA256
1
0
forked from pool/wireplumber

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
This commit is contained in:
Antonio Larrosa 2024-04-23 06:53:50 +00:00 committed by Git OBS Bridge
parent 0e3be88b55
commit c38e110e74
9 changed files with 39 additions and 133 deletions

View File

@ -1,28 +0,0 @@
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

View File

@ -1,47 +0,0 @@
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

View File

@ -1,47 +0,0 @@
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

View File

@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual"> <service name="obs_scm" mode="manual">
<param name="scm">git</param> <param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param> <param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
<param name="revision">0.5.1</param> <param name="revision">0.5.2</param>
<param name="versionformat">@PARENT_TAG@</param> <param name="versionformat">@PARENT_TAG@</param>
<!-- <!--
<param name="revision">master</param> <param name="revision">master</param>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26a3dd3d23c1fddd9265a7b04e8b559424b2ceda2bb3970abab21e3cd5eb615b
size 2998796

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:01ae9012335a2d7250c35b7963b86a441e6f1a4753098abe2c805ceb7ae79031
size 3006476

View File

@ -1,3 +1,34 @@
-------------------------------------------------------------------
Tue Apr 23 06:48:06 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- 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
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Apr 15 07:54:54 UTC 2024 - Antonio Larrosa <alarrosa@suse.com> Mon Apr 15 07:54:54 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: wireplumber name: wireplumber
version: 0.5.1 version: 0.5.2
mtime: 1711810238 mtime: 1713795587
commit: 961450b2ac700e8c9c85a0beb2426b875fa08bff commit: b302ebd6ab66fd538191d22db4ebe02bcef87a91

View File

@ -22,7 +22,7 @@
%define sover 0 %define sover 0
%define libwireplumber libwireplumber-%{apiver_str}-%{sover} %define libwireplumber libwireplumber-%{apiver_str}-%{sover}
Name: wireplumber Name: wireplumber
Version: 0.5.1 Version: 0.5.2
Release: 0 Release: 0
Summary: Session / policy manager implementation for PipeWire Summary: Session / policy manager implementation for PipeWire
License: MIT License: MIT
@ -30,9 +30,6 @@ Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/pipewire/wireplumber URL: https://gitlab.freedesktop.org/pipewire/wireplumber
Source0: wireplumber-%{version}.tar.xz Source0: wireplumber-%{version}.tar.xz
Source1: split-config-file.py 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 # docs
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: graphviz BuildRequires: graphviz