Hi all,
I'm trying to get my VAD to work on Win 10, it is based on the old msvad
WaveCyclic example (using Portcls).
In essence the problem is that the device, named "Wave", can change its
capabilities (#channels, samplerates aso) through a control interface. But with
the new and fancy caching of capabilities in Windows 10 (which I have no clue
what the use is for), whenever I change the caps from the first registered
caps, Sound control panel will not display the "Advanced" tab for the device
(where samplerates are selected), thereby rendering it useless.
One way to tell Windows that the caps has changed, is through the
KSEVENTSETID_PinCapsChange event. I post this whenever I bring up the device,
but alas, Windows does not seem to requery the capabilities. There seems to be
a bug in this mechanism acc. to these sources
(https://github.com/eiz/SynchronousAudioRouter/blob/master/SynchronousAudioRouter/control.cpp#L702)
anyway.
So, the workaround seems to be to change the "Wave" name whenever the caps
change. So, I thought I'd make a naming scheme "Wave_XXXX" where XXXX is a hash
combination of #channels + all supported samplerates. But if I do this, Sound
control panel doesn't show my device at all, probably because the "Wave" name
that is also specified in the .inf file:
[Strings]
...
KSNAME_Wave="Wave"
KSNAME_Topology="Topology"
[DevInst.<arch>.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,DevInst.I.Topology
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,DevInst.I.Wave
is not matched in the driver. So, the question is, how do I programmatically do
an "AddInterface" with the "Wave_XXXX" name so it can popup in the Sound
control panel ? Or is it possible to have AddInterface in the .inf file with a
wildcard ?
Regards
/Robert
******************
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/