View Single Post
Old 23rd July 2017, 09:07   #22  |  Link
ShadyCrab
Registered User
 
Join Date: Jul 2015
Posts: 16
Is there a chance that the sanear WASAPI audio renderer could support Windows Sonic/Dolby Atmos for headphones? It doesn't need to use the new API's, but as its designed the renderer won't actually output 5.1 or 7.1 to Windows if Sonic is enabled.

The reason for it is that sanear uses the GetMixFormat API, which will only output 2.0 if Sonic is selected. If it uses the IsFormatSupported API, Windows should report 7.1 if Sonic is enabled and output surround sound for Sonic to mix.

Here's an explanation from a MSFT employee
Quote:
The output format will be stereo because Windows Sonic for Headphones and Dolby Atmos for headphones virtualize 7.1 speakers using an HRTF which outputs stereo. An HRTF positions sounds in a similar way as you would sound in the real world.
There are 2 WSASAPI APIs that a developer can use to determine what formats could be supported: IAudioClient::IsFormatSupported IAudioClient::GetMixFormat
IAudioClient::IsFormatSupported is the recommended API to determin what format to render. When Dolby Atmos for Headphones and Windows Sonic for headphones are enabled, most formats are supported.
IAudioClient::GetMixFormat returns what the device format is and will return stereo even when Dolby Atmos for Headphones or Windows Sonic for headphones is supported. So if a PC game/app uses this API, instead of the recommended one, it will unfortunately just send down stereo. We are looking at a clever way to better support these apps as well without eroding the true purpose and meaning of the IAudioClient::GetMixFormat API.
Windows Sonic for Headphones doesn't put stereo in the front. When the Windows Creators Update launched, Dolby Atmos for Headphones did out stereo in the FL and FR. That's also why FL and FR are not as pronounced there. We have an update for that in the pipeline.
ShadyCrab is offline   Reply With Quote