cvs commit: src/sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c
netchild at FreeBSD.org
Sun Nov 13 06:20:27 PST 2005
netchild 2005-11-13 14:20:26 UTC
FreeBSD src repository
sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c
Add support for 24/32 bit audio formats/conversion.
It may be the case that you may hear some unwanted noise while
playing back with 24/32 bit. This is a problem in the USB system.
Explanation from Hans Petter Selasky:
The current USB sound driver only uses one isochronous
buffer, that is restarted when it is completed. This will lead to a short
period of time, +1ms, where no sound data is sent to the external USB device.
Depending on the load of your computer, this can be as much as 50ms. So the
USB sound driver must use 2 isochronous transfers. At the beginning one will
queue both. Then these are restarted on completion. This will result in a
constant-rate data stream to the external sound device, a minimum sound
buffer equal to the size of the isochronous buffer, and possibly the sound
will reach your ears with less delay. Little delay is a result of constant
data rate. Currently only my USB driver will support that. If one tries that
with the USB driver in *BSD, then it will crash at the first moment one gets
a buffer underrun.
Submitted by: Kazuhito HONDA <kazuhito at ph.noda.tus.ac.jp>
Mono-recording still not tested by: julian
Revision Changes Path
1.17 +214 -71 src/sys/dev/sound/usb/uaudio.c
1.7 +2 -2 src/sys/dev/sound/usb/uaudio.h
1.18 +48 -40 src/sys/dev/sound/usb/uaudio_pcm.c
More information about the cvs-all