aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorArseniy Lartsev <arseniy@fizlesh.ru>2010-03-02 06:52:28 -0500
committerTakashi Iwai <tiwai@suse.de>2010-03-02 06:59:26 -0500
commit864c11080cf365720103042444534a1e94d42bac (patch)
tree2738c9aace590a2f0da481fd87a9ce2d8dc3a45f /sound/usb
parent156366d31524dc6b88836f06dccb1be13dbef5f1 (diff)
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
2581 chip->usb_id == USB_ID(0x0d8c, 0x0102)) && 2581 chip->usb_id == USB_ID(0x0d8c, 0x0102)) &&
2582 fp->altsetting == 5 && fp->maxpacksize == 392) 2582 fp->altsetting == 5 && fp->maxpacksize == 392)
2583 rate = 96000; 2583 rate = 96000;
2584 /* Creative VF0470 Live Cam reports 16 kHz instead of 8kHz */
2585 if (rate == 16000 && chip->usb_id == USB_ID(0x041e, 0x4068))
2586 rate = 8000;
2584 fp->rate_table[fp->nr_rates] = rate; 2587 fp->rate_table[fp->nr_rates] = rate;
2585 if (!fp->rate_min || rate < fp->rate_min) 2588 if (!fp->rate_min || rate < fp->rate_min)
2586 fp->rate_min = rate; 2589 fp->rate_min = rate;