Thanks Frank! Thanks God! I missed it in the docs, everywhere the timed polling is used and recommended. I'm very excited with WaveRT for mapping the buffer and playback position to user memory, among other advantages. What a clever design! Still I think MS should review what I wrote about using a timer instead of a callback based on audio driver interrupt. I think something important were overlooked when someone decided to use a timer, like doubled latency for a given interrupt rate to begin with. The intended avoidance of extra kernel/user transitions is not true, both methods are originated by an interrupt and ended in signaling user code. So I think the recommendation to use timers should be changed. Thanksfully there's the right thing I missed, so now everything looks perfect. Well, well, well, and here is it the right way from http://msdn.microsoft.com/en-us/library/dd370844(VS.85).aspx In addition, the IAudioClient::Initialize method supports an AUDCLNT_STREAMFLAGS_EVENTCALLBACK flag that enables an application's buffer-servicing thread to schedule its execution to occur when a new buffer becomes available from the audio device. By using these features, an application thread can reduce uncertainty about when it will execute, thereby decreasing the risk of glitches in a low-latency audio stream. Thanks God there's finally the right people designing these very needed and key architectural improvements. Jose Catena DIGIWAVES S.L. ****************** 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/