SHA256
1
0
forked from pool/wireplumber

Accepting request 946064 from home:alarrosa:branches:multimedia:libs

- Update to version 0.4.7:
  * Fixed a regression in 0.4.6 that caused the selection of the
    default audio sources and sinks to be delayed until some event,
    which effectively caused losing audio output in many
    circumstances (glfo#pipewire/wireplumber#148,
    glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151,
    glfo#pipewire/wireplumber#153)
  * Fixed a regression in 0.4.6 that caused the echo-cancellation
    pipewire module (and possibly others) to not work
  * A default sink or source is now not selected if there is no
    available route for it (glfo#pipewire/wireplumber#145)
  * Fixed an issue where some clients would wait for a bit while
    seeking (glfo#pipewire/wireplumber#146)
  * Fixed audio capture in the endpoints-based policy
  * Fixed an issue that would cause certain lua scripts to error
    out with older configuration files
    (glfo#pipewire/wireplumber#158)
- Drop patches already included upstream:
  * 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
  * 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch

OBS-URL: https://build.opensuse.org/request/show/946064
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/wireplumber?expand=0&rev=19
This commit is contained in:
Antonio Larrosa 2022-01-13 10:01:56 +00:00 committed by Git OBS Bridge
parent 74b9876921
commit 1a9557b2d4
9 changed files with 33 additions and 102 deletions

View File

@ -1,46 +0,0 @@
From afe71d7e48c28b0ae5cbd9327433e3c55c103fcb Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Thu, 6 Jan 2022 10:53:38 -0500
Subject: [PATCH] policy-node: schedule a rescan without timeout if defined
target is not found
Fixes #146
---
src/scripts/policy-node.lua | 17 ++++-------------
1 file changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
index 8ca5a695..c273c1fe 100644
--- a/src/scripts/policy-node.lua
+++ b/src/scripts/policy-node.lua
@@ -552,25 +552,16 @@ function handleLinkable (si)
si_target = nil
end
- -- wait up to 2 seconds for the requested target to become available
- -- this is because the client may have already "seen" a target that we haven't
- -- yet prepared, which leads to a race condition
+ -- if the client has seen a target that we haven't yet prepared, schedule
+ -- a rescan one more time and hope for the best
local si_id = si.id
if si_props["node.target"] and si_props["node.target"] ~= "-1"
and not si_target
and not si_flags[si_id].was_handled
and not si_flags[si_id].done_waiting then
- if not si_flags[si_id].timeout_source then
- si_flags[si_id].timeout_source = Core.timeout_add(2000, function()
- if si_flags[si_id] then
- si_flags[si_id].done_waiting = true
- si_flags[si_id].timeout_source = nil
- scheduleRescan()
- end
- return false
- end)
- end
Log.info (si, "... waiting for target")
+ si_flags[si_id].done_waiting = true
+ scheduleRescan()
return
end
--

View File

@ -1,45 +0,0 @@
From bee9827ae376b75feceea926b0afc727fecca51b Mon Sep 17 00:00:00 2001
From: Julian Bouzas <julian.bouzas@collabora.com>
Date: Fri, 7 Jan 2022 15:35:10 -0500
Subject: [PATCH] policy-node: find best linkable if default one cannot be
linked
Fixes issue with echo cancellation pipewire module.
---
src/scripts/policy-node.lua | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/src/scripts/policy-node.lua b/src/scripts/policy-node.lua
index 8ca5a695..3210f579 100644
--- a/src/scripts/policy-node.lua
+++ b/src/scripts/policy-node.lua
@@ -477,13 +477,22 @@ function findBestLinkable (si)
end
function findUndefinedTarget (si)
- -- Find the default linkable if the default nodes module is loaded, otherwise
- -- just find the best linkable based on priority and routes
- if default_nodes ~= nil then
- return findDefaultlinkable (si)
- else
- return findBestlinkable (si)
+ -- Just find the best linkable if default nodes module is not loaded
+ if default_nodes == nil then
+ return findBestLinkable (si)
end
+
+ -- Otherwise find the default linkable. If the default linkabke cannot link,
+ -- we find the best one instead. We return nil if default does not exist.
+ local si_target, can_passthrough = findDefaultlinkable (si)
+ if si_target then
+ if canLink (si.properties, si_target) then
+ return si_target, can_passthrough
+ else
+ return findBestLinkable (si)
+ end
+ end
+ return nil, nil
end
function lookupLink (si_id, si_target_id)
--

View File

@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
<param name="changesgenerate">enable</param>
<param name="revision">0.4.6</param>
<param name="revision">0.4.7</param>
<param name="versionformat">@PARENT_TAG@</param>
<!--
<param name="versionprefix">0.4.6+git</param>

View File

@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.freedesktop.org/pipewire/wireplumber.git</param>
<param name="changesrevision">9a733293d7d39554d0c9b04741a64ece023dbac6</param></service></servicedata>
<param name="changesrevision">afb177b5e0840d54dc41d02920702c3c9580ce02</param></service></servicedata>

View File

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

View File

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

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Thu Jan 13 09:56:28 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>
- Update to version 0.4.7:
* Fixed a regression in 0.4.6 that caused the selection of the
default audio sources and sinks to be delayed until some event,
which effectively caused losing audio output in many
circumstances (glfo#pipewire/wireplumber#148,
glfo#pipewire/wireplumber#150, glfo#pipewire/wireplumber#151,
glfo#pipewire/wireplumber#153)
* Fixed a regression in 0.4.6 that caused the echo-cancellation
pipewire module (and possibly others) to not work
* A default sink or source is now not selected if there is no
available route for it (glfo#pipewire/wireplumber#145)
* Fixed an issue where some clients would wait for a bit while
seeking (glfo#pipewire/wireplumber#146)
* Fixed audio capture in the endpoints-based policy
* Fixed an issue that would cause certain lua scripts to error
out with older configuration files
(glfo#pipewire/wireplumber#158)
- Drop patches already included upstream:
* 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
* 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
-------------------------------------------------------------------
Mon Jan 10 09:50:15 UTC 2022 - Antonio Larrosa <alarrosa@suse.com>

View File

@ -1,4 +1,4 @@
name: wireplumber
version: 0.4.6
mtime: 1641485511
commit: 9a733293d7d39554d0c9b04741a64ece023dbac6
version: 0.4.7
mtime: 1642066064
commit: afb177b5e0840d54dc41d02920702c3c9580ce02

View File

@ -22,7 +22,7 @@
%define sover 0
%define libwireplumber libwireplumber-%{apiver_str}-%{sover}
Name: wireplumber
Version: 0.4.6
Version: 0.4.7
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
Patch0: 0001-policy-node-schedule-rescan-without-timeout-if-defined-target-is-not-found.patch
Patch1: 0002-policy-node-find-best-linkable-if-default-one-cannot-be-linked.patch
Patch100: reduce-meson-required-version.patch
# docs
BuildRequires: doxygen