[wdmaudiodev] Re: Shared mode recording doesn't work if CurrentCount is nonzero

  • From: Harry Graham <HarryGraham@xxxxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 13 Aug 2014 16:46:49 +0000

Matthew,

Yes, I can confirm that my driver does not support 
KSPROPERTY_PIN_GLOBALCINSTANCES.  KSStudio reports the failure to get this 
property.

Harry

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Matthew van Eerde
Sent: Wednesday, August 13, 2014 9:31 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Shared mode recording doesn't work if CurrentCount 
is nonzero

I can confirm that the audio subsystem checks KSPROPERTY_PIN_GLOBALCINSTANCES 
before attempting to open a pin.

If CurrentCount (>)= PossibleCount, it will fail with "device in use".

As Eugene describes, if CurrentCount < PossibleCount, but CurrentCount > the 
number of instances the audio subsystem has itself opened, it will likewise 
fail with "device in use", since something outside of the audio subsystem is 
using the device.

I suspect the reason that Harry's scenario works is because the driver in 
question does not support KSPROPERTY_PIN_GLOBALCINSTANCES; can you confirm in 
KS Studio?

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Harry Graham
Sent: Wednesday, August 13, 2014 7:18 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Shared mode recording doesn't work if CurrentCount 
is nonzero

Eugene,

The scenario you suggest definitely works on Windows 8.1, as I have confirmed 
this with an AVStream audio capture driver which supports multiple simultaneous 
clients.  I can capture from the raw device (under WDM streaming capture 
devices) and the system audio device (under Audio Capture sources) for the same 
device at the same time.

For this reason I do not believe that you have encountered an Audio Subsystem 
bug.

Harry

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Eugene Muzychenko
Sent: Wednesday, August 13, 2014 4:34 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Shared mode recording doesn't work if CurrentCount is 
nonzero

Hello!

Audio Subsystem in Windows 6.x (from Vista to 8.1) never checks PossibleCount 
in KSPIN_CINSTANCES before trying to create a capture pin instance. If 
CurrentCount is nonzero (for example, if another KS client already got a pin 
instance), audio subsystem always returns the "device in use" error, even if 
PossibleCount value is greater than CurrentCount value.

If shard mode recording is started first, while CurrentCount is zero, Audio 
Subsystem successfully allocates a pin instance and other KS clients can 
allocate them too, if there are available instances.

For most modern audio drivers that don't support more than a singe instance, 
such behavior is normal but it is strange for a driver that supports multiple 
pin instances.

It there a reason for such Audio Subsystem behavior, or it is simply a bug?

Regards,
Eugene

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

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/

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

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: