[alsa-devel] [PATCH] Add volume resolution quirk for some Logitech webcams.

Takashi Iwai tiwai at suse.de
Wed Jun 23 16:03:30 CEST 2010


At Wed, 23 Jun 2010 14:17:09 +0200,
Alexey Fisher wrote:
> 
> Some programs like Skype trying to set capture volume automatically.
> Normally it will tray, carefully step by step lover or higher, set the volume.
> In real word it work not really well, because devises and vendors lie about
> real audio settings.
> For example most Logitech webcams have 6400 or 3500 steps for capture volume.
> They do not tell that actual resolution is 384. So we have only 7 or 18 real
> steps. In this patch I set real resolution only for tested devices.
> 
> Signed-off-by: Alexey Fisher <bug-track at fisher-privat.net>

Applied now.  Thanks.


Takashi

> ---
>  sound/usb/mixer.c |   13 +++++++++++++
>  1 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
> index 6939d0f..736d134 100644
> --- a/sound/usb/mixer.c
> +++ b/sound/usb/mixer.c
> @@ -1107,6 +1107,19 @@ static void build_feature_ctl(struct mixer_build *state, void *raw_desc,
>  		}
>  		break;
>  
> +	case USB_ID(0x046d, 0x0809):
> +	case USB_ID(0x046d, 0x0991):
> +	/* Most audio usb devices lie about volume resolution.
> +	 * Most Logitech webcams have res = 384.
> +	 * Proboly there is some logitech magic behind this number --fishor
> +	 */
> +		if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
> +			snd_printk(KERN_INFO
> +				"set resolution quirk: cval->res = 384\n");
> +			cval->res = 384;
> +		}
> +		break;
> +
>  	}
>  
>  	snd_printdd(KERN_INFO "[%d] FU [%s] ch = %d, val = %d/%d/%d\n",
> -- 
> 1.7.0.4
> 


More information about the Alsa-devel mailing list