On Tue, 13 Aug 2024, Robin Gareus wrote:
This is something where macOS' Coreaudio/MIDI
shines. Unlike macOS Linux/ALSA
has no persistent unique IDs for soundcards or MIDI devices. ALSA supports
hotplug, and first come first server sequential numeric IDs. The best
you^Wpipewire can do is keep track of cards by name.
So this is not something pipewire can reliably address, until ALSA get
support to identify cards by vendor and serial-number, and provide a UUID.
It would of course help if device venders actually added a serial number
other than 0. I found the best I could do was manufacture:model and then
find out which physical usb port the device was plugged into. The bus:port
shown by ALSA changes just by unplugging and replugging using the same
port. ALSA also does not list the serial number even if it is something
other than 0. As with the physical port, one has to do a dance through the
USB info to find that out.
Having said that, it makes me wonder how Coreaudio can distinguish between
two USB mics if they don't have serial numbers. USB mics being
particularily bad for not having serial nummbers while at the same time
being something that gets used in twos and threes for pod casts. (yes,
requiring SRC to work but both coreaudio and pipewire handle that part
without saying anything)
Len
--
Len Ovens
www.ovenwerks.net