[wdmaudiodev] Re: Capturing audio output using a "kernel mode filter driver"

  • From: Robert Bielik <robert.bielik@xxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Mon, 23 May 2011 19:26:23 +0200

Matthew van Eerde skrev 2011-05-23 19:23:
As far as I can see TotalRecorder is just a vanilla virtual WDM audio driver, 
which is not signed by WHQL.  This means it won't work with (certain kinds of) 
DRM'd audio, despite their claims, although it will work just fine with 
non-DRM'd audio.

But OP says that TR can capture the rendered audio of any device without 
requiring to select any specific VAD, so that can't be it.

/Rob


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Tim Roberts
Sent: Monday, May 23, 2011 10:17 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Capturing audio output using a "kernel mode filter 
driver"

Paul Titchener wrote:
a generic audio device via registry hacking (i.e. not via the driver
.INF
file) is a big NO-NO according to official MS policy.

Microsoft policy restrictions have rarely had any effect on device 
manufacturers.

I plugged in a USB audio device after TotalRecorder had already been
installed and it captured audio played back to that new device also.
It would be pretty tricky to have the sAPO approach work for this case.

A background application could do this with the loopback interface.

They claim they are using a "kernel mode filter driver". Searching on
that term leads you to some general MS descriptions of a filter driver
being an optional component that you can create that sits between the
kernel level standard driver and the higher level calls for the
purposes of adding additional functionality.

But the examples all seem to be for general purpose file reading and
writing, not audio systems.

The term "filter" is overloaded in the Windows kernel world, but a PnP filter 
driver can be inserted between any two kernel drivers.  I have written several filter 
drivers for USB audio devices that didn't quite meet the USB Audio Class spec, in order 
to fake the configuration stream.  The filter driver concept works very nicely for 
intercepting audio data for many audio drivers (including USB Audio), but it doesn't do 
anything for WaveRT devices, because the data doesn't flow through any kernel components. 
 The filter driver would have to periodically poll the circular buffer pointers to watch 
for new data.  That's ugly, but I'll bet that's what they did.

Is it possible that there is an undocumented method for adding a
"filter driver" to the windows audio system and these guys figured out how to 
do it?

No.

--
Tim Roberts, timr@xxxxxxxxx
Providenza&  Boekelheide, Inc.

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

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/


X3

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

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: