diff --git a/dlls/msacm32/stream.c b/dlls/msacm32/stream.c index bdfc3ccf2aa..b380b461ad3 100644 --- a/dlls/msacm32/stream.c +++ b/dlls/msacm32/stream.c @@ -302,14 +302,16 @@ MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, if ((was = ACM_GetStream(has)) == NULL) { WARN("invalid handle\n"); - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; } if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER)) { WARN("invalid parameter\n"); - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; + } + if (fdwPrepare) { + WARN("invalid use of reserved parameter\n"); + return MMSYSERR_INVALFLAG; } - if (fdwPrepare) - ret = MMSYSERR_INVALFLAG; /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same * size. some fields are private to msacm internals, and are exposed diff --git a/dlls/msacm32/tests/msacm.c b/dlls/msacm32/tests/msacm.c index 812a1bbf3a5..06e530b6293 100644 --- a/dlls/msacm32/tests/msacm.c +++ b/dlls/msacm32/tests/msacm.c @@ -601,7 +601,6 @@ todo_wine hdr.cbSrcLength = src->wfx.nBlockAlign; mr = acmStreamPrepareHeader(has, &hdr, 1); /* invalid use of reserved parameter */ -todo_wine ok(mr == MMSYSERR_INVALFLAG, "expected 0x0a, got 0x%x\n", mr); mr = acmStreamPrepareHeader(has, &hdr, 0);