[PATCH 1/4] evr/tests: Fix Vista failures when checking the IMFQualityAdvise* interfaces.
Francois Gouget
fgouget at codeweavers.com
Thu Nov 26 10:40:33 CST 2020
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
I propose the following where I moved the interface tests out of the
generic check_*_interface() methods.
I also split the parts dealing with the crashes in
test_MFCreateVideoSampleAllocator() and then in
test_presenter_quality_control() in parts 2 and 3.
Finally I added one more patch to deal with the remaining
GetNativeVideoSize() failures.
dlls/evr/tests/evr.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c
index 31434bde43a..cfab5e73070 100644
--- a/dlls/evr/tests/evr.c
+++ b/dlls/evr/tests/evr.c
@@ -1152,9 +1152,18 @@ static void test_default_presenter(void)
check_interface(presenter, &IID_IMFClockStateSink, TRUE);
check_interface(presenter, &IID_IMFVideoPresenter, TRUE);
check_interface(presenter, &IID_IMFVideoDeviceID, TRUE);
- check_interface(presenter, &IID_IMFQualityAdvise, TRUE);
+
+ hr = IUnknown_QueryInterface(presenter, &IID_IMFQualityAdvise, (void **)&unk);
+ ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */, "Got hr %#x\n", hr);
+ if (SUCCEEDED(hr))
+ IUnknown_Release(unk);
+
check_interface(presenter, &IID_IDirect3DDeviceManager9, TRUE);
- todo_wine check_interface(presenter, &IID_IMFQualityAdviseLimits, TRUE);
+ hr = IUnknown_QueryInterface(presenter, &IID_IMFQualityAdviseLimits, (void **)&unk);
+ todo_wine ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */, "Got hr %#x\n", hr);
+ if (SUCCEEDED(hr))
+ IUnknown_Release(unk);
+
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoPositionMapper, TRUE);
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoDisplayControl, TRUE);
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFVideoPresenter, TRUE);
@@ -1164,8 +1173,17 @@ static void test_default_presenter(void)
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFRateSupport, TRUE);
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);
- todo_wine check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFQualityAdviseLimits, TRUE);
+
+ hr = MFGetService((IUnknown*)presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFQualityAdvise, (void **)&unk);
+ ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */, "Got hr %#x\n", hr);
+ if (SUCCEEDED(hr))
+ IUnknown_Release(unk);
+
+ hr = MFGetService((IUnknown*)presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFQualityAdviseLimits, (void **)&unk);
+ todo_wine ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */, "Got hr %#x\n", hr);
+ if (SUCCEEDED(hr))
+ IUnknown_Release(unk);
+
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IMFTransform, FALSE);
check_service_interface(presenter, &MR_VIDEO_RENDER_SERVICE, &IID_IDirect3DDeviceManager9, TRUE);
check_service_interface(presenter, &MR_VIDEO_ACCELERATION_SERVICE, &IID_IDirect3DDeviceManager9, TRUE);
--
2.20.1
More information about the wine-devel
mailing list