diff --git a/dlls/mf/sar.c b/dlls/mf/sar.c index bb3eba7eee9..f883163bde5 100644 --- a/dlls/mf/sar.c +++ b/dlls/mf/sar.c @@ -1106,6 +1106,7 @@ static HRESULT WINAPI audio_renderer_stream_QueryInterface(IMFStreamSink *iface, TRACE("%p, %s, %p.\n", iface, debugstr_guid(riid), obj); if (IsEqualIID(riid, &IID_IMFStreamSink) || + IsEqualIID(riid, &IID_IMFMediaEventGenerator) || IsEqualIID(riid, &IID_IUnknown)) { *obj = &renderer->IMFStreamSink_iface; diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 5b300cd90ff..bf14ccf0feb 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -2860,6 +2860,10 @@ todo_wine hr = IMFMediaSink_GetStreamSinkByIndex(sink, 0, &stream_sink); ok(hr == S_OK, "Failed to get a stream, hr %#x.\n", hr); + hr = IMFStreamSink_QueryInterface(stream_sink, &IID_IMFMediaEventGenerator, (void **)&unk); + ok(hr == S_OK, "Failed to get interface, hr %#x.\n", hr); + IUnknown_Release(unk); + hr = IMFStreamSink_GetIdentifier(stream_sink, &id); ok(hr == S_OK, "Unexpected hr %#x.\n", hr); ok(!id, "Unexpected id.\n");