[wdmaudiodev] Re: Record Buffer Issue

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 16 Sep 2004 09:09:50 -0700

David A. Hoatson wrote:


For recording, eight 64-byte buffers are passed in regardless of sample rate. At 48kHz stereo, this means each buffer represents ~0.66ms, which is just at the limit of what gives acceptable performance from faster machines. At 192kHz, the port driver still only gives eight 64-byte buffers, so now that same buffer only represents 0.166ms for stereo, or only 1 sample period for 16 channel interleaved 32-bit (which my device can do)! This means the PC is not able to respond to each interrupt fast enough and audio breakup will occur in only 1.3ms (192kHz/Stereo). This essentially means that recording through the port class driver is not possible at higher sample rates/higher channel counts. I should mention that I am using Windows XP SP2.


So far I have found nothing that allows my driver to control the size or number of buffers that are passed in from the upper level driver. Does anyone have a solution to this problem? I'm sure there is something very basic that I am missing...


Although it might be too late for your driver, you can attenuate many problems like this by using a DMA common buffer instead of letting KS do the locking and unlocking. The cost of the extra copy is trivial on modern computers.

--
- Tim Roberts, timr@xxxxxxxxx
 Providenza & Boekelheide, Inc.

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: