** Description changed:

  -- Lucid SRU report follows --
  
  Impact: A short-circuit in PulseAudio's pm-utils hook to check for the
  ConsoleKit active seat when (re)storing sink and source states can
  result in the wrong states being stored. (This change was introduced for
  suspend-to-* and resume optimization.)
  
- Bug resolution: By removing the ConsoleKit active seat check from the
- hook, PulseAudio will now (re)store sink and source states for all users
- that have a PA daemon. This change has been made in revision 290:
- http://bazaar.launchpad.net/~ubuntu-core-
- dev/pulseaudio/ubuntu.2a/revision/290
+ Bug resolution: Prior to suspend-to-*, save all PA users' sink & source
+ states and then mute only the active ConsoleKit seat's sink & source.
+ After resume, restore all PA users' pre-suspend sink & source states.
+ This change has been made in revision 292: http://bazaar.launchpad.net
+ /~ubuntu-core-
+ dev/pulseaudio/ubuntu.2a/revision/292?remember=284&compare_revid=284 .
  
  Minimal patch: http://bazaar.launchpad.net/%7Eubuntu-core-
- dev/pulseaudio/ubuntu.2a/diff/290
+ dev/pulseaudio/ubuntu.2a/diff/292/284?remember=284
  
  TEST CASE: Detailed below in the original defect report
  
  Regression potential: Suspend-to-* and resume will require [negligibly]
  more time. Otherwise, there are no identified regressions.
- 
  
  -- Original defect report follows --
  
  Binary package hint: pulseaudio
  
  I noticed this the other day after accidentally going into "Switch User"
  mode: I had my own pulseaudio instance, and gdm had its own. I then
  suspending my machine, and upon resuming, sound was muted.
  
  The reason for this happening is due to a bug in the 01Pulseaudio pm-utils 
hook.
  1. First, it checks the status of gdm's pulseaudio, stores it, then mutes it.
  2. Then, it checks the status of my pulseaudio, stores it, and also mutes it. 
Due to #1, the sink is already muted, as both sinks were pointing to the same 
physical device. Hence, the stored states are as follows: gdm's sink is not 
muted, but mine is.
  
  Upon resuming:
  1. It reads gdm's state, and unmutes the sink.
  2. Then it reads my pulseaudio's saved state, and mutes the sink again.
  
  Result: The sink is muted after resuming from suspend.
  
  N.B.:
  This seems to be a corner case that only occurs when multiple pulseaudio 
instances are running, and both contain sinks pointing to the same underlying 
device. It can probably be fixed by changing the pm-utils hook order to read 
and store all the states of the sinks prior to muting them.

-- 
Short-circuit in pm-utils hook can cause incorrect mixer state to be (re)stored
https://bugs.launchpad.net/bugs/569395
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to