[wdmaudiodev] Re: Dynamic format negotiation on Windows 7

  • From: uwekirst <u.kirst@xxxxxx>
  • To: "Cheng-mean Liu (SOCCER)" <soccerl@xxxxxxxxxxxxx>, wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 10 Feb 2011 16:40:40 +0100

Hi all,
Hi Chen-mean,

at the moment I'm checking once again wether I could use dynamic format changes under windows 7. I want to use the event mechanism because it seems to be much faster than removing/adding subdevices. Basically I have some samplerates already working, but there are still issues.

After setting the event, I'm observing that the proposed data format handler is called for some samplerates: 44.1kHz, 48kHz and the last selected samplerate. I fail all here because the new samplerate I want to switch to is not called.

After that DataRangeIntersection is called and I'm returning the new format I want to switch to.
Some times later the stream is also opened and closed again for two times.
Inbetween the proposed format handler gets called for many formats, including my new format. I fail all excect my new samplerate. I'm supporting two versions: 24 bit and 16 bit
The whole thing seems to work, except for the samplerates 64kHz and 128kHz.
I want to support 32kHz, 44.1kHz, 48kHz, 64kHz, 88.2kHz, 96kHz, 128kHz, 176.4kHz and 192kHz. I'm returning 32000 MinimumSamplefrequency and 192000 Maximumfrequency in BuildDataRangeInformation. So what is different @64kHz and 128kHz? I observed that the proposed data format handler asks for 24 bit formats but not for 16 bits formats. At all the other rates, also 16 bit is checked (and displayed in the control panel). In case of 64kHz and 128kHz pressing the check button in the control panel fails, nothing is played. Furthermore the samplerate is not updated in the dialog (I have to close and open the dialog again to see the new freq). From my debugmessage I did not get any idea what is going wrong. No failure is reported, excect for one: Windows tries to open the same stream 2 times, the second time I fail. But this also happens in cases where the format change seem to work.
Any ideas?

thanks,
/Uwe


Am 12.03.2010 22:26, schrieb Cheng-mean Liu (SOCCER):
Hi Uwe:

Sorry for taking so long to get back to you.
I am not sure it you still have this problem.

If not, could you try to fail the device format query for the current default 
device format when the dynamic format event is sent (even the old format might 
be one of the supported format by the device after the event?

After that, handle format query as normal and return your preferred default 
device format in the GET of KSPROPERTY_PIN_PROPOSEDDATAFORMAT ks property call.

Thanks

Cheng-mean

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of uwekirst
Sent: Wednesday, February 10, 2010 10:47 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Dynamic format negotiation on Windows 7

Hi Chen-mean Liu,

I have also tried to implement dynamic Format changes to my driver (it's
wavecyclic though).
I wasn't 100% sucessful.
The basic issue was that after changing the format, the new format
appeared in the ms win7 audio control panel, but the old format was not
removed automatically.
The old one was still selected.
If I tried to test the two formats (old and new) it turned out that the
old one does not work, but the new one works as expected.
Because there seem to be still user interaction necessary (changing the
selection from old to new format) I feel that this feature is not usefull.
Any ideas what am I missing?

Thanks,
/Uwe

Cheng-mean Liu (SOCCER) schrieb:
Hi Kishore:

  This is a whitepaper on " Windows 7 Changes Related to Audio Drivers", it has a section 
called "Dynamic Format Change Support", that has instructions on how to do it.
This whitepaper is in the final stage of getting published to WHDC site.

Here is the information I cut from the current state of this paper. Let me know 
if you have any question in implementing this feature.

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

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: