Commit 51e3c239 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

devenum: Added more strict CLSID_VideoCompressorCategory test.

parent e303f116
......@@ -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 */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment