[alsa-devel] Set multiple mixer channel values at once

Takashi Iwai tiwai at suse.de
Tue Jan 9 09:29:31 CET 2018


On Mon, 08 Jan 2018 12:01:34 +0100,
Petr Kulhavy wrote:
> 
> Hi,
> 
> does the ALSA library provide a method to set multiple channel values
> of a multi-channel mixer element at once?

It depends.  If the multi-channel is implemented in a single control
element, you can set the whole update and write it in a single shot.
But maybe not via alsa-lib mixer functions but with raw snd_ctl_*()
stuff.


Takashi

> There are the
> snd_mixer_selem_set_XXXXX_all()  methods, which set all channels to
> the same value.
> I would like to write a different value to each channel, is there such
> a method?
> 
> My motivation is the following. I have a HW with DSP/equaliser
> function, which uses a 5-channel mixer element (volume type element)
> to store biquad coefficients.
> To avoid invalid values in the transfer function the coefficients have
> to be sent to the HW over I2C all together in one transfer. Though the
> low level driver does that, the snd_mixer_selem_set_playback_volume()
> API method I'm using sets only one coef at a time.
> This results in partial updates of the biquad coefficients and
> temporary errors in the transfer function.
> 
> Thanks
> Petr
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 


More information about the Alsa-devel mailing list