2011/10/3 Takashi Iwai tiwai@suse.de:
At Sat, 1 Oct 2011 11:30:44 +0800, Raymond Yau wrote:
There is assertion when specify iface=PCM or iface=PCM,name='' when using amixer -c0 cget
according to the synthax
[[iface=<iface>,][name='name',][index=<index>,][device=<device>,][subdevice=<subdevice>]]|[numid=<numid>]
amixer -c0 cget iface=PCM amixer: control.c:258: snd_ctl_elem_info: Assertion `ctl && info && (info->id.name[0] || info->id.numid)' failed. Aborted
amixer -c0 cget iface=PCM,name='' amixer: control.c:258: snd_ctl_elem_info: Assertion `ctl && info && (info->id.name[0] || info->id.numid)' failed. Aborted
So, the empty string isn't checked before assert(). It's bad. It must be easy to fix. Care to create and send a patch?
The syntax seem also wrong.
[[iface=<iface>,][name='name',][index=<index>,][device=<device>,][subdevice=subdevice>]]|[numid=<numid>]
it should be [numid=<numid>] | [[iface=<iface>,name='name'][,index=<index>][,device=<device>]] | [[iface=<iface>,name='name'][,device=<device>][,subdevice=<subdevice>]]
since you cannot specify index and subdevice at the same time