[wdmaudiodev] Re: AVStream miniport driver design question

  • From: Igor Slewsarev <slewsarev@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 29 Oct 2003 06:06:43 -0800 (PST)

Hello, Waldemar!

Thanks for your help. But it seems to me You have
misunderstood me.
I have to write a KS driver for a PCI device which has
16 separate ADC (and 16
input jacks) and one shared DMA controller. So each
ADC can work independently
and produce separate output stream. Now I realize that
from the point of view
of any user mode capture application it should be 16
separate devices, am I
wright?. If so, I have to make choice between writing
of my own proprietary bus
driver (or using mf.sys) and expressing this
'multifunctionality' by means of
KS subsystem (I am thinking about 16 filter factories
each with one sink pin
factory and etc.). If not, I suppose, it should be one
filter-factory which
constructs a filter with 16 pins. In any case, main
requirement is to allow
user to select definite input jack as a system default
sound recording device.

Sum: I should correct my question. Really I'm
interesting in
1) how to properly describe my device as
multifunctional (if it really needed)
2) how to make my device(s) to be visible to waveIn
API and
3) how to add my filter (or filters?) to a list of a
system sound recording
4) is it necessary to implement class factory for a
topology filter (if I only
   can control volume for each stream)?

Igor Slewsarev.

--- Waldemar Haszlakiewicz
<waldemar.haszlakiewicz@xxxxxxxx> wrote:
> You can set first a filterFactory ("filter") with
> more than a stereo capabilities -> for those
> programs which can have surround or similar
> features.
> Then you can set a filterFactory for every stereo
> channel you have.
> For filters you don't have to support any dispatch
> routines if you really don't need to ->
> but you'll need them for pins.
> KSPIN_DESCRIPTOR_EX definition can be the same for
> all channels (except for that multichannel one ->
> where KSDATARANGE_AUDIO and similar will be
> different).
> Take notice that in KSDATARANGE_AUDIO you define if
> the "pin" is a mono, stereo, multichannel one.
> Now you need to register interfaces too -> you can
> do it in inf file or you can use
> KsCreateFilterFactory or you can set everything in
> If you'll need any help with KsCreateFilterFactory
> just mail me and I'll help you out.
> Now if you'll want to support MME and DirectX users
> you'll have to define KSDATARANGE_AUDIO
> The second one will signal that you support DirectX
> to.
> Sum: you just define need to define one
> KSPIN_DESCRIPTOR_EX and a second one for
> multichannel if you
> wish.
> Any other questions just ask.
> Waldemar Haszlakiewicz

Do you Yahoo!?
Exclusive Video Premiere - Britney Spears

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


Other related posts: