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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2816#note_32757