diff --git a/dlls/evr/mixer.c b/dlls/evr/mixer.c index ddf34d05f44..a7ce3949bec 100644 --- a/dlls/evr/mixer.c +++ b/dlls/evr/mixer.c @@ -1650,11 +1650,13 @@ static HRESULT WINAPI video_mixer_getservice_GetService(IMFGetService *iface, RE { return IMFGetService_QueryInterface(iface, riid, obj); } + + return E_NOINTERFACE; } FIXME("Unsupported service %s, riid %s.\n", debugstr_guid(service), debugstr_guid(riid)); - return E_NOTIMPL; + return MF_E_UNSUPPORTED_SERVICE; } static const IMFGetServiceVtbl video_mixer_getservice_vtbl = diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c index c83ce0374eb..60d74d1a224 100644 --- a/dlls/evr/tests/evr.c +++ b/dlls/evr/tests/evr.c @@ -489,6 +489,10 @@ static void test_default_mixer(void) check_service_interface(transform, &MR_VIDEO_MIXER_SERVICE, &IID_IMFVideoProcessor, TRUE); check_service_interface(transform, &MR_VIDEO_MIXER_SERVICE, &IID_IMFVideoMixerControl, TRUE); check_service_interface(transform, &MR_VIDEO_MIXER_SERVICE, &IID_IMFVideoPositionMapper, TRUE); + check_service_interface(transform, &MR_VIDEO_MIXER_SERVICE, &IID_IMFTransform, FALSE); + + hr = MFGetService((IUnknown *)transform, &MR_VIDEO_RENDER_SERVICE, &IID_IUnknown, (void **)&unk); + ok(hr == MF_E_UNSUPPORTED_SERVICE, "Unexpected hr %#x.\n", hr); if (SUCCEEDED(MFGetService((IUnknown *)transform, &MR_VIDEO_MIXER_SERVICE, &IID_IMFVideoMixerControl2, (void **)&mixer_control2))) {