[PATCH 3/3] msvfw32: Set fccType in ICInfo().
Zebediah Figura
z.figura12 at gmail.com
Fri Feb 9 09:57:30 CST 2018
Fixes https://bugs.winehq.org/show_bug.cgi?id=44489
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/msvfw32/msvideo_main.c | 2 ++
dlls/msvfw32/tests/msvfw.c | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c
index 3c9e098..5c30a61 100644
--- a/dlls/msvfw32/msvideo_main.c
+++ b/dlls/msvfw32/msvideo_main.c
@@ -297,10 +297,12 @@ DWORD WINAPI VideoForWindowsVersion(void)
static BOOL ICInfo_enum_handler(const char *name, const char *driver, unsigned int nr, void *param)
{
ICINFO *lpicinfo = param;
+ DWORD fccType = mmioStringToFOURCCA(name, 0);
DWORD fccHandler = mmioStringToFOURCCA(name + 5, 0);
if (lpicinfo->fccHandler != nr && compare_fourcc(lpicinfo->fccHandler, fccHandler))
return FALSE;
+ lpicinfo->fccType = fccType;
lpicinfo->fccHandler = fccHandler;
lpicinfo->dwFlags = 0;
lpicinfo->dwVersion = 0;
diff --git a/dlls/msvfw32/tests/msvfw.c b/dlls/msvfw32/tests/msvfw.c
index c6fe0f2..beeca9f 100644
--- a/dlls/msvfw32/tests/msvfw.c
+++ b/dlls/msvfw32/tests/msvfw.c
@@ -294,6 +294,7 @@ static void test_ICInfo(void)
for (i = found = 0; ICInfo(0, i, &info); i++)
{
trace("Codec name: %s, fccHandler: 0x%08x\n", wine_dbgstr_w(info.szName), info.fccHandler);
+ ok(info.fccType, "expected nonzero fccType\n");
ok(ICInfo(info.fccType, info.fccHandler, &info2),
"ICInfo failed on fcc 0x%08x\n", info.fccHandler);
@@ -308,6 +309,11 @@ static void test_ICInfo(void)
"ICInfo failed on fcc 0x%08x\n", info.fccHandler);
}
ok(found != 0, "expected at least one codec\n");
+
+ memset(&info, 0, sizeof(info));
+ ok(!ICInfo(ICTYPE_VIDEO, mmioFOURCC('f','a','k','e'), &info), "expected failure\n");
+ ok(info.fccType == ICTYPE_VIDEO, "got 0x%08x\n", info.fccType);
+ ok(info.fccHandler == mmioFOURCC('f','a','k','e'), "got 0x%08x\n", info.fccHandler);
}
START_TEST(msvfw)
--
2.7.4
More information about the wine-devel
mailing list