[PATCH 3/4] evr/tests: Avoid Vista crashes when testing the IMFQualityAdvise interface.
Francois Gouget
fgouget at codeweavers.com
Thu Nov 26 10:40:40 CST 2020
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
dlls/evr/tests/evr.c | 37 ++++++++++++++++++++-----------------
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/dlls/evr/tests/evr.c b/dlls/evr/tests/evr.c
index ce791db21b1..06a8b770088 100644
--- a/dlls/evr/tests/evr.c
+++ b/dlls/evr/tests/evr.c
@@ -2050,10 +2050,12 @@ static void test_presenter_quality_control(void)
hr = IMFVideoPresenter_QueryInterface(presenter, &IID_IMFQualityAdviseLimits, (void **)&qa_limits);
todo_wine
- ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */,
+ "Unexpected hr %#x.\n", hr);
hr = IMFVideoPresenter_QueryInterface(presenter, &IID_IMFQualityAdvise, (void **)&advise);
- ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Vista */,
+ "Unexpected hr %#x.\n", hr);
if (qa_limits)
{
@@ -2074,25 +2076,26 @@ if (qa_limits)
IMFQualityAdviseLimits_Release(qa_limits);
}
-todo_wine {
- mode = 1;
- hr = IMFQualityAdvise_GetDropMode(advise, &mode);
- ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
- ok(mode == MF_DROP_MODE_NONE, "Unexpected mode %d.\n", mode);
+ if (advise)
+ todo_wine {
+ mode = 1;
+ hr = IMFQualityAdvise_GetDropMode(advise, &mode);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(mode == MF_DROP_MODE_NONE, "Unexpected mode %d.\n", mode);
- level = 1;
- hr = IMFQualityAdvise_GetQualityLevel(advise, &level);
- ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
- ok(level == MF_QUALITY_NORMAL, "Unexpected mode %d.\n", level);
+ level = 1;
+ hr = IMFQualityAdvise_GetQualityLevel(advise, &level);
+ ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+ ok(level == MF_QUALITY_NORMAL, "Unexpected mode %d.\n", level);
- hr = IMFQualityAdvise_SetDropMode(advise, MF_DROP_MODE_1);
- ok(hr == MF_E_NO_MORE_DROP_MODES, "Unexpected hr %#x.\n", hr);
+ hr = IMFQualityAdvise_SetDropMode(advise, MF_DROP_MODE_1);
+ ok(hr == MF_E_NO_MORE_DROP_MODES, "Unexpected hr %#x.\n", hr);
- hr = IMFQualityAdvise_SetQualityLevel(advise, MF_QUALITY_NORMAL_MINUS_1);
- ok(hr == MF_E_NO_MORE_QUALITY_LEVELS, "Unexpected hr %#x.\n", hr);
-}
+ hr = IMFQualityAdvise_SetQualityLevel(advise, MF_QUALITY_NORMAL_MINUS_1);
+ ok(hr == MF_E_NO_MORE_QUALITY_LEVELS, "Unexpected hr %#x.\n", hr);
- IMFQualityAdvise_Release(advise);
+ IMFQualityAdvise_Release(advise);
+ }
IMFVideoPresenter_Release(presenter);
}
--
2.20.1
More information about the wine-devel
mailing list