Jacek Caban : devenum: Added more strict CLSID_VideoCompressorCategory test.
Alexandre Julliard
julliard at winehq.org
Thu Jan 9 12:52:49 CST 2014
Module: wine
Branch: master
Commit: 51e3c2397ca752f5f095a61344a52886a10187c8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=51e3c2397ca752f5f095a61344a52886a10187c8
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Jan 9 11:11:45 2014 +0100
devenum: Added more strict CLSID_VideoCompressorCategory test.
---
dlls/devenum/tests/devenum.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/dlls/devenum/tests/devenum.c b/dlls/devenum/tests/devenum.c
index c7f765b..b6158d6 100644
--- a/dlls/devenum/tests/devenum.c
+++ b/dlls/devenum/tests/devenum.c
@@ -29,6 +29,8 @@
#include "uuids.h"
static const WCHAR friendly_name[] = {'F','r','i','e','n','d','l','y','N','a','m','e',0};
+static const WCHAR fcc_handlerW[] = {'F','c','c','H','a','n','d','l','e','r',0};
+static const WCHAR mrleW[] = {'m','r','l','e',0};
struct category
{
@@ -52,6 +54,7 @@ static void test_devenum(IBindCtx *bind_ctx)
HRESULT res;
ICreateDevEnum* create_devenum;
IEnumMoniker* enum_moniker = NULL;
+ BOOL have_mrle = FALSE;
int i;
res = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC,
@@ -96,6 +99,17 @@ static void test_devenum(IBindCtx *bind_ctx)
{
trace(" ???\n");
}
+
+ if (IsEqualGUID(&CLSID_VideoCompressorCategory, am_categories[i].clsid)) {
+ /* Test well known compressor to ensure that we really enumerate codecs */
+ hr = IPropertyBag_Read(prop_bag, fcc_handlerW, &var, NULL);
+ if (SUCCEEDED(hr)) {
+ ok(V_VT(&var) == VT_BSTR, "V_VT(var) = %d\n", V_VT(&var));
+ if(!lstrcmpW(V_BSTR(&var), mrleW))
+ have_mrle = TRUE;
+ VariantClear(&var);
+ }
+ }
}
if (prop_bag)
@@ -107,6 +121,10 @@ static void test_devenum(IBindCtx *bind_ctx)
}
ICreateDevEnum_Release(create_devenum);
+
+ /* 64-bit windows are missing mrle codec */
+ if(sizeof(void*) == 4)
+ ok(have_mrle, "mrle codec not found\n");
}
/* CLSID_CDeviceMoniker */
More information about the wine-cvs
mailing list