[wdmaudiodev] Re: Capturing audio output

  • From: Stefan <superstefan@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sat, 22 Sep 2007 11:45:29 +0200

Sorry for the late reply, I guess you also have experience of tight milestones.


Hakon Strande wrote:
The audio driver does not (or at least is not supposed to) touch audio bits 
anymore in at least one major driver model (WaveRT) on Windows so in those 
cases filter drivers won't get to the audio data either.
Also, if the content that is playing is protected only signed and certified components can be part of the streaming pipeline so if your scenario requires real-time stream recording the content owner decides if your unsigned filter driver will be able to get insert itself in the pipeline. So right there are two reasons a filter driver is not a one-size-fits-all solution or even a once-in-a-while solution. What is the scenario your are trying to support?
Thanks for the info, what I want to do is capture all the sound that goes out of the speakers and send it over the network. I guess that a filter driver isn't the way to go then.
There may be another way to get a mix of the audio leaving the Windows audio system depending on what you are trying to do. If you are creating an AEC DMO for instance there is a format restricted loop back from the audio engine you can use.
Isn't this loopback only available on Vista (http://channel9.msdn.com/ShowPost.aspx?PostID=325869)? Or maybe you're thinking about another one?

Some other applications, e.g. Total Recorder, use a virtual audio device that saves to audio to disk and then passes it to the sound card. The cons of that is that you have to configure the applications to use its audio output. Any there any others? I guess you could use msvad as a great starting point for that.
Sincerely, Hakon Strande Program Manager - Windows Sound Team Microsoft Corporation

________________________________

From: wdmaudiodev-bounce@xxxxxxxxxxxxx on behalf of Stefan
Sent: Sat 9/15/2007 10:28 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Capturing audio output



Hi, I known I'm not the first one to post this, but I want to be able to
capture the audio output and forward it to a user space app (XP/W2k).
I've googled, read the ddk docs, looked at source code for the last few
days but I'm still very confused. Right now I think the best way to do
this is to write a wdm filter driver that captures the output and
transfers it to a user space application. Is this even possible? And
where should I install the filter? I'm a very experienced coder, but I
need some guidance on where to start (i.e. "install a filer here and
listen on IRP x,y,z") and want to know if it's even possible.

Using the sound card output as input through the volume control isn't
good enough, and (correct me if I'm wrong) directshow filters doesn't
work on all sound output (applications using directsound for example).

/Stefan

******************

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/



******************

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/

Other related posts: