diff --git a/dlls/evr/presenter.c b/dlls/evr/presenter.c index 84ef223e0fc..51792cdc2cd 100644 --- a/dlls/evr/presenter.c +++ b/dlls/evr/presenter.c @@ -1258,7 +1258,7 @@ static HRESULT WINAPI video_presenter_getservice_GetService(IMFGetService *iface FIXME("Unimplemented service %s.\n", debugstr_guid(service)); - return E_NOTIMPL; + return MF_E_UNSUPPORTED_SERVICE; } static const IMFGetServiceVtbl video_presenter_getservice_vtbl = diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c index 60d74d1a224..55986414a70 100644 --- a/dlls/evr/tests/evr.c +++ b/dlls/evr/tests/evr.c @@ -1129,6 +1129,7 @@ static void test_default_presenter(void) IDirect3DDeviceManager9 *dm; IMFVideoDeviceID *deviceid; HWND hwnd, hwnd2; + IUnknown *unk; DWORD flags; float rate; HRESULT hr; @@ -1162,8 +1163,12 @@ static void test_default_presenter(void) check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFGetService, TRUE); check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoDeviceID, TRUE); check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFQualityAdvise, TRUE); + check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFTransform, FALSE); check_service_interface(presenter, &MR_VIDEO_ACCELERATION_SERVICE, &IID_IDirect3DDeviceManager9, TRUE); + hr = MFGetService((IUnknown *)presenter, &MR_VIDEO_MIXER_SERVICE, &IID_IUnknown, (void **)&unk); + ok(hr == MF_E_UNSUPPORTED_SERVICE, "Unexpected hr %#x.\n", hr); + hr = IMFVideoPresenter_QueryInterface(presenter, &IID_IMFVideoDeviceID, (void **)&deviceid); ok(hr == S_OK, "Unexpected hr %#x.\n", hr);