summaryrefslogtreecommitdiff
path: root/sys/dev/sound
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2014-08-27 14:22:40 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2014-08-27 14:22:40 +0000
commit2ed530d8cce2a6ae590177e9fdc7cd967c81ac23 (patch)
tree374031396896d2aab30f89fb6e15f8b8648ec7e6 /sys/dev/sound
parent568d8c6c0edb15e61504c8a16c22367c82bcaf76 (diff)
Notes
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/usb/uaudio.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/sys/dev/sound/usb/uaudio.c b/sys/dev/sound/usb/uaudio.c
index 1af8cb2c4ecf..de5b1ab5f5c1 100644
--- a/sys/dev/sound/usb/uaudio.c
+++ b/sys/dev/sound/usb/uaudio.c
@@ -1665,21 +1665,10 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
} else if (audio_rev >= UAUDIO_VERSION_20) {
uint32_t dwFormat;
- uint8_t bSubslotSize;
dwFormat = UGETDW(asid.v2->bmFormats);
bChannels = asid.v2->bNrChannels;
- 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;
- }
+ bBitResolution = asf1d.v2->bSubslotSize * 8;
if ((bChannels != channels) ||
(bBitResolution != bit_resolution)) {
@@ -1726,7 +1715,7 @@ uaudio_chan_fill_info_sub(struct uaudio_softc *sc, struct usb_device *udev,
wFormat = UGETW(asid.v1->wFormatTag);
bChannels = UAUDIO_MAX_CHAN(asf1d.v1->bNrChannels);
- bBitResolution = asf1d.v1->bBitResolution;
+ bBitResolution = asf1d.v1->bSubFrameSize * 8;
if (asf1d.v1->bSamFreqType == 0) {
DPRINTFN(16, "Sample rate: %d-%dHz\n",