[wdmaudiodev] A bug with KSPROPERTY_PIN_GLOBALCINSTANCES in Vista/Win7

  • From: Eugene Muzychenko <emuzychenko@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Tue, 8 Jun 2010 14:51:19 +0700

I found a bug in Vista/Win7 audio stack related to capture pin instance
counters. My WavePci miniport filter supports multiple pin instances
and PortCls correctly reports PossibleCount and CurrentCount in
KSPROPERTY_PIN_GLOBALCINSTANCES requests. When there are no active
instances (CurrentCount is zero), the capture pin can be successfully
instantiated via MME or DirectSound interfaces. If CurrentCount is
nonzero (for example, a KS application had previously instantiated
this capture pin), Windows audio stack does not try to instantiate
capture pin regardless of PossibleCount value. An application
receives MMSYSERR_ALLOCATED (MME) or DSERR_ALLOCATED (DirectSound).

This bug appears only in Vista/Win7 and only in the recording mode. XP
normally opens a pin if there are available instances. In Vista/Win7,
there is an unneeded KSPROPERTY_PIN_GLOBALCINSTANCES check.

******************

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] A bug with KSPROPERTY_PIN_GLOBALCINSTANCES in Vista/Win7 - Eugene Muzychenko