A probability of that a new mapping becomes available exactly within this window, is almost zero.
You're right, of course. I was thinking I had to reacquire my spin lock after the unsuccessful call to GetMapping, but looking at it now, that's not necessary, and I can just call InterlockedDecrement on my InAcquisitionLoop variable and exit.
And a well-optimized driver itself cannot guarantee that all Windows audio subsystems will function quickly and reliably. Even DirectSound with hardware buffers introduces a significant overhead and software buffers and/or MME introduce much more overhead. So you can achieve a reproducible high performance only if your well-optimized application uses your well-optimized audio driver directly via its wave/topology interfaces.
For this particular application, I'm using the Vista Core Audio API in exclusive mode, and this was when some of the wrinkles in my WavePCI drivers started showing up. I'm now using your suggestion with the interlocked InAcquisitionLoop variable and so far it's all hanging in there!
Thanks for your help.Jeff
****************** 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/