[alsa-devel] How to implement capture_switch control?

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Jun 21 03:51:50 CEST 2011


On Mon, Jun 20, 2011 at 04:15:38PM +0900, Adam Jiang wrote:

> I have a device with wm8903 codec. To support mute/unmute capture
> signal, I was trying to enable/disable PGA on this codec from user
> space application like

If the hardware does not physically support mute then this should be
emulated in software.  In the case of the WM8903 the device does not
have a specific capture mute control, though extremely low gains are
supported for the Capture Volume control which function as a mute so 
you could also set minimum Capture Volume.

> alwasy return false. I guess something is missing in my driver. Could
> you please give some bright how could I use capture switch to
> mute/unmute a channel. How could I implement capture_switch control
> properly? Thank you!

Not all hardware supports all possible features.  Either configure a
software volume control, the softvol plugin for ALSA should be able to
do this, or adjust your application to handle this in the application
layer.

http://alsa.opensrc.org/How_to_use_softvol_to_control_the_master_volume

has some information on using softvol.


More information about the Alsa-devel mailing list