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 devices. 4) is it necessary to implement class factory for a topology filter (if I only can control volume for each stream)? Sincerely, 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 > KSDEVICE_DESCRIPTOR already. > > 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 > with KSDATAFORMAT_SPECIFIER_WAVEFORMATEX and > KSDATAFORMAT_SPECIFIER_DSOUND -> one after another. > 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 http://launch.yahoo.com/promos/britneyspears/ ****************** 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.de/