on USB headset replug: wrong default microphone selected
- PipeWire version (
pipewire --version
): $ pipewire --version
pipewire
Compiled with libpipewire 0.3.53
Linked with libpipewire 0.3.53 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): "Fedora Linux 36 (Workstation Edition)" (encountered problem first on Fedora 34) - Desktop Environment: GNOME
- Kernel version (
uname -r
): 5.18.9-200.fc36.x86_64
Description of Problem:
hardware used:
- a computer with 3.5 mm audio jack ports (out- and input); nothing connected to these ports
- "Dell AC511M" USB soundbar with 3.5 mm audio jack ports (out- and input); nothing connected to these ports; soundbar is always connected by USB cable to computer
- USB webcam; has built-in microphone; always connected to computer
- USB headset (audio out- and input); dis-/connected from/to computer on the fly as required; might or might not be connected when the computer starts
How Reproducible:
easy, all the time with headset replugging with the above setup
Steps to Reproduce:
- open GNOME’s audio settings; "Dell AC511M" is listed as audio output and input device; change default input device to webcam
- connect headset and set it as default input device
- unplug headset
Actual Results:
Default input device is set to soundbar, which does not capture anything, because no microphone is connected to it. Reconnecting headset does not set headset as default input device.
Historic note: In Fedora 34 and sometimes some months ago in Fedora 36 the webcam or headset was remembered as default input device, i.e. default input device switches between webcam and headset, and USB headset re-plugging is no problem. But now this setting is not remembered at all as far as I can see.
Expected Results:
Use webcam as default input device. Do not use "Dell AC511M" as default input device at any time, because its jack input port is not used.
Additional Info (as attachments):
pw-dump > pw-dump.log
: pw-dump.log I replaced my username with USER and the computer's name with COMPUTER.NAME.local (".local" is part of original name).
Questions
-
How do I forbid the soundbar to be set as default input device? I will never use it as microphone. I use it only as loudspeaker. Maybe it is possible to recognize that nothing is plugged into the soundbar’s jack port in order to exclude it from the list of microphones. I can test with the device, but need pointers.
-
Can I force the order of the microphone to be:
- headset if connected
- webcam if connected
- any working microphone ? If so, how?