[alsa-devel] alsactl adds volume controls?

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Sep 29 20:09:37 CEST 2010

On Wed, Sep 29, 2010 at 03:26:38PM +0100, Colin Guthrie wrote:

> 2. Using the UCM system to indicate whether a mixer element is relevant
> or not is a potential nice solution in the future, but it's not
> available now and it will also require that UCM metadata is available.


>  3. Add an API to know whether a mixer element is active (IMO
> is_writable() is insufficient. If the current value of PCM says it's set
> to e.g. -28dB then we need to believe what it says. Even if we decide
> not to write new values to PCM mixer, we have to believe what it says -
> we is_writable() does not solve the overall problem of knowing the
> ultimate product of the various attenuations in the pipeline).

I think a new API is called for here - the basic problem we've got is
that while we do have a fairly good idea of how the controls are
conected to audio routes inside the kernel for HDA and for embedded
stuff we've no way of exposing this to the userspace applications.  This
is the root cause of a lot of the hassle here, we don't know which
controls are involved in a given audio path reliably and we don't know
if there are additional gain stages in the path.  I see this as separate
to the UCM thing with saying which control you should use for adjusting
a particular use case - UCM says "use this as your master volume for
headphone" or whatever which is separate to determining the total system
gain through the audio path.

There's some time in the LPC audio track discussion set aside for doing
some requirements gathering on this.

More information about the Alsa-devel mailing list