Based on top of tests MR !7125.
--
v2: mfreadwrite: Implement IMFSinkWriterEx.
mfreadwrite: Implement create_transform.
mfreadwrite: Implement sink_writer_SetInputMediaType.
mfreadwrite: Rename update_media_type_from_upstream and make it non-static.
mfreadwrite: Use a transform array for writer.
mfreadwrite/tests: Test sample processing for mp4 sink writer.
mfreadwrite/tests: Test getting transforms from mp4 sink writer.
mfreadwrite/tests: Test AddStream and SetInputMediaType for mp4 sink writer.
mfreadwrite/tests: Remove trivial if.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7160
On Wed Mar 12 10:25:16 2025 +0000, Jacek Caban wrote:
> Those are interesting findings, thanks. Could you please also check
> what's the behavior for missing "Expires" header? It sounds like we
> should change error handling in `HTTP_ProcessExpires`, I wonder if
> `!expirationFound` branch there is right...
Ok, I will try to check it.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7323#note_97642
These tests serve to illustrate the output sample time and duration values from their respective native MFT video decoders with respect to the following circumstances:
1. When no frame rate nor input sample timestamps are provided;
2. When a frame rate is provided but there are no sample timestamps; and
3. When a frame rate is provided, but the input sample timestamps disagree with this value
It also highlights the gap in our implementation. However, I don't believe this can be fixed without first confirming the correct output from our IMFMediaStream implementations.
--
v2: mf/tests: Test timestamps in WMV decoder.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7563