diff options
author | hselasky <hselasky@FreeBSD.org> | 2013-04-24 06:05:33 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2013-04-24 06:05:33 +0000 |
commit | f1df77425c35f487459dc194e8fc1773c51e63a5 (patch) | |
tree | 03b1861aa5970ded5a24678e134592adf0dd1505 /sys | |
parent | a574fde5d5c8b284a5aaac3f64ee20ffc06dcb93 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/dev/sound/usb/uaudio.c | 4 |
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; |