[alsa-devel] Standard mixer control names

Lennart Poettering mznyfn at 0pointer.de
Mon Feb 23 17:47:00 CET 2009

On Mon, 23.02.09 10:11, Takashi Iwai (tiwai at suse.de) wrote:

> > ALSA is making that very hard to implement something like this because
> > every driver seems to wrap input/output selection differently.
> > 
> > On one card I have only has a couple of cswitches
> > (snd-es1371). The same one has an enum "Mic Select". Another card has
> > an enum "Input Source", but no cswitches (a HDA chip). The
> > "ControlNames.txt" file in the kernel seems to suggest that there is an
> > element "Capture Source".
> That's because "Capture Source" can't work for multiple (sub)devices
> with the mixer abstraction of alsa-lib, per design.
> "Input Source" was born as a workaround (still found in many places
> in the driver code).  Maybe we should update ControlNames.txt as well.
> > For playback it seems that some cards have a a headphone switch, and
> > others a headphone slider (which i guess makes sense).
> > 
> > Now, the question, how should I implement this?
> > 
> > For playback the handling is easy as long as there is only one element
> > to deal with, but what about capture? One option would be to simply
> > go by cswitch and nothing else. Or go by "Input Source" and nothing
> > else. Or combine some form. Now I'd of course prefer if the drivers
> > get fixed to use a single element naming scheme only. Is there any
> > chance to get that? And which one would that be?
> I rarely believe this will be ever "fixed" in the driver side
> completely.  We may improve a bit, but not the whole stuff.
> It's no good idea to have a restriction in the driver code because
> the control API is just for generic purpose, not only about mixers.
> And, many embedded devices love to have specific unique control names
> just for their purpose...

Hmm, so this won't get fixed.

More information about the Alsa-devel mailing list