Sorry for the late reply, I guess you also have experience of tight milestones.
Hakon Strande wrote:
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.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?
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/