ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
authorArseniy Lartsev <arseniy@fizlesh.ru>
Tue, 2 Mar 2010 11:52:28 +0000 (14:52 +0300)
committerTakashi Iwai <tiwai@suse.de>
Tue, 2 Mar 2010 11:59:26 +0000 (12:59 +0100)
This patch works around misbehaviour of Creative Creative VF0470 Live Cam
which reports 16 kHz sample rate for audio capture while actually producing
8 kHz stream.

Signed-off-by: Arseniy Lartsev <arseniy@fizlesh.ru>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/usbaudio.c

index 20b656e9f90d9aa1c9abb2ba59cff225fce888f3..ea3eaa53d637c8caca911f7ba1a96f107a524234 100644 (file)
@@ -2581,6 +2581,9 @@ static int parse_audio_format_rates_v1(struct snd_usb_audio *chip, struct audiof
                             chip->usb_id == USB_ID(0x0d8c, 0x0102)) &&
                            fp->altsetting == 5 && fp->maxpacksize == 392)
                                rate = 96000;
+                       /* Creative VF0470 Live Cam reports 16 kHz instead of 8kHz */
+                       if (rate == 16000 && chip->usb_id == USB_ID(0x041e, 0x4068))
+                               rate = 8000;
                        fp->rate_table[fp->nr_rates] = rate;
                        if (!fp->rate_min || rate < fp->rate_min)
                                fp->rate_min = rate;