Accepting request 1042703 from home:XRevan86

- Update to version 0.4.12.

OBS-URL: https://build.opensuse.org/request/show/1042703
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=53
This commit is contained in:
Antonio Larrosa 2022-12-13 16:30:12 +00:00 committed by Git OBS Bridge
parent d503c29728
commit 1c72ffab36
9 changed files with 61 additions and 130 deletions

View File

@ -1,60 +0,0 @@
From e77ad8c0c024529deb4de5ebd69009a0cec11a78 Mon Sep 17 00:00:00 2001
From: Ashok Sidipotu <ashok.sidipotu@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

View File

@ -1,46 +0,0 @@
From f79a330849ebf320c42d03c123f48fec6b9ad3a8 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@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

View File

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

View File

@ -4,20 +4,20 @@ Subject: Reduce the minimum required meson version
With this, we can build wireplumber in SLE 15 SP3/Leap 15.3
which only have meson 0.54
Index: wireplumber-0.4.12/meson.build
Index: wireplumber-0.4.13/meson.build
===================================================================
--- wireplumber-0.4.12.orig/meson.build
+++ wireplumber-0.4.12/meson.build
--- wireplumber-0.4.13.orig/meson.build
+++ wireplumber-0.4.13/meson.build
@@ -1,7 +1,7 @@
project('wireplumber', ['c'],
version : '0.4.12',
version : '0.4.13',
license : 'MIT',
- meson_version : '>= 0.59.0',
+ meson_version : '>= 0.54.0',
default_options : [
'warning_level=1',
'buildtype=debugoptimized',
@@ -42,7 +42,17 @@ spa_dep = dependency('libspa-0.2', versi
@@ -52,7 +52,17 @@ spa_dep = dependency('libspa-0.2', versi
pipewire_dep = dependency('libpipewire-0.3', version: '>= 0.3.52')
mathlib = cc.find_library('m')
threads_dep = dependency('threads')
@ -34,9 +34,9 @@ Index: wireplumber-0.4.12/meson.build
+ endif
+endif
system_lua = get_option('system-lua')
if system_lua
@@ -129,8 +139,13 @@ if get_option('tests')
if build_modules
system_lua = get_option('system-lua')
@@ -145,8 +155,13 @@ if get_option('tests')
subdir('tests')
endif
@ -52,7 +52,7 @@ Index: wireplumber-0.4.12/meson.build
conf_uninstalled = configuration_data()
conf_uninstalled.set('MESON', '')
@@ -150,10 +165,12 @@ wireplumber_uninstalled = custom_target(
@@ -166,10 +181,12 @@ wireplumber_uninstalled = custom_target(
command : ['cp', '@INPUT@', '@OUTPUT@'],
)

View File

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

View File

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

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Tue Dec 13 14:43:46 UTC 2022 - Alexei Sorokin <sor.alexei@meowr.ru>
- Update to version 0.4.12:
* Additions
- Add bluetooth SCO (HSP/HFP) hardware offload support,
together with an example script that enables this
functionality on the PinePhone.
- Encoded audio (mp3, aac, etc...) can now be passed through,
if this mode is supported by both the application and the
device.
- The v4l2 monitor now also respects the ``node.disabled`` and
``device.disabled`` properties inside rules.
- Add "Firefox Developer Edition" to the list of applications
that are allowed to trigger a bluetooth profile auto-switch.
- Add support in the portal access script to allow newly
plugged cameras to be immediately visible to the portal
applications.
* Fixes
- Work around an issue that would prevent streams from properly
linking when using effects software like EasyEffects and
JamesDSP.
- Fix destroying pavucontrol-qt monitor streams after the node
that was being monitored is destroyed.
- Fix a crash in the alsa.lua monitor that could happen when a
disabled device was removed and re-added.
- Fix a rare crash in the metadata object.
- Fix a bug where a restored node target would override the
node target set by the application on the node's properties.
* Packaging
- Add build options to compile wireplumber's library, daemon
and tools independently.
- Add a build option to disable unit tests that require the
dbus daemon.
- Stop using fakesink/fakesrc in the unit tests to be able to
run them on default pipewire installations. Compiling the spa
``test`` plugin is no longer necessary.
- Add pkg-config and header information in the gir file.
- Rebase reduce-meson-required-version.patch
- Drop patches already upstream:
* 0001-alsa.lua-remove-the-disabled-entities-from-the-names-table.patch
* 0001-policy-node-wait-for-unactivated-links-instead-of-removing.patch
-------------------------------------------------------------------
Tue Nov 15 08:21:15 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: wireplumber
version: 0.4.12
mtime: 1664889909
commit: 6f6e5df9c1b223907efa8dcbfcd538821d0dabc4
version: 0.4.13
mtime: 1670924354
commit: 7cb1b8b92e96ebd1b7e632cda32715fed713d333

View File

@ -22,7 +22,7 @@
%define sover 0
%define libwireplumber libwireplumber-%{apiver_str}-%{sover}
Name: wireplumber
Version: 0.4.12
Version: 0.4.13
Release: 0
Summary: Session / policy manager implementation for PipeWire
License: MIT
@ -32,10 +32,6 @@ Source0: wireplumber-%{version}.tar.xz
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
@ -141,11 +137,9 @@ the wireplumber shared library.
%prep
%autosetup -N
%if 0%{?sle_version} <= 150300
%if 0%{?suse_version} <= 1500 && 0%{?sle_version} <= 150300
%patch0 -p1
%endif
%patch1 -p1
%patch2 -p1
pushd src/config/main.lua.d
python3 %{SOURCE1}