Windows uses a smaller alignment than gstreamer for some formats, for
example NV12. This means we cannot use MFCalculateImageSize() to get the
output sample size. Commit 7b79e3a87b1e switched to calling it instead of
GetOutputStreamInfo() to fix some game bugs.
--
v6: winegstreamer: Call wg_format_get_max_size() to get the video decoder output sample size.
winegstreamer: Do not pass a sample size to wg_transform_read_mf().
mf/tests: Add a video processor NV12 test with a width alignment of 2.
mfplat/tests: Add NV12 650 x 850 to image_size_tests.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8034
!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.
--
v2: 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.
winecoreaudio.drv: Do not spam fixmes for unknown channels.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8653