[wdmaudiodev] Windows 10 variable sample rate support, WDM driver (WaveRT)

  • From: Paul _ <appdev45@xxxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 12 Jan 2016 14:57:08 -0800

Hi all,
We have a stereo virtual WDM driver (WaveRT) that playbacks audio it receives. 
It is required to work on Win 7 and above. The driver reports that it only 
supports a single sample rate, e.g. 48kHz, via the 
KSPROPERTY_PIN_PROPOSEDATAFORMAT KSPROPERTY_TYPE_SET. In order to allow users 
to set a different sample rate we have an associated control panel application 
that communicates with our driver via an IPC mechanism (socket). When the 
sample rate is changed, the driver destroys then recreates the concrete 
instances of IMiniportWaveRT, now reporting that it only supports the new 
sample rate. I understand that there are better ways of doing this (raise 
KSEVENT_PINCAPS_FORMATCHANGE event) but there are other reasons we have chosen 
to do a full stop start.



Unfortunately Windows does not automatically update the format for the device 
despite that fact that the old format is now not supported, i.e. the user still 
needs to head to the Advanced panel of the audio device properties and manually 
select the new sample rate from the list. Is there any way to tell windows that 
the currently selected format is no longer valid and that is should start using 
the default format reported by KSPROPERTY_PIN_PROPOSEDATAFORMAT 
KSPROPERTY_TYPE_GET?



On Windows 10 we have another more serious issue, if the user changes the 
sampling rate, it will no longer work. (This works on windows 7 and windows 8).

The sampling rate is change by an application, which updates our driver, and 
then the user needs to go into the windows sound dialog “Sound/Playback”, pick 
our device and manual change the sampling rate to the rate that they picked in 
our application.



In Windows 10, the sampling rate is shown (We only show one sampling rate, the 
one the user picked in our application.), but if we “test” play back (under the 
advanced tab, in the devices properties), we get an error, “Failed to play test 
tone.”



If the user uninstalls our driver and reinstall it on windows 10, they can set 
sampling rates, but only once, and not again without uninstalling our driver.

We have very similar issue as another user:“Dynamic format changes do not work 
correctly on Windows 10 technical preview 9926”

http://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_devices/dynamic-format-changes-do-not-work-correctly-on/f131c78d-8e37-467e-9a73-3a2ec7956423



Thanks for your help,

Paul


Other related posts: