[wdmaudiodev] Record Buffer Issue
- From: "David A. Hoatson" <dhoatson@xxxxxxx>
- To: <wdmaudiodev@xxxxxxxxxxxxx>
- Date: Thu, 16 Sep 2004 07:30:39 -0700
Hello,
I have noticed some specific behaviour for recording that is causing major
grief for my audio driver (IMiniportWavePci/IMiniportWavePciStream).
For playback, the buffers are chopped up into 10ms increments and it seems
that a maximum of about 3 buffers are sent down to my driver from the WDM
port class driver. If the sample rate scales up, so does the buffer size
so each buffer is still 10ms in length. Playback at any sample rate works
as expected.
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...
Thank you,
David
******************
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: