[alsa-devel] Salsa-lib : doesn't handle multiple device
matthieu.castet at parrot.com
Tue Sep 30 14:11:30 CEST 2008
it seems there is a bug in card parsing (snd_card_get_index).
If the device name is "hw:0,1", then in _snd_dev_get_device,
snd_card_get_index will be called with "0,1".
But snd_card_get_index expect to be called with only the card string
number or name : it first check that the string is a number , and
then try for each card to compare with the card name 
I don't know what suppose to do snd_card_get_index, but I thing a easy
way to fix it is to pass to snd_card_get_index only the string before
the first comma.
(isdigit(*string) && *(string + 1) == 0) ||
(isdigit(*string) && isdigit(*(string + 1)) && *(string + 2) == 0
if (!strcmp((const char *)info.id, string))
More information about the Alsa-devel