[packages/pipewire-wireplumber] fix hang/nosound in some pulseaudio apps; rel 2
atler
atler at pld-linux.org
Thu Mar 10 01:50:03 CET 2022
commit 7f3de718c5c5929c87d37996a957e2daf2bad050
Author: Jan Palus <atler at pld-linux.org>
Date: Thu Mar 10 01:48:07 2022 +0100
fix hang/nosound in some pulseaudio apps; rel 2
876.patch | 42 ++++++++++++++++++++++++++++++++++++++++++
pipewire-wireplumber.spec | 4 +++-
2 files changed, 45 insertions(+), 1 deletion(-)
---
diff --git a/pipewire-wireplumber.spec b/pipewire-wireplumber.spec
index 157d640..c6835bb 100644
--- a/pipewire-wireplumber.spec
+++ b/pipewire-wireplumber.spec
@@ -5,12 +5,13 @@
Summary: Session / policy manager implementation for PipeWire
Name: pipewire-wireplumber
Version: 0.4.8
-Release: 1
+Release: 2
License: MIT
Group: Libraries
Source0: https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/%{version}/wireplumber-%{version}.tar.bz2
# Source0-md5: a5a405f0f8e973df9d644a20a8c0620b
Patch0: va_list.patch
+Patch1: 876.patch
URL: https://pipewire.org/
# required for both docs and introspection
BuildRequires: doxygen >= 1.8.0
@@ -88,6 +89,7 @@ API documentation for PipeWire WirePlumber.
%prep
%setup -q -n wireplumber-%{version}
%patch0 -p1
+%patch1 -p1
%build
%meson build \
diff --git a/876.patch b/876.patch
new file mode 100644
index 0000000..01fb154
--- /dev/null
+++ b/876.patch
@@ -0,0 +1,42 @@
+From afbc0ce57aac7aee8dc1651de4620f15c73dbace Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans at redhat.com>
+Date: Mon, 21 Feb 2022 15:21:36 +0100
+Subject: [PATCH] si-audio-adapter: relax format parsing
+
+Some nodes can omit the format/rate/channels to indicate that they can
+deal with all possibilities and adapt to what they are linked to.
+
+See pipewire#876
+---
+ modules/module-si-audio-adapter.c | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/modules/module-si-audio-adapter.c b/modules/module-si-audio-adapter.c
+index f1f62185..84e393fd 100644
+--- a/modules/module-si-audio-adapter.c
++++ b/modules/module-si-audio-adapter.c
+@@ -158,19 +158,12 @@ si_audio_adapter_find_format (WpSiAudioAdapter * self, WpNode * node)
+ struct spa_pod *position = NULL;
+ wp_spa_pod_fixate (pod);
+
+- /* defaults */
+ spa_zero(raw_format);
+- raw_format.format = SPA_AUDIO_FORMAT_F32;
+- raw_format.rate = si_audio_adapter_get_default_clock_rate (self);
+- raw_format.channels = 2;
+- raw_format.position[0] = SPA_AUDIO_CHANNEL_FL;
+- raw_format.position[1] = SPA_AUDIO_CHANNEL_FR;
+-
+ if (spa_pod_parse_object(wp_spa_pod_get_spa_pod (pod),
+ SPA_TYPE_OBJECT_Format, NULL,
+- SPA_FORMAT_AUDIO_format, SPA_POD_Id(&raw_format.format),
++ SPA_FORMAT_AUDIO_format, SPA_POD_OPT_Id(&raw_format.format),
+ SPA_FORMAT_AUDIO_rate, SPA_POD_OPT_Int(&raw_format.rate),
+- SPA_FORMAT_AUDIO_channels, SPA_POD_Int(&raw_format.channels),
++ SPA_FORMAT_AUDIO_channels, SPA_POD_OPT_Int(&raw_format.channels),
+ SPA_FORMAT_AUDIO_position, SPA_POD_OPT_Pod(&position)) < 0)
+ continue;
+
+--
+GitLab
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/pipewire-wireplumber.git/commitdiff/ce087de405fcf0a1d7e8967ff5bc461c9cf5b132
More information about the pld-cvs-commit
mailing list