I meant the kernel streaming buffers that I am handing to usbaudio.sys through IOCTL_KS_WRITE_STREAM. Yah, I know I can't overwrite them. The problem is that the playback(render) takes much longer than the capture operation. Hence the overwriting issue. I wanted to speed up the playback operation by using DMA buffers, but that is already in place looks like! Anyways, thanks a lot for replying. Pallavi On Tue, Aug 11, 2009 at 5:45 PM, Tim Roberts <timr@xxxxxxxxx> wrote: > Pallavi Joshi wrote: > > > > Yup, I meant reducing the latency! Thanks so much for replying. This > > is easy then :) > > > > The main issue that I am facing is that I overwrite the playback > > buffer with new data before my previous data has finished playing. > > This is what MSDN documentation says about asynchronous IO: > > "Do not deallocate or modify the OVERLAPPED structure or the data > > buffer until all asynchronous IO has been completed." > > > > Due to this, I get missing data in my audio stream. Do you have any > > suggestions? > > I'm not sure, you have a lot of concepts mixed up here. Which playback > buffer are you overwriting? Is it the application buffer that is being > handed to your ASIO driver? Is it the kernel streaming buffers you are > handing to usbaudio.sys through IOCTL_KS_WRITE? > > The advice is good: you can't start reusing a buffer until you know the > guy beneath you is finished with it, but the exact definition of > "finished with it" depends on which level you're at. > > -- > 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.com/ > > -- Pallavi Joshi (480)-280-2017