A new 1 second long AVI file was used as the others were too short and failed on Windows, for some reason.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/qedit/tests/mediadet.c | 41 ++++++++++++++++++++++++++++++++- dlls/qedit/tests/qedit.rc | 2 ++ dlls/qedit/tests/rc.h | 1 + dlls/qedit/tests/test_long.avi | Bin 0 -> 17412 bytes 4 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 dlls/qedit/tests/test_long.avi
diff --git a/dlls/qedit/tests/mediadet.c b/dlls/qedit/tests/mediadet.c index 6a09642..0f38a04 100644 --- a/dlls/qedit/tests/mediadet.c +++ b/dlls/qedit/tests/mediadet.c @@ -570,6 +570,7 @@ static void testfilter_init(struct testfilter *filter)
static WCHAR test_avi_filename[MAX_PATH]; static WCHAR test_sound_avi_filename[MAX_PATH]; +static WCHAR test_long_avi_filename[MAX_PATH];
static BOOL unpack_avi_file(int id, WCHAR name[MAX_PATH]) { @@ -810,7 +811,8 @@ static void check_bitmap_file_(unsigned line, const WCHAR *filename, void *buffe static BOOL init_tests(void) { return unpack_avi_file(TEST_AVI_RES, test_avi_filename) - && unpack_avi_file(TEST_SOUND_AVI_RES, test_sound_avi_filename); + && unpack_avi_file(TEST_SOUND_AVI_RES, test_sound_avi_filename) + && unpack_avi_file(TEST_LONG_AVI_RES, test_long_avi_filename); }
static void test_mediadet(void) @@ -1827,6 +1829,41 @@ static void test_bitmap_grab_mode(void) ok(!ref, "Got outstanding refcount %d.\n", ref); ref = IBaseFilter_Release(&testfilter.filter.IBaseFilter_iface); ok(!ref, "Got outstanding refcount %d.\n", ref); + + /* Exercise the bitmap grab mode on an avi file */ + hr = CoCreateInstance(&CLSID_MediaDet, NULL, CLSCTX_INPROC_SERVER, + &IID_IMediaDet, (void **)&detector); + ok(hr == S_OK, "Got hr %#x.\n", hr); + + str = SysAllocString(test_long_avi_filename); + hr = IMediaDet_put_Filename(detector, str); + ok(hr == S_OK, "Got hr %#x.\n", hr); + SysFreeString(str); + + hr = IMediaDet_EnterBitmapGrabMode(detector, 0.0); + ok(hr == S_OK, "Got hr %#x.\n", hr); + hr = IMediaDet_get_OutputStreams(detector, &count); + ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr); + + str = SysAllocString(test_long_avi_filename); + hr = IMediaDet_put_Filename(detector, str); + ok(hr == S_OK, "Got hr %#x.\n", hr); + SysFreeString(str); + + hr = IMediaDet_GetSampleGrabber(detector, &sg); + ok(hr == E_NOINTERFACE, "Got hr %#x.\n", hr); + hr = IMediaDet_get_OutputStreams(detector, &count); + ok(hr == S_OK, "Got hr %#x.\n", hr); + ok(count == 1, "Got %d streams.\n", count); + + hr = IMediaDet_GetBitmapBits(detector, 0.1, NULL, buf, 640, 480); + ok(hr == S_OK, "Got hr %#x.\n", hr); + hr = IMediaDet_WriteBitmapBits(detector, 0.5, 21, 13, filename); + ok(hr == S_OK, "Got hr %#x.\n", hr); + DeleteFileW(filename); + + ref = IMediaDet_Release(detector); + ok(!ref, "Got outstanding refcount %d.\n", ref); free(buf); }
@@ -1864,6 +1901,8 @@ START_TEST(mediadet) ok(ret, "Failed to delete file, error %u.\n", GetLastError()); ret = DeleteFileW(test_sound_avi_filename); ok(ret, "Failed to delete file, error %u.\n", GetLastError()); + ret = DeleteFileW(test_long_avi_filename); + ok(ret, "Failed to delete file, error %u.\n", GetLastError());
CoUninitialize(); } diff --git a/dlls/qedit/tests/qedit.rc b/dlls/qedit/tests/qedit.rc index 733beac..85ec2f9 100644 --- a/dlls/qedit/tests/qedit.rc +++ b/dlls/qedit/tests/qedit.rc @@ -24,3 +24,5 @@ TEST_AVI_RES AVI_RES_TYPE test.avi /* @makedep: test_sound.avi */ TEST_SOUND_AVI_RES AVI_RES_TYPE test_sound.avi +/* @makedep: test_long.avi */ +TEST_LONG_AVI_RES AVI_RES_TYPE test_long.avi diff --git a/dlls/qedit/tests/rc.h b/dlls/qedit/tests/rc.h index 1de98d9..9639728 100644 --- a/dlls/qedit/tests/rc.h +++ b/dlls/qedit/tests/rc.h @@ -23,6 +23,7 @@
#define TEST_AVI_RES 1 #define TEST_SOUND_AVI_RES 2 +#define TEST_LONG_AVI_RES 3
#define AVI_RES_TYPE 256
diff --git a/dlls/qedit/tests/test_long.avi b/dlls/qedit/tests/test_long.avi new file mode 100644 index 0000000000000000000000000000000000000000..2e0fbc4e177c3f1a0e9f95ea1afb18f10c78da65 GIT binary patch literal 17412 zcmeI4u}T9$5QZn1Mp1|&60q=!6gEPX6t<!S&WMFZd-0GQBm@!(mRDI>T3X}*d<4N4 z@KJn#6oSq~Zpo!cyO8~s++}8Ovy=JQ`HSV)tGL<xITbm%jiZbBy8XQ=(n$v0yHVOX z7LoCDN#sBcZIxA#wSQBz*Loz<d)3UjW^=t(M23%pu3po*MrksP8%Ooop*BxGr+sH- zkzZ~3m`G>W-#_eYhh33g7Oy1hVsqK}`F4JD*{W*n{87E0+|Q4}hX4d1009U<00Izz z00bZa0SG`~xe3_*Kv_2)`bn>=pUz~t(_NUIv6!qZ9Ku5gKwwD;*gkDr_jh~!QEL07 zwx9Y*gFwIpGMZNc=up7LN9vA%*CHf%h7P%<h!HRWq`)r$bSU8BBXvi>Zxs?99db(% zBVYn3fnNgXP{74U>W+ZlDkM5O<dz~vzyweNzXZ^sfQygR9Ra^pNOW|_Ek%rg37`ai z37|s(7ayrR0)DHI=xOqFIM(;ZO^@_Ais^Y2_I`Elzo<RyZ|nIQv;Nyg(XVY4{r8=s W-`FksAA3drtXA~D^gxYF|HB{S_cjRt
literal 0 HcmV?d00001