[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