[wdmaudiodev] Re: newbie questions about filter drivers

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 14 Oct 2004 13:00:38 -0700

dprado@xxxxxxxxxxxxxx wrote:

First of all thank you for the reply. I´ll explain what I need , a little
better. I have a third party application ( that cannot be changed ) , and this
application aallows me to configure two different audio output devices, that it
uses simultaneously, writing different PCM data to each of them. I have a USB
audio hardware that has obviously left and write channels. I want to configure
this application to use two "different" audio devices that actually are virtual
sound devices, one of them writes only to left channel of the real usb audio
hardware and the other to the right channel of the real usb audio hardware.
That way since I do not need stereo sound, I can use ONE hardware and the
application believes it is writing to two differente devices. I know this would be much easier to do in user mode. But the application is
already written and I have no control over it.

from what I understand a lower filter will not work, how can the lower filter know which "virtual device" the user application used?

Because above you, there will be two driver stacks: two copies of usbaudio.sys, two copies of sysaudio.sys, two copies of wdmaud.sys, two devices exposed to user mode. I don't know whether it has to be a lower filter to usbaudio.sys or an upper filter to usbd.sys, but I believe that's the spot where you need to branch off your second device. Each request will come to you from a different FDO. You'll merge them and forward it on.

If this is just a hobby task for you, to avoid buying another set of speakers, you should probably forget it. You're probably talking about five weeks of development and debugging work.

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

Other related posts: