Oneiric regression: Pulseaudio sometimes forgets to set ALSA volumes

Bug #877954 reported by David Henningsson on 2011-10-19
44
This bug affects 5 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
High
David Henningsson
Oneiric
Undecided
Unassigned

Bug Description

This is a meta-bug for the following problem:

PulseAudio 1.0 does not update the volume at ALSA level. You can verify this by running alsamixer and see that the volumes do not change in the expected way.

This can happen in the following cases:
 * You switch ports (e g unplugging headphones, but speakers remain silent), and there is no information in the module-device-restore database
 * The PulseAudio volume before and after switching port is on the exact same level
 * You increase the volume while the actual sink/source is closed.

SRU Justification:

[Impact]

This seems to be a quite common problem. Result is usability problem and confused users as the volume appears to be correct, but is not.

[Development fix]

Fixed by patches 0106 and 0017 in lp:~ubuntu-audio-dev/pulseaudio/ubuntu.precise

[Stable fix]

Fixed by patches 0106 and 0017 in lp:~ubuntu-audio-dev/pulseaudio/ubuntu.oneiric

[Test case]

1) First, make sure you're on a system with jack detection working and that you have ALSA sliders for "headphone" and "speaker".
2) Make sure you don't have .pulse directory, either by booting a live-CD, or by
   switching to a VT, log in as the same user as you're currently logged in to in X, execute "pulseaudio -k", "rm -rf ~/.pulse" (will remove your pulseaudio settings so you might want to back it up instead).
3) In the GUI, open sound settings to make sure pulseaudio is started. Plug in headphones and notice that the "speaker" slider is now muted in alsamixer. Close alsamixer and unplug headphones. Reopen alsamixer.
4) If the bug is present, "speaker" is still at its lowest level, if the bug is fixed, "speaker" has returned to a normal level.

[Regression potential]

* The 0106 patch is quite obvious, and has already been accepted upstream.
* The 0017 patch is less obvious but I've tested it here and had a good look through the code and I'm quite sure it would not cause regressions. Such regressions would theoretically be the wrong volume being set, or that underlying bugs would make the wrong volume better than the right volume.

Changed in pulseaudio (Ubuntu):
importance: Undecided → High
assignee: nobody → David Henningsson (diwic)
status: New → In Progress
summary: - Pulseaudio sometimes forget to set ALSA volumes
+ Oneiric regression: Pulseaudio sometimes forget to set ALSA volumes
summary: - Oneiric regression: Pulseaudio sometimes forget to set ALSA volumes
+ Oneiric regression: Pulseaudio sometimes forgets to set ALSA volumes
description: updated
description: updated
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:1.0-0ubuntu4

---------------
pulseaudio (1:1.0-0ubuntu4) precise; urgency=low

  [ David Henningsson ]
  * Added patches:
    0103-module-jackdbus-detect-Avoid-double-free-of-modargs.patch:
      (LP: #867444)
    0104-source-output-Do-not-use-unset-channel-map-in-pa_sou.patch:
      (LP: #864071)
    0105-Fix-deferred-volume-not-being-applied-if-sink-is-clo.patch,
    0017-Hack-around-a-bug-in-the-core-causing-volumes-not-to.patch:
      These two patches affect users not having their volume correctly
      set on port change (LP: #877954)

  [ Luke Yelavich ]
  * debian/control: Update Vcs-Bzr field
  * 0102-Always-return-a-three-part-version-number-in-API-cal.patch: Refresh
    the patch from upstrea git, to refer to the correct commit hash, and
    update the description
  * Pull some bug fixes from the stable-1.x upstream git branch:
    - 411af6b (sink: Move updating the requested latency after the rewind
               request when finishing a stream move.)
    - 87f70c6 (null-sink: Set latency range at the time of initialization of
               module.)
    - d71a291 (Make pulse build with clang again)
    - 4e5943b (alsa: Give compressed formats preference over PCM)
    - 867170a (alsa: Better error handling in mixer rtpoll callback)
    - c055c55 (echo-cancel: Fail if loaded between a sink and its monitor)
    - 8754e0c (doc: Add some more doxygen tags to existing comments)
    - 2c30c07 (alsa: Make mixer error handling more robust still)
    - 8a5e6e8 (echo-cancel: Don't crash if adjust_time = 0)
    - 7b13a79 (echo-cancel: Close debug files on module unload)
    - 6bf0489 (tests: Fix calculation of memblock size in resampler-test)
    - 93f55a4 (filter-apply: Move sink/source unlink callbacks before m-s-r)
    - b1dabfb (build-sys: Drop libsamplerate from pulsecommon deps)
    - 743a4d0 (build-sys: Provide a simple CMake Config setup (similar to
               pkgconfig))
  * Add liborc-0.4-dev as a build dependency to add orc support
  * debian/libpulse-dev.install: Ship cmake files
 -- Luke Yelavich <email address hidden> Thu, 20 Oct 2011 11:36:43 +1100

Changed in pulseaudio (Ubuntu):
status: In Progress → Fix Released
Nikola Snele (n-schnelle) wrote :

When this fix will be available for oneiric?

Hello David, or anyone else affected,

Accepted pulseaudio into oneiric-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in pulseaudio (Ubuntu Oneiric):
status: New → Fix Committed
tags: added: verification-needed
Nikola Snele (n-schnelle) wrote :

I can confirm that pulseaudio package from oneiric-proposed fixes my problems.

Martin Pitt (pitti) on 2011-10-27
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pulseaudio - 1:1.0-0ubuntu3.1

---------------
pulseaudio (1:1.0-0ubuntu3.1) oneiric-proposed; urgency=low

  [ David Henningsson ]
  * Added patches:
    0103-module-jackdbus-detect-Avoid-double-free-of-modargs.patch:
      (LP: #867444)
    0104-source-output-Do-not-use-unset-channel-map-in-pa_sou.patch:
      (LP: #864071)
    0105-Fix-deferred-volume-not-being-applied-if-sink-is-clo.patch,
    0017-Hack-around-a-bug-in-the-core-causing-volumes-not-to.patch:
      These two patches affect users not having their volume correctly
      set on port change (LP: #877954)
 -- Luke Yelavich <email address hidden> Thu, 27 Oct 2011 08:37:49 +1100

Changed in pulseaudio (Ubuntu Oneiric):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers