>> The video is available at: >> http://channel9.msdn.com/shows/Going+Deep/Elliot-H-Omiya-Larry-Osterman-and-Frank-Yerrace-Inside-Windows-7-Audio-Stack/ >> for download in various formats. Here is a direct download URL: >> http://mschnlnine.vo.llnwd.net/d1/ch9/0/2/8/9/7/4/InsideWin7Audio_ch9.wmv > > Thanks for the link. This is really quite interesting. > > It's fun that they now are playing catch up with us. Allowing streams > to move between devices during playback and automatic per-role routing > seem to be the big new features in Windows7 audio. And we had that for > a longer time now already ;-) This is interesting indeed. The main points I captured were: - Win7 doesn't seem to rely on timer-based scheduling, my understanding is that they rely on hardware events to avoid the issues with audio/wall clock drifts. At the same time, they don't seem to be shooting for reduction in wake-ups by using large buffers when latency is not an issue. The events are 15ms apart at most, and the benefits of timers are not clear in that case. - 'capture monitors' seem to be the equivalent of the loopback module I wrote (shameless bit of self-promotion for once...). The MSFT developer described the same issues I had with internal mics with feedback loops/larsen. The 'capture monitors are configured with a 'listen-to' tab in the UI. - Win7 implements some sort of audio policy and redirect streams based on 'heuristics'. While this is common on embedded devices, this is not very common on laptops/desktops. We really need to have a unique policy-related API for apps to provide the relevant support for pausing/resuming. - Apps can listen to rerouting events - Apps can listen to pause/resume events and make decisions on their own, without entirely relying on the audio policy - Apps can prevent automatic volume modifications or docking if they don't fell this is relevant for their content (e.g games)