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.
--
v3: mf/tests: Test timestamps in WMV decoder.
mf/tests: Test timestamps in H264 decoder.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7563
The Win32 state might not have been updated with the latest X11 state,
and we want to take future updates into account when deciding to accept
focus or not.
At this point, and because we ignore WM_TAKE_FOCUS when a state change
is pending, all the states are the same, we use current_state as the
logic is to accept focus or not according to our current understanding
of the X state.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7626
This fixes failure to play the prologue video in Planet of the Apes: Last Frontier, which unpauses by calling Start() with a location. The exact state leading to this issue does not occur in the Start() tests, and it's not clear how to reproduce it reliably.
--
v4: mf: Reset transform nodes when seeking.
mf: Initialise the grabber sample count when setting state after a seek.
mf: Reset transform node outputs when seeking.
mf: Drop transform node input events when unpausing at a specific position.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7466
This fixes failure to play the prologue video in Planet of the Apes: Last Frontier, which unpauses by calling Start() with a location. The exact state leading to this issue does not occur in the Start() tests, and it's not clear how to reproduce it reliably.
--
v3: mf: Reset transform nodes when seeking.
mf: Initialise the grabber sample count when setting state after a seek.
mf: Reset transform node outputs when seeking.
mf: Drop transform node input events when unpausing at a specific position.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7466
This MR modifies winegstreamer to match Windows behaviour in that:
1. the video decoders will output the PTS and duration of the input sample (if provided); and
2. the WMV decoder will set any value not provided to zero
It also adds support for supplying a DTS value to the MFTs.
I've marked this as draft as it fixes the tests in MR !7563 (in addition to fixing some existing `test_wmv_decoder` tests). Also, as demonstrated in MR !7569, our demuxers output different timestamps to Windows. This change will result in those different timestamps being forwarded from the decoder. So we may also want to address that difference prior to accepting this MR.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7623