On Thu, Jul 29, 2021 at 09:34:58AM -0400, Felipe Sateler wrote:
> Control: found -1 14.2-2
> Control: fixed -1 14.99-1
> 
> Hi Michał!
> 
> On Thu, Jul 29, 2021 at 9:27 AM Michał Mirosław <mirq-li...@rere.qmqm.pl>
> wrote:
> 
> > On Thu, Jul 29, 2021 at 12:57:03PM +0000, Debian Bug Tracking System wrote:
> > > Date: Thu, 29 Jul 2021 08:51:50 -0400
> > > From: Felipe Sateler <fsate...@debian.org>
> > > To: 989103-d...@bugs.debian.org, 991337-d...@bugs.debian.org
> > > Subject: DMO is not supported
> > >
> > > deb-multimedia.org is not supported here. Please ask the maintainers of
> > > that repository for support. Closing the bug.
> >
> > The bug is in bullseye package. I'm not sure where deb-multimedia came
> > from?
> > (It's not enabled in my sources.list)
> >
> 
> Sorry, I got confused by the last message from Keith Edmunds[1].
> 
> On a more detailed look, this is fixed in experimental but not on
> bullseye.  Help with an update for bullseye would be appreciated.

Hi, it looks the fix should be straightforward. Attached patch against
commit 9d29651ad4770 of https://salsa.debian.org/pulseaudio-team/pulseaudio.git

Best Regards
Michał Mirosław
commit 3d7e9a3689141ad81faaf756367247fe0ec6d446
Author: Michał Mirosław <mirq-li...@rere.qmqm.pl>
Date:   Sat Oct 9 02:54:17 2021 +0200

    fix #989103

diff --git a/debian/changelog b/debian/changelog
index a1de8e162c47..77f6d4e41b7f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,6 @@
-pulseaudio (14.2-3) UNRELEASED; urgency=medium
+pulseaudio (14.2-3) bullseye; urgency=medium
+
+  * Backport commit 79cb1369 from upstream. (Closes: #989103)
 
   [ Kevin Locke ]
   * Move shell completion scripts to pulseaudio-utils.
diff --git a/debian/patches/fix-control-module-param.patch b/debian/patches/fix-control-module-param.patch
new file mode 100644
index 000000000000..6cdeb9f0de31
--- /dev/null
+++ b/debian/patches/fix-control-module-param.patch
@@ -0,0 +1,46 @@
+From 79cb1369fc4d22966cb65253e9da2ccda2f25b45 Mon Sep 17 00:00:00 2001
+From: "Igor V. Kovalenko" <igor.v.kovale...@gmail.com>
+Date: Mon, 7 Jun 2021 08:53:24 +0300
+Subject: [PATCH] alsa-mixer: check if mapping is NULL before using it
+
+Fix Debian bullseye bug where adding this line makes pulseaudio crash on startup
+
+`load-module module-alsa-sink device=hw:1,0 control=Wave`
+
+See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989103
+
+Fixes: dacfcbb09 ("alsa-ucm: use the proper mixer name for ucm pcm sink/source")
+Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/576>
+---
+ src/modules/alsa/alsa-sink.c   | 3 ++-
+ src/modules/alsa/alsa-source.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
+index f7fef8a7e144..84cdb15c7318 100644
+--- a/src/modules/alsa/alsa-sink.c
++++ b/src/modules/alsa/alsa-sink.c
+@@ -2107,7 +2107,8 @@ static void find_mixer(struct userdata *u, pa_alsa_mapping *mapping, const char
+     u->mixers = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func,
+                                     NULL, (pa_free_cb_t) pa_alsa_mixer_free);
+ 
+-    mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device");
++    if (mapping)
++        mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device");
+     if (mdev) {
+         u->mixer_handle = pa_alsa_open_mixer_by_name(u->mixers, mdev, true);
+     } else {
+diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
+index 76370f8faec7..083f92873ef5 100644
+--- a/src/modules/alsa/alsa-source.c
++++ b/src/modules/alsa/alsa-source.c
+@@ -1813,7 +1813,8 @@ static void find_mixer(struct userdata *u, pa_alsa_mapping *mapping, const char
+     u->mixers = pa_hashmap_new_full(pa_idxset_string_hash_func, pa_idxset_string_compare_func,
+                                     NULL, (pa_free_cb_t) pa_alsa_mixer_free);
+ 
+-    mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device");
++    if (mapping)
++        mdev = pa_proplist_gets(mapping->proplist, "alsa.mixer_device");
+     if (mdev) {
+         u->mixer_handle = pa_alsa_open_mixer_by_name(u->mixers, mdev, false);
+     } else {
diff --git a/debian/patches/series b/debian/patches/series
index 54c06fdd4932..c8406a385b80 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 disable-autospawn.patch
 tests-fix-use-of-uninitialized-variable-cpu_info.patch
+fix-control-module-param.patch

Reply via email to