From 35c5d8722b3ac53948c3a40bbaece4a40571f297 Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Fri, 11 Mar 2022 10:26:20 +0000
Subject: [PATCH] Import Debian changes 0.4.8-4

---
 debian/changelog                              |  9 ++++
 debian/patches/series                         |  1 +
 ...i-audio-adapter-relax-format-parsing.patch | 41 +++++++++++++++++++
 3 files changed, 51 insertions(+)
 create mode 100644 debian/patches/si-audio-adapter-relax-format-parsing.patch

diff --git a/debian/changelog b/debian/changelog
index f87ba05f..fe71b7b4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+wireplumber (0.4.8-4) unstable; urgency=medium
+
+  * Team upload
+  * d/p/si-audio-adapter-relax-format-parsing.patch:
+    Add patch from upstream to fix interop with Pipewire 0.3.48
+    (Closes: #1007100)
+
+ -- Simon McVittie <smcv@debian.org>  Fri, 11 Mar 2022 10:26:20 +0000
+
 wireplumber (0.4.8-3) unstable; urgency=medium
 
   * Team upload.
diff --git a/debian/patches/series b/debian/patches/series
index 5d044828..a53cd5d7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 fix_va_list_APIs_for_different_arches.patch
+si-audio-adapter-relax-format-parsing.patch
diff --git a/debian/patches/si-audio-adapter-relax-format-parsing.patch b/debian/patches/si-audio-adapter-relax-format-parsing.patch
new file mode 100644
index 00000000..86707c42
--- /dev/null
+++ b/debian/patches/si-audio-adapter-relax-format-parsing.patch
@@ -0,0 +1,41 @@
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Mon, 21 Feb 2022 15:21:36 +0100
+Subject: 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
+
+Origin: upstream, 0.4.9, commit:afbc0ce57aac7aee8dc1651de4620f15c73dbace
+Bug-Debian: https://bugs.debian.org/1007100
+---
+ 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;
+ 
-- 
GitLab