[alsa-devel] Verifying mixer dB data/Invalid dB data from USB cards, especially Aureon 5.1 MkII

Raymond Yau superquad.vortex2 at gmail.com
Tue Feb 23 13:46:28 CET 2010

2010/2/23 Clemens Ladisch <clemens at ladisch.de>

> Lennart Poettering wrote:
> > On Sun, 21.02.10 12:01, Raymond Yau (superquad.vortex2 at gmail.com) wrote:
> > > However Simple Mixer API cannot know the subdevice number , you have to
> use
> > > control API ( the lower level API used by Simple Mixer API )
> >
> > Unfortunately there is no way from the simple mixer to the lower level
> > mixer.
> From the check_unplugged function in alsa-utils/alsamixer/mixer_widget.c:
>        err = snd_mixer_get_hctl(mixer, mixer_device_name, &hctl);
>        if (err >= 0)
>                ctl = snd_hctl_ctl(hctl);
> > It would be great if the smixer would include some API that gives me a
> > hint to which device/subdevice a specific snd_mixer_elem_t belongs to.
> Often, there is no 1:1 correspondence between mixer elements and PCM
> devices.  Only mixer controls with interface PCM (not MIXER) have (sub-)
> device numbers, and at the moment this is used only for controls that
> are associated with the streams of hardware-mixing-capable cards.
> Getting information about the mixer layout (like the nodes reported by
> HDA and USB devices) is on the TODO list; the only reason it isn't being
> implemented is lack of time.
> Regards,
> Clemens

for hda , Since PA server open pcm device , so it still can use

snd_mixer_selem_id_set_index(sid, snd_pcm_info_get_subdevice(pcm_info));

pavucontrol still can query PA server to get the sudevice numer
whenever PA resum from suspend

But gnome volume control has no way to know which application open
which subdevice

More information about the Alsa-devel mailing list