[alsa-devel] Strange bug in .asoundrc ??
Dominique Larchey-Wendling
Dominique.Larchey-Wendling at loria.fr
Mon Nov 19 16:06:13 CET 2007
> It appears this behaviour is by design.
Ok so this is not a bug but a feature ;-)
However, it is not specified in the doc that alsa-lib makes a semantic
distinction between the types of objects in the alisp language.
What is strange is that the same function is called in alsa-lib to
expand hw:0 whether it is prefixed with "ctl" or "pcm" :
snd_config_search_definition(root, "ctl", name, &ctl_conf);
and
snd_config_search_definition(root, "pcm", name, &pcm_conf);
----------
Of course there is the workaround
ctl.tata { type hw card 0 }
but my question was more why is it designed this way ? Perhaps I do not
see some tricky problem but it should not be difficult to modify
alsa-lib so that the behavior is coherent between the "ctl" and "pcm"
contexts ?
Regards,
Dominique
> Dominique Larchey-Wendling wrote:
>> It seems that neither the current ctl.hw function nor the following
>> simplified function ctl.!hw work correctly when the argument CARD is
>> given to the function. It works however when no argument is given as the
>> following test examples show it.
>>
>> Is this a know bug of alsa-lib ? It is strange because this bug does not
>> show up with pcm.hw for example.
>>
>> ctl.rha "hw"
>> ctl.tata "hw:0"
>>
>> rha % amixer -D rha info
>> Card rha 'Intel'/'HDA Intel at 0xfebfc000 irq 16'
>> ...
>> rha % amixer -D tata info
>> ALSA lib control.c:781:(snd_ctl_open_conf) Invalid type for CTL tata definition
>
> Using a string with parameters works only with PCM devices; the code in
> alsa-lib that handles other device types doesn't bother to try to look
> the string up.
>
> It appears this behaviour is by design.
>
> To get your own definition, write something like this:
> ctl.tata { type hw card 0 }
>
>
> Regards,
> Clemens
More information about the Alsa-devel
mailing list