Nikolay Sivov (@nsivov) commented about dlls/mf/tests/mf.c:
- if (hr != S_OK)
- {
IMFByteStream_Release(bytestream);
IMFMediaType_Release(video_type);
return;
- }
- /* Set presentation clock. */
- hr = MFCreateSystemTimeSource(&time_source);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = MFCreatePresentationClock(&clock);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFPresentationClock_SetTimeSource(clock, time_source);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFMediaSink_SetPresentationClock(media_sink, clock);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
Did you check if you can query for IMFClockStateSink and use that directly?