cvs commit: src/sys/dev/sound/usb uaudio.c uaudio.h uaudio_pcm.c

Alexander Leidinger netchild at
Sun Nov 13 14:20:27 GMT 2005

netchild    2005-11-13 14:20:26 UTC

  FreeBSD src repository

  Modified files:
    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>
  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-src mailing list