[wdmaudiodev] Re: Vista Audio Architecture

  • From: Hakon Strande <hakons@xxxxxxxxxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 28 Sep 2006 13:53:11 -0700

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


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


You can read these documents to understand this better:






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.

Other related posts: