Accepting request 1163928 from multimedia:libs

OBS-URL: https://build.opensuse.org/request/show/1163928
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wireplumber?expand=0&rev=33
This commit is contained in:
Ana Guerrero 2024-04-02 14:38:10 +00:00 committed by Git OBS Bridge
commit cf73a84e3a
7 changed files with 65 additions and 73 deletions

View File

@ -1,61 +0,0 @@
From 428462ddf3f812a1da63d0b499e105c6391abbf4 Mon Sep 17 00:00:00 2001
From: Pauli Virtanen <pav@iki.fi>
Date: Thu, 21 Mar 2024 20:02:02 +0200
Subject: [PATCH] filter-utils: fix handling of targetless smart filters
A smart filter should be considered "targetless" (i.e. interpose on
streams going to default target) only if filter.smart.target is not set.
Currently any smart filter with specified target not found is considered
such, which is wrong. This causes misbehavior, such as all recording
streams going to the bluetooth dummy source.
Fix this by doing it correctly.
---
src/scripts/lib/filter-utils.lua | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/scripts/lib/filter-utils.lua b/src/scripts/lib/filter-utils.lua
index c3671242..804c3ea1 100644
--- a/src/scripts/lib/filter-utils.lua
+++ b/src/scripts/lib/filter-utils.lua
@@ -157,6 +157,19 @@ local function getFilterSmartTarget (metadata, node, om)
return target
end
+local function getFilterSmartTargetless (metadata, node)
+ local id = node["bound-id"]
+ local value_str = nil
+ if metadata ~= nil then
+ value_str = metadata:find (id, "filter.smart.target")
+ end
+ if value_str == nil then
+ value_str = node.properties ["filter.smart.target"]
+ end
+
+ return value_str == nil
+end
+
local function getFilterSmartBefore (metadata, node)
-- Check metadata and fallback to properties
local id = node["bound-id"]
@@ -312,6 +325,7 @@ local function rescanFilters (om, metadata_om)
filter.disabled = getFilterSmartDisabled (metadata, n)
filter.targetable = getFilterSmartTargetable (metadata, n)
filter.target = getFilterSmartTarget (metadata, n, om)
+ filter.targetless = getFilterSmartTargetless (metadata, n)
filter.before = getFilterSmartBefore (metadata, n)
filter.after = getFilterSmartAfter (metadata, n)
@@ -471,7 +485,7 @@ function module.get_filter_from_target (direction, si_target)
not v.disabled and
v.smart and
((v.target ~= nil and target ~= nil and v.target.id == target.id) or
- (target == nil and v.target == nil)) then
+ (target == nil and v.targetless)) then
return v.main_si
end
end
--
GitLab

View File

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

View File

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

View File

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

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Mon Apr 1 07:53:59 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.5.1:
* Highlights:
- Added a guide documenting how to migrate configuration from
0.4 to 0.5, also available online at:
https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
If you are packaging WirePlumber for a distribution, please
consider informing users about this. Installing the
wireplumber-doc subpackage, this file can be read by running:
xdg-open /usr/share/doc/wireplumber/html/daemon/configuration/migration.html
* Fixes:
- Fixed an odd issue where microphones would stop being usable
when a Bluetooth headset was connected in the HSP/HFP profile
(#598, !620)
- Fixed an issue where it was not possible to store the
volume/mute state of system notifications (#604)
- Fixed a rare crash that could occur when a node was destroyed
while the 'select-target' event was still being processed
(!621)
- Fixed deleting all the persistent settings via
wpctl --delete (!622)
- Fixed using Bluetooth autoswitch with A2DP profiles that have
an input route (!624)
- Fixed sending an error to clients when linking fails due to a
format mismatch (!625)
* Additions:
- Added a check that prints a verbose warning when old-style
0.4.x Lua configuration files are found in the system. (#611)
- The "policy-dsp" script, used in Asahi Linux to provide a
software DSP for Apple Sillicon devices, has now been ported
to 0.5 properly and documented (#619, !627)
- Remove patch already included upstream:
* 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch
- Enable documentation generation and create new doc subpackage
including the documentation that can be read by running:
xdg-open /usr/share/doc/wireplumber/html/index.html
-------------------------------------------------------------------
Fri Mar 22 08:30:48 UTC 2024 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: wireplumber
version: 0.5.0
mtime: 1710777092
commit: 59d190a2bd400f3b093f99b16fc0fb06f6cb2cfe
version: 0.5.1
mtime: 1711810238
commit: 961450b2ac700e8c9c85a0beb2426b875fa08bff

View File

@ -22,7 +22,7 @@
%define sover 0
%define libwireplumber libwireplumber-%{apiver_str}-%{sover}
Name: wireplumber
Version: 0.5.0
Version: 0.5.1
Release: 0
Summary: Session / policy manager implementation for PipeWire
License: MIT
@ -30,8 +30,6 @@ Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/pipewire/wireplumber
Source0: wireplumber-%{version}.tar.xz
Source1: split-config-file.py
# PATCH-FIX-UPSTREAM 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch alarrosa@suse.com -- Fix any mic only working when bluetooth is set to HSF/HFP profile
Patch0: 0001-filter-utils-fix-handling-of-targetless-smart-filters.patch
# docs
BuildRequires: doxygen
BuildRequires: graphviz
@ -55,6 +53,9 @@ BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_minimum_version}
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(lua)
BuildRequires: pkgconfig(systemd)
BuildRequires: python3-Sphinx
BuildRequires: python3-sphinx_rtd_theme
BuildRequires: python3-breathe
#!BuildIgnore: pipewire-session-manager
# Setup ALSA devices if PipeWire handles PulseAudio or JACK connections.
Requires: (%{name}-audio if (pipewire-pulseaudio or pipewire-jack))
@ -77,8 +78,17 @@ external tools for managing PipeWire.
%lang_package
%package doc
Summary: Wireplumber Session / policy manager documentation
Group: Development/Libraries/C and C++
BuildArch: noarch
%description doc
This package contains documentation for the WirePlumber
session/policy manager for PipeWire.
%package audio
Summary: Session / policy manager implementation for PipeWire (audio support)
Summary: Enable audio support in PipeWire / WirePlumber
Group: Development/Libraries/C and C++
Requires: %{libwireplumber} = %{version}
Requires: %{name} = %{version}
@ -156,7 +166,7 @@ popd
export CC=gcc-9
export CXX=g++-9
%endif
%meson -Ddoc=disabled \
%meson -Ddoc=enabled \
-Dsystem-lua=true \
-Delogind=disabled
%meson_build
@ -253,6 +263,10 @@ fi
%{_libdir}/pkgconfig/wireplumber-%{apiver}.pc
%{_datadir}/gir-1.0/Wp-%{apiver}.gir
%files doc
%{_datadir}/doc/wireplumber/html/
%exclude %{_datadir}/doc/wireplumber/examples
%files -n typelib-1_0-Wp-%{apiver_str}
%{_libdir}/girepository-1.0/Wp-%{apiver}.typelib