Non-existent S/PDIF ports show up for USB audio devices
Version, Distribution, Desktop Environment:
Pipewire git 4c46495c (but it's always happened), alsa-lib-1.2.4-5.fc33.x86_64, Fedora 33, GNOME 3.38.
Description of Problem:
On every USB audio device I have, a digital output (S/PDIF) is listed, even when no such port physically exists. Similarly a 'phantom' S/PDIF input shows up on devices with an analogue microphone input.
For example see the pw-dump output attached, with a Dell AE515 sound bar plugged in. This device has built-in speakers and a headphone port (switching to which it handles itself) and an integrated microphone. It has no digital ports.
- The speakers work when either 'Analog Output' or 'Digital Output' is selected -- albeit each with an independent volume control.
- The microphone works only on 'Headset Microphone' -- 'Digital Input' is silent.
Couple of notes:
- This happens with Pulseaudio as well, but the phantom ports don't show up in alsamixer, /proc/asound, or alsa-info.sh. So I assume there's something weird going on atop ALSA, with apologies in advance if this isn't ultimately Pipewire's fault. (It's at least a first step in tracking this down.)
- USB audio devices that actually have an S/PDIF output work as expected.