!8598 will require some more work, so I wrote a number of tests in preparation for it. There will be another MR for capturing tests.
This MR also enable 32-bit PCM samples for PulseAudio, since they're already enabled for other drivers and it's useful to have some uniformity between the drivers in order to avoid making writing todo conditions even more of a nightmare than it already is. 32-bit samples are already enabled to extensible wave formats, so it doesn't seem intentional that they were not enabled for non-extensible formats.
-- v3: mmdevapi/tests: Test extensible wave formats when rendering. mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM when rendering. mmdevapi/tests: Test flag AUDCLNT_STREAMFLAGS_RATEADJUST when rendering. mmdevapi/tests: Check that Initialize() matches IsFormatSupported() when rendering. mmdevapi/tests: Simplify checking IsFormatSupported() result when rendering. mmdevapi/tests: Test more audio formats when rendering. mmdevapi/tests: Iterate independently on sampling rates, channel counts and sample formats when rendering.