diff --git a/0001-si-audio-adapter-relax-format-parsing.patch b/0001-si-audio-adapter-relax-format-parsing.patch new file mode 100644 index 0000000..fa48f6d --- /dev/null +++ b/0001-si-audio-adapter-relax-format-parsing.patch @@ -0,0 +1,42 @@ +From afbc0ce57aac7aee8dc1651de4620f15c73dbace Mon Sep 17 00:00:00 2001 +From: Wim Taymans +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 f1f6218..84e393f 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; + +-- +2.34.1 + diff --git a/wireplumber.spec b/wireplumber.spec index 6f76057..5e0aa99 100644 --- a/wireplumber.spec +++ b/wireplumber.spec @@ -1,6 +1,6 @@ Name: wireplumber Version: 0.4.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: A modular session/policy manager for PipeWire License: MIT @@ -8,6 +8,7 @@ URL: https://pipewire.pages.freedesktop.org/wireplumber/ Source0: https://gitlab.freedesktop.org/pipewire/%{name}/-/archive/%{version}/%{name}-%{version}.tar.bz2 ## upstream patches +Patch0001: 0001-si-audio-adapter-relax-format-parsing.patch ## upstreamable patches @@ -115,6 +116,9 @@ fi %{_datadir}/gir-1.0/Wp-0.4.gir %changelog +* Mon Mar 7 2022 Wim Taymans - 0.4.8-2 +- Add patch to fix openal and WINE format negotiation. + * Mon Feb 7 2022 Wim Taymans - 0.4.8-1 - wireplumber 0.4.8