Having multiple pulseaudio instances open causes physical sinks to be muted upon resume
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pulseaudio (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
affects ubuntu/pulseaudio
status triaged
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.
--
Kind regards,
Chow Loong Jin
Thank you for taking the time to report this bug and helping to make Ubuntu better. Please execute the following command only once, as it will automatically gather debugging information, in a terminal:
apport-collect 569526
When reporting bugs in the future please use apport by using 'ubuntu-bug' and the name of the package affected. You can learn more about this functionality at https:/ /wiki.ubuntu. com/ReportingBu gs.