Bug#933911: buster-pu: package pulseaudio
Control: tags -1 -moreinfo
On Sun, Aug 11, 2019 at 9:53 AM Jonathan Wiltshire <
jmw@debian.org> wrote:
Control: tag -1 moreinfo
Hi,
On Sun, Aug 04, 2019 at 09:31:37PM -0400, Felipe Sateler wrote:
> Package: release.debian.org
> Severity: normal
> Tags: buster
> User: release.debian.org@packages.debian.org
> Usertags: pu
>
> Dear release team,
>
> There is a bug affecting pulseaudio users: #913102. This bug causes the
> mute state to be incorrectly restored. Some users have asked for the fix
> (which is now on unstable), to be backported to buster given that GDM is
> affected by this bug. The upstream patch fixing this issue is very
> small[1].
>
> The full diff is attached.
The attachment looks like the change as it was uploaded to sid; please
prepare a proposed update to buster and attach a source debdiff and remove
the moreinfo tag from this bug.
Please find the debdiff attached
--
Saludos,
Felipe Sateler
diff -Nru pulseaudio-12.2/debian/changelog pulseaudio-12.2/debian/changelog
--- pulseaudio-12.2/debian/changelog 2019-02-14 20:05:41.000000000 -0300
+++ pulseaudio-12.2/debian/changelog 2019-08-15 11:21:19.000000000 -0400
@@ -1,3 +1,10 @@
+pulseaudio (12.2-4+deb10u1) buster; urgency=medium
+
+ * Pick upstream patch fixing mute state restoring (Closes: #913102)
+ * Add gbp config for buster branch
+
+ -- Felipe Sateler <fsateler@debian.org> Thu, 15 Aug 2019 11:21:19 -0400
+
pulseaudio (12.2-4) unstable; urgency=medium
[ Jan Graichen ]
diff -Nru pulseaudio-12.2/debian/gbp.conf pulseaudio-12.2/debian/gbp.conf
--- pulseaudio-12.2/debian/gbp.conf 2019-02-14 20:05:41.000000000 -0300
+++ pulseaudio-12.2/debian/gbp.conf 2019-08-15 11:21:19.000000000 -0400
@@ -1,2 +1,3 @@
[DEFAULT]
pristine-tar = True
+debian-branch = debian/buster
diff -Nru pulseaudio-12.2/debian/patches/series pulseaudio-12.2/debian/patches/series
--- pulseaudio-12.2/debian/patches/series 2019-02-14 20:05:41.000000000 -0300
+++ pulseaudio-12.2/debian/patches/series 2019-08-15 11:21:19.000000000 -0400
@@ -2,3 +2,4 @@
alsa-mixer-Update-to-support-Arctis-Pro-Wireless-headset.patch
alsa-mixer-Add-support-for-2018-Arctis-7.patch
Don-t-compile-with-ffast-math.patch
+sink-source-Don-t-change-suspend-cause-when-unlinking.patch
diff -Nru pulseaudio-12.2/debian/patches/sink-source-Don-t-change-suspend-cause-when-unlinking.patch pulseaudio-12.2/debian/patches/sink-source-Don-t-change-suspend-cause-when-unlinking.patch
--- pulseaudio-12.2/debian/patches/sink-source-Don-t-change-suspend-cause-when-unlinking.patch 1969-12-31 21:00:00.000000000 -0300
+++ pulseaudio-12.2/debian/patches/sink-source-Don-t-change-suspend-cause-when-unlinking.patch 2019-08-15 11:21:19.000000000 -0400
@@ -0,0 +1,47 @@
+From: Tanu Kaskinen <tanuk@iki.fi>
+Date: Mon, 10 Jun 2019 14:18:47 +0300
+Subject: sink, source: Don't change suspend cause when unlinking
+
+See the added comments for why this is necessary.
+
+Fixes: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/667
+(cherry picked from commit 7fb85e0a5bfdec339fda9f7584f65cf9ddbd50a1)
+---
+ src/pulsecore/sink.c | 6 +++++-
+ src/pulsecore/source.c | 6 +++++-
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
+index 38e8e50..4abbbb0 100644
+--- a/src/pulsecore/sink.c
++++ b/src/pulsecore/sink.c
+@@ -760,7 +760,11 @@ void pa_sink_unlink(pa_sink* s) {
+ }
+
+ if (linked)
+- sink_set_state(s, PA_SINK_UNLINKED, 0);
++ /* It's important to keep the suspend cause unchanged when unlinking,
++ * because if we remove the SESSION suspend cause here, the alsa sink
++ * will sync its volume with the hardware while another user is
++ * active, messing up the volume for that other user. */
++ sink_set_state(s, PA_SINK_UNLINKED, s->suspend_cause);
+ else
+ s->state = PA_SINK_UNLINKED;
+
+diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
+index 02ae87a..c11d89b 100644
+--- a/src/pulsecore/source.c
++++ b/src/pulsecore/source.c
+@@ -702,7 +702,11 @@ void pa_source_unlink(pa_source *s) {
+ }
+
+ if (linked)
+- source_set_state(s, PA_SOURCE_UNLINKED, 0);
++ /* It's important to keep the suspend cause unchanged when unlinking,
++ * because if we remove the SESSION suspend cause here, the alsa
++ * source will sync its volume with the hardware while another user is
++ * active, messing up the volume for that other user. */
++ source_set_state(s, PA_SOURCE_UNLINKED, s->suspend_cause);
+ else
+ s->state = PA_SOURCE_UNLINKED;
+
Reply to: