[wdmaudiodev] Re: Fwd: Re: AVStream driver: can't register as microphone

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 27 Jun 2016 13:43:07 -0700

Alexander Ivash wrote:

Could it be the case that this is because audio pin is still being
created dynamically as it used to in original avssamp?

I'm not sure.  My filters have always had fixed pins, declared in the
filter descriptor.  You could try that as an experiment.

Also I've updated inf file to switch from RunOnce to AddInterface and
make it installable via devcon, probably I've messed something..  From
the first look it registers correctly (I can see entries in registry
and manipulate driver in graphedit, but it is still visible only in
WDM Capture Devices category), but I'm not sure I didn't mess
anything, because for some reasons I can see 9 DispatchCreate calls on
attempt to install the driver via devcon.

That's possible.  It has to create a filter instance in order to query
its capabilities.

Yes, you are right of course, I just used wrong terminology.. What I
was trying to say, is that it is possible to create as many instances
of the Filter as you like using graphedit. But virtual mic needs only
one instance of the filter... So looks like I need somehow to 'bind'
some particular instance of Filter to 'virtual mic'.. Not sure if this
makes any sense for you but I just don't know how to express my
concerns better... :)

This is an interesting problem, but it's been solved before.  Many
people, when writing an AVStream driver, only allow one filter instance,
by rejecting the second one.  For video sources, that's not the
philosophy Microsoft recommends.  They suggest allowing as many filters
as the user wants, but only allow one at a time to transition out of
KSSTATE_STOP.  When you transition to KSSTATE_ACQUIRE, that's the point
when you "acquire" ownership of your hardware resources.  If the
resources are already owned, you fail the transition to
KSSTATE_ACQUIRE.  Almost all video cameras work this way, in part
because the Windows Media Center application required that behavior.

I'm ashamed and of course will change it :) Just wasn't aware this is
bad (by the way, why?).

As the name implies, it's supposed to be a UNIQUE identifier.  It's
supposed to identify YOUR device.  If everyone left it at the default,
sooner or later there will be a collision, and someone's app will claim
hardware they weren't supposed to claim.

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


Other related posts: