Hardware mute button mutes incorrect audio device when that device isn't active
Version, Distribution, Desktop Environment:
- PipeWire: 0.3.30
- Distribution: Arch Linux x86-64
- Desktop Environment: GNOME
Description of Problem:
I have USB speakers connected with a (hardware) mute button on the side. Using this button works fine in PipeWire. However, if I switch to internal laptop speakers, pressing this button suddenly mutes/unmutes the internal laptop speakers instead of the USB speakers themselves, and also results in PipeWire getting confused about the USB speaker volume.
How Reproducible:
Always.
Steps to Reproduce:
- Make USB speakers the active device.
- Set the volume slider to e.g. 50%, so they can play sound.
- Switch to different speakers, such as internal laptop speakers.
- Press the physical mute button on the USB speakers.
Actual Results:
- The USB speakers indicate physically they are muted (in my case the LED flickers), which is correct.
- In PipeWire/GNOME, my internal laptop speakers just became muted, even though only the USB speakers were supposed to mute.
- Also, switching back to the USB speakers as active device in GNOME, I see that they are not muted according to GNOME and still have volume 50% set, i.e. the state in PipeWire is different from the actual speaker state.
Expected Results:
- PipeWire mutes (just) the USB speakers.
- PipeWire does not mute the internal laptop speakers.