[alsa-devel] Use of _hint() functions and older machines

Randell Jesup randell1 at jesup.org
Mon Oct 24 07:19:47 CEST 2011

On 10/23/2011 6:36 AM, Clemens Ladisch wrote:
> On 10/21/2011 05:28 AM, Randell Jesup wrote:
>> On older machines, _hint() aren't available, so even if I make them
>> optional to dlsym-loading, I would need some other method to get the
>> information I assume using older, now-deprecated-or-gone interfaces.
> On older machines, that information wasn't available at all.
> The recommendation was to use "default" or to let the user enter
> a device name.

Ah.  Ok.  Wow, was it really that painful?  I didn't do a lot of Linux 
media stuff back then, and generally had only built-in-audio (no USB 
headsets, etc) with simple speakers.

> The best way to get a list of devices would have been to enumerate sound
> cards with snd_card_next(), then use device names "default:CARD=x".
> However, this gets only the primary device of each card, there might be
> sound cards without a PCM device, devices not based on an ALSA kernel
> driver aren't listed, and the "default:CARD=x" mechanism doesn't work if
> the user has redefined the "default" device.

Ugh.  So, there's no reasonable way to get a user-understandable list 
before .14?  How useful was 
snd_ctl_card_info_get_name()/snd_ctl_card_info()?  And I guess I'd need 
to enumerate the 'devices' and 'subdevices' on each card as well...

Thanks for the info, BTW

Randell Jesup
randell-ietf at jesup.org

More information about the Alsa-devel mailing list