Nikolay Sivov (@nsivov) commented about dlls/mf/tests/mf.c:
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFSample_SetSampleDuration(input_sample, 10000000);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFStreamSink_ProcessSample(stream_sink, input_sample);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- IMFSample_Release(input_sample);
- /* Wait for stop event to make sure samples have been processed. */
- hr = IMFClockStateSink_OnClockStop(clock_sink, MFGetSystemTime());
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- wait_media_event(stream_sink, callback, MEStreamSinkStopped, 3000, &variant);
- /* Finalize. */
- test_callback_set(callback, FALSE, TRUE);
- hr = IMFFinalizableMediaSink_BeginFinalize((IMFFinalizableMediaSink *)media_sink, callback, (IUnknown *)media_sink);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
Same here, IMFFinalizableMediaSink is optional.