XAudio 2.8 on Windows 8 required the use of Windows Runtime APIs for device enumeration. XAudio2.9 on Windows 10 (18362) or later and all versions of XAudio2Redist support both Windows Runtime device ids -and- standard WASAPI device ids.
This PR reworks the device enumeration to use WASAPI enumeration for most cases, and WinRT enumeration for the UWP platform and for XAudio 2.8 scenarios only.
In addition, this PR returns correct values for GetOutputFormat().Format.wBitsPerSample where possible. It previously always returned a value of 16.
For Windows Server 2019 (17763) or other older Windows 10 scenarios, the recommendation is to use XAudio2Redist instead of the built-in XAudio 2.9.
XAudio 2.8 on Windows 8 required the use of Windows Runtime APIs for device enumeration. XAudio2.9 on Windows 10 (18362) or later and all versions of XAudio2Redist support both Windows Runtime device ids -and- standard WASAPI device ids.
This PR reworks the device enumeration to use WASAPI enumeration for most cases, and WinRT enumeration for the UWP platform and for XAudio 2.8 scenarios only.
In addition, this PR returns correct values for
GetOutputFormat().Format.wBitsPerSample
where possible. It previously always returned a value of 16.