The underlying problem here is that system components (in this case
some sound library) should not be playing "Wheel of Fortune" to figure
out what hardware is available. "Can I have an R? Can I have a B?"
That's what the config file is doing. But if it *does* play that game,
"sorry no S" should not be an error; at most it should be an
info-level log message. But it shouldn't be playing that game at all:
a central database of available hardware should just list the
appropriate available devices. This is how block devices work, with
/dev/block/ and /dev/disk/by-*/. There are a variety of system
components in a good position to handle this.

But however this is managed, it is crazy for the caller of the sound
library to have to worry it. This is exactly the sort of low-level
concern that the sound library should be shielding the caller from.

Reply via email to