[wdmaudiodev] =?gb2312?B?tPC4tDogW3dkbWF1ZGlvZGV2XSBSZTogUHJvYmxlbXMgYWJvdXQgZA==? =?gb2312?B?eW5hbWljIGF1ZGlvIHN1YmRldmljZSBvbiBWaXN0YQ==?Date: Fri, 5 Jun 2009 12:46:19 +0800

  • From: <StarXing@xxxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>

Thanks for your information, Jeff.
I will try it and report later.

Best Regards,
HW 

-----邮件原件-----
发件人: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] 
代表 Jeff Pages
发送时间: Friday, June 05, 2009 11:36 AM
收件人: wdmaudiodev@xxxxxxxxxxxxx
主题: [wdmaudiodev] Re: Problems about dynamic audio subdevice on Vista

The ac97 sample is wrong in this respect for Vista. The registering the 
topology subdevice MUST be the last thing you do, and unregistering it must be 
the first thing. There was a post from one of the Microsoft people some time 
back about this. Apparently the audio engine starts building an endpoint when 
the topology port is registered, but if the wave subdevice and/or physical 
connection isn't present all hell breaks loose.

Jeff

----- Original Message ----- 
From: StarXing@xxxxxxxxxxxxxx
To: wdmaudiodev@xxxxxxxxxxxxx
Sent: Friday, June 05, 2009 1:22 PM
Subject: [wdmaudiodev] 答复: Re: Problems about dynamic audio subdevice on 
Vista


Thanks Jeff.

I follows the WDK ac97 samples to instantiate/uninstantiate the audio 
subdevice, and in most cases it works well.
That is:
create wave/topology port/miniport -> register wave/topology subdevice -> 
register physical connection when instantiating subdevice and
remove physical connection -> unregister wave/topology subdevcie->release 
ports when uninstantiating subdevices.

I doubt whether this is a timing issue.
That is to say, I should wait some for the audio subsystem to prepare the 
audio api's well.

Thanks again.

Regards.
HW






Make sure that when a subdevice is instantiated, you create the wave and 
topology ports/miniports, register the physical connection, THEN register 
the wave subdevice and finally the topology subdevice. Likewise when 
removing a subdevice, unregister the topology subdevice first, then the wave 
subdevice, the physical connection and finally release the ports. Apparently 
if it's not done in that order, a race condition can occur which does what 
you're describing.

Jeff

----- Original Message ----- 
From: StarXing@xxxxxxxxxxxxxx
To: wdmaudiodev@xxxxxxxxxxxxx
Sent: Friday, June 05, 2009 12:49 PM
Subject: [wdmaudiodev] Problems about dynamic audio subdevice on Vista


Hello everyone,
I am develping an audio driver which implement dynamic audio subdevice on 
windows vista.
The audio subdevice can be instantiated/uninstantiated on behalf of user's 
request through device IO control.
After instantiating the audio subdevice, the user would like to locate thate 
audio endpoints through MMDevice API and render through that device.
In most cases these are running without trouble except two strange issues.
1) Can't locate the audio subdevice through MMDevice API although we can see 
it in system audio control panel
2) Can't see the audio subdevice in system audio control panel
In case 2, the audio subdevice will appear in system audio control panel if 
we restart the "Windows Audio Endpoint Builder" services.

Any pointers on these 2 issues are greatly appreciated.

Thanks and regards,

HW 

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

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:

  • » [wdmaudiodev] =?gb2312?B?tPC4tDogW3dkbWF1ZGlvZGV2XSBSZTogUHJvYmxlbXMgYWJvdXQgZA==? =?gb2312?B?eW5hbWljIGF1ZGlvIHN1YmRldmljZSBvbiBWaXN0YQ==?Date: Fri, 5 Jun 2009 12:46:19 +0800 - StarXing