Fixed bug in cache init.
diff --git a/dlls/msacm/internal.c b/dlls/msacm/internal.c
index 99cbbf7..d23930b 100644
--- a/dlls/msacm/internal.c
+++ b/dlls/msacm/internal.c
@@ -70,11 +70,10 @@
*/
static BOOL MSACM_FillCache(PWINE_ACMDRIVERID padid)
{
- HACMDRIVER had = 0;
- int ntag;
- ACMDRIVERDETAILSW add;
- ACMFORMATDETAILSW aftd;
- WAVEFORMATEX wfx;
+ HACMDRIVER had = 0;
+ int ntag;
+ ACMDRIVERDETAILSW add;
+ ACMFORMATTAGDETAILSW aftd;
if (acmDriverOpen(&had, (HACMDRIVERID)padid, 0) != 0)
return FALSE;
@@ -95,20 +94,17 @@
padid->fdwSupport = add.fdwSupport;
aftd.cbStruct = sizeof(aftd);
- /* don't care about retrieving full struct... so a bare WAVEFORMATEX should do */
- aftd.pwfx = &wfx;
- aftd.cbwfx = sizeof(wfx);
-
+
for (ntag = 0; ntag < add.cFormatTags; ntag++) {
- aftd.dwFormatIndex = ntag;
- if (MSACM_Message(had, ACMDM_FORMAT_DETAILS, (LPARAM)&aftd, ACM_FORMATDETAILSF_INDEX)) {
+ aftd.dwFormatTagIndex = ntag;
+ if (MSACM_Message(had, ACMDM_FORMATTAG_DETAILS, (LPARAM)&aftd, ACM_FORMATTAGDETAILSF_INDEX)) {
TRACE("IIOs (%s)\n", padid->pszDriverAlias);
goto errCleanUp;
}
padid->aFormatTag[ntag].dwFormatTag = aftd.dwFormatTag;
- padid->aFormatTag[ntag].cbwfx = aftd.cbwfx;
+ padid->aFormatTag[ntag].cbwfx = aftd.cbFormatSize;
}
-
+
acmDriverClose(had, 0);
return TRUE;