Nikolay Sivov (@nsivov) commented about dlls/mf/tests/mf.c:
- ok(hr == MF_E_INVALIDINDEX, "Unexpected hr %#lx.\n", hr);
- ok(stream_sink == (void *)0xdeadbeef, "Unexpected pointer %p.\n", stream_sink);
- /* Test GetStreamSinkById. */
- hr = IMFMediaSink_GetStreamSinkById(sink, 1, &stream_sink);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- IMFStreamSink_Release(stream_sink);
- hr = IMFMediaSink_GetStreamSinkById(sink, 2, &stream_sink);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- IMFStreamSink_Release(stream_sink);
- hr = IMFMediaSink_GetStreamSinkById(sink_video, 1, &stream_sink);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- hr = IMFMediaSink_GetStreamSinkById(sink_audio, 2, &stream_sink);
- ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
- IMFStreamSink_Release(stream_sink);
- IMFStreamSink_Release(stream_sink);
You'll need to release before it's overwritten again.