[wdmaudiodev] Re: sAPO must be real-time compatible

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 09 Jul 2010 16:20:37 -0700

 Andrew Sha...... wrote:
>  
> It looks like DeviceIoControl w/ overlapped I/O +
> GetOverlappedResult(../bWait=FALSE)  /is the way to go and upon
> ERROR_IO_INCOMPLETE returned just fail processing 

ERROR_IO_PENDING is that one that means "the driver is still working on
this".

Your behavior depends on what you need.  If you are confident that your
driver will always complete requests immediately, then that might be an
OK plan.  But in other cases, you might just leave the request running
and return so the audio graph continues to run.  At some later point (in
a separate thread maybe, or just at the next data packet), you can check
to see if your outstanding I/O has completed yet.

There are lots of ways to handle it.  The key is that the audio engine
is a real-time process, and if you block it, audio will suffer.

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

Other related posts: