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

Petr Kulhavy brain at jikos.cz
Mon Jan 8 12:01:34 CET 2018


Hi,

does the ALSA library provide a method to set multiple channel values of 
a multi-channel mixer element at once? 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



More information about the Alsa-devel mailing list