summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2013-04-24 06:05:33 +0000
committerhselasky <hselasky@FreeBSD.org>2013-04-24 06:05:33 +0000
commitf1df77425c35f487459dc194e8fc1773c51e63a5 (patch)
tree03b1861aa5970ded5a24678e134592adf0dd1505 /sys/dev/sound
parenta574fde5d5c8b284a5aaac3f64ee20ffc06dcb93 (diff)
downloadFreeBSD-src-f1df77425c35f487459dc194e8fc1773c51e63a5.zip
FreeBSD-src-f1df77425c35f487459dc194e8fc1773c51e63a5.tar.gz
Fix playback for Focusrite Scarlett 2i2 USB recording interface.
Submitted by: Ed Maste, emaste @
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/usb/uaudio.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index acd4ac9..b732c83 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -1645,6 +1645,10 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
bBitResolution = asf1d.v2->bBitResolution;
bSubslotSize = asf1d.v2->bSubslotSize;
+ /* Map 4-byte aligned 24-bit samples into 32-bit */
+ if (bBitResolution == 24 && bSubslotSize == 4)
+ bBitResolution = 32;
+
if (bBitResolution != (bSubslotSize * 8)) {
DPRINTF("Invalid bSubslotSize\n");
goto next_ep;
OpenPOWER on IntegriCloud