[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


has some information on using softvol.

More information about the Alsa-devel mailing list