[wdmaudiodev] Re: Intercepting Audio Data Going to Sound Card

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 17 Jun 2010 11:15:16 -0700

On 6/16/2010 10:45 PM, Bhaskar wrote:
> I want to intercept the audio data going to the default sound device,
> apply some changes to the data and then give it to the sound device.
>
> I searched for the possible solutions and found the following two options:
>
> 1. Develop a Filter Driver which sits above the sound card driver.
> 2. Develop a Virtual Audio Driver. Kindly suggest the best option.
>
> I started with second option using msvad. After installing msvad
> simple, I selected it as default output sound device from control
> panel. Now the data comes from the application to driver.
>
> Here the point is if I route the modified data to sound device, since
> it is not default one, data will not be played. Is it possible to
> capture data, modifying and routing to sound device using msvad.
>   

There is no easy solution for this.  Up through Windows XP, you could
write a filter driver to sit above the sound card, and intercept the
kernel streaming ioctls.  If your target is limited to XP, this will
still work.  And, in fact, many people did exactly that.  The result was
that sophisticated audio applications could not rely on having an
unadulterated path to the sound hardware.

So, in Vista, all of that changed.  The application is now in complete
charge of the audio path, not the driver.  If the application doesn't
want your filtering, you aren't allowed to force it in.

If you are the audio vendor, you can write a GFX APO to intercept the
output data and apply effects to it.  It's actually possible to install
a GFX APO on your own, but you can't release such a thing unless you
also supply the audio card driver.

You can use your MSVAD scheme, as long as you get another application
involved.  Have MSVAD ship the data to your application, and have the
application forward it to the real sound card.

-- 
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/

Other related posts: