Nikolay Sivov (@nsivov) commented about dlls/mf/tests/mf.c:
static HRESULT WINAPI test_stream_sink_clock_sink_OnClockSetRate(IMFClockStateSink *iface, MFTIME system_time, float rate) { - return test_stream_sink_clock_sink_onclock_event(iface, SINK_ON_CLOCK_SETRATE, MEStreamSinkRateChanged); + struct test_stream_sink *stream = test_stream_sink_from_IMFClockStateSink(iface); + BOOL is_expected = expect_test_stream_sink_clock_sink_OnClockSetRate; + + todo_wine_if(!expect_test_stream_sink_clock_sink_OnClockSetRate) + CHECK_EXPECT(test_stream_sink_clock_sink_OnClockSetRate); + if (is_expected) + { + stream->rate = rate; + SetEvent(stream->set_rate_event); + return test_stream_sink_clock_sink_onclock_event(iface, SINK_ON_CLOCK_SETRATE, MEStreamSinkRateChanged); + }
Do we need both SetEvent and MEStreamSinkRateChanged? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9646#note_127071