This MR adds tests to `mfplat` to illustrate the timestamp values output on the samples for the respective Byte Stream handlers.
I have also included a fix for a bug in `winegstreamer` (and copied to `mfsrcsnk`) where a `NULL` value for the `pguidTimeFormat` parameter in `IMFMediaSource::Start` causes a segmentation fault. On Windows this is allowed. It is included in this MR as the `mfplat` tests pass NULL (so without this fix, the tests crash).
--
v12: mfsrcsnk: Allow NULL for time_format.
winegstreamer: Allow NULL for time_format.
mfplat/tests: Fix leak of media source.
mfplat/tests: Fix leak of media events.
mfplat/tests: Fix crash in MFShutdown on Windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7569
This MR adds tests that examine the values of the samples output by the byte stream handlers.
It is marked as draft as it is dependent on the fixes included within MR !7569.
I've also renamed the tests as they previously exclusively tested the sample output timestamps. The tests now also look at the number of buffers included in a sample and total size of the buffers within a sample.
--
v3: mfplat/tests: Add tests for MP3 Byte Stream Output.
mfplat/tests: Add tests for Byte Stream Output.
mfsrcsnk: Allow NULL for time_format.
winegstreamer: Allow NULL for time_format.
mfplat/tests: Fix leak of media source.
mfplat/tests: Fix leak of media events.
mfplat/tests: Fix crash in MFShutdown on Windows.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7672
I split the implementations into 2 parts to make it looks easier to review. So plz first review this MR and make sure it's good so that we don't have to rebase. The follwing patches is in !7571.
--
v2: mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Add converter transform to stream.
mfreadwrite: Add attributes member to writer struct.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7570
This function is supposed to allocate memory for a GUID on success. Applications should check the return status before trying to access this pointer, but apparently vrmonitor.exe in SteamVR isn't.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7706