evr/mixer: Improve GetService() handling of unsupported interfaces/services.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8e82c72083
commit
315cf3b60f
|
@ -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 =
|
||||
|
|
|
@ -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)))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue