All legacy driver models should continue to work for basic streaming in most cases but AEC and Mic Array processing are application graph DMO effects in Vista (and hosted by the RTC API as well) and does not belong in the driver layer in our vision of Windows and our desire to enable more powerful and flexible Windows application experiences going forward. System Effects are needed when using the PortCls WaveRT miniport model to host IHV value-add such as Speaker Compensation, Speaker fill/virtualization, etc since the WaveRT miniport driver does not touch the audio stream itself. Processing that was in the past hosted in the kernel which caused A LOT of instability so we designed an audio system that moves a lot of the historically problematic code into user mode where it can't bring down the system. WaveRT is a port model designed to work well with HD Audio solutions which is one of the hardware technologies required under the UAA initiative. You can read these documents to understand this better: http://www.microsoft.com/whdc/device/audio/wavertport.mspx http://www.microsoft.com/whdc/device/audio/sysfx.mspx Sincerely, Hakon Strande PM Integrated, Internal, External, and Wireless Audio Devices MediaTech/DMD/Windows Client/Microsoft ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts Sent: Thursday, September 28, 2006 10:19 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Vista Audio Architecture I am confused about the state of audio drivers in Vista. I've been reading in this list and in newsgroups about how the audio subsystem has been rearchitected in Vista, moving most audio processing into user-mode. And yet, the documents on APOs describe connecting to kernel streaming drivers, just as in XP. Will KS and AVStream audio drivers continue to work in Vista just as they have in the past? Let's say one has an echo cancellation driver, that needs to tap into both input and output. In XP, that can be done as a WDM filter driver. The document on sAPO says specifically that this is not possible with an LFX or GFX filter (if I read it correctly). How would one implement such a thing in Vista? Can it simply remain as a kernel filter driver? -- Tim Roberts, timr@xxxxxxxxx Providenza & Boekelheide, Inc.