summaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorArseniy Lartsev <arseniy@fizlesh.ru>2010-03-02 14:52:28 +0300
committerTakashi Iwai <tiwai@suse.de>2010-03-02 12:59:26 +0100
commit864c11080cf365720103042444534a1e94d42bac (patch)
tree2738c9aace590a2f0da481fd87a9ce2d8dc3a45f /sound/usb
parent156366d31524dc6b88836f06dccb1be13dbef5f1 (diff)
downloadlinux-stable-864c11080cf365720103042444534a1e94d42bac.tar.gz
linux-stable-864c11080cf365720103042444534a1e94d42bac.tar.bz2
linux-stable-864c11080cf365720103042444534a1e94d42bac.zip
ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
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>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/usbaudio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c
index 20b656e9f90d..ea3eaa53d637 100644
--- a/sound/usb/usbaudio.c
+++ b/sound/usb/usbaudio.c
@@ -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;