[wdmaudiodev] Re: Comunicating with another filter [heur]

  • From: "Jeff Claar" <JClaar@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 10 Nov 2005 13:15:02 -0800

I did something similar to this, but I ended up implementing my virtual driver 
as an AVStream driver. It uses KsCreatePin to create the sink pin on the 
hardware device. 

To discover the other devices, you can use IoRegisterPlugPlayNotification to 
get notified of all available sound devices. I'm connecting directly to the 
sound card, with one stream at a time -- I don't have to deal with Kmixer, so I 
can't help you there.

It's not trivial, to say the least, and it requires a LOT of experimentation 
and testing to overcome gaps in the documentation.

Jeff

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Antonio Gómez Muriana
Sent: Thursday, November 10, 2005 4:19 AM
To: Lista WDM Audo Dev
Subject: [wdmaudiodev] Comunicating with another filter [heur]

Hi!

   I want to make a virtual driver that can send the sound to other device, but 
I don't know how to discover and instantiate a pin of another device. I have 
two ideas, but I have no idea on how to implement it:

A) Create a source pin and connect it to the sink pin of the other device. But 
in the Port Class API there is no way to make a source pin. 
Can it be possible?
B) Port the DirectKS example to kernel mode and use it to send the data but... 
SetupAPI is availible from kernel mode?

I started with the MSVAD Simple as a base which uses a WaveCyclic MiniPort 
implementation. Is it right or I have to write the complete filter from myself?

Also I want to send several streams at the time, so I think that I have to send 
them to KMixer and connect it to the Render pin of the other device.

Best regards,

PS: I have bought a book from Walter Oney about WDM programming, but sadly it 
haven't any section about Kernel Streaming. :( Did you know a good tutorial of 
Kernel Streaming filter creation?
******************

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:

  • » [wdmaudiodev] Re: Comunicating with another filter [heur]