[wdmaudiodev] FW: Re: newbie questions

  • From: Harry Graham <HarryGraham@xxxxxxxxxx>
  • To: "'wdmaudiodev@xxxxxxxxxxxxx'" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 11 Oct 2010 22:55:21 +0000

For demonstration purposes, there are much simpler approaches than writing a 
driver.  For example, drop your movie file into graphedt, and it will create a 
graph for playing.  Then write a grabber filter, and insert it into the audio 
out path.  Implement your audio processing in the grabber filter.
For a real product, it would still be much simpler to implement a player than a 

Best of luck.


From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of niaren 9
Sent: Monday, October 11, 2010 2:41 PM
To: Tim Roberts
Cc: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: newbie questions

Thanks Tim,
Point taken! What I meant was the most used OS versions today. I believe XP is 
one of them.

If I understand you correctly then if I want to support OS versions from XP and 
beyond then there is no obvious (best practice) way to do it because XP 
requires an avstream filter driver implementation and for Vista and win7 this 
is not recommended. That is not what I had hoped fore. Then two different 
implementations are required, one for XP and one for the remaining.
I'm not familiar with the new audio philosophy but in the scenario I have in 
mind the user actively starts a control application for the AVStream driver. In 
this view a given media player does not directly request extra audio features 
in the audio stream but the user requests it by starting the control 
application and by enabling the features in the GUI control application.
What I want is to process the audio stream before it is going to the 
speaker(s). In this way I don't have to implement a movie player myself in 
order to demonstrate the audio features for movies. Any player would do.
Windows XP was released in 2001.  It's not really accurate to call it

> and with any media player available (not just windows media
> player).The audio processing must be controlable for the user and the
> audio processing is intended for music and movie playback
> primarily.How can I do that? From what I have read, it seems I could
> achieve the above by inserting a filter into the audio driver stack. I
> believe this should be possible by implementing an AVStream driver.
> My first question: Is this correct?
In XP, that's really the only option.  In Vista and beyond, you have the
option of implementing a System Effects Audio Processing Object (SysFx
APO), although the philosophy is that such an object is directly
associated with a specific piece of hardware.  The new audio philosophy
simply does not allow your model.   There should not be anything in the
audio stream that the application did not specifically request.  Thus,
you are fighting the system.

> Follow up question? Is there is an easier way to achieve what I want?
> Can it for instance be done without any driver development?
That depends.  If you just want to grab a copy of the final speaker
output, do something with it, and send it somewhere else, you can do
that by using a rendering endpoint in loopback mode.  That won't let you
modify the output stream, but you can monitor it.

Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>
Providenza & Boekelheide, Inc.


WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx<mailto:wdmaudiodev@xxxxxxxxxxxxx>


Other related posts: