Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/mmdevapi/tests/capture.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/dlls/mmdevapi/tests/capture.c b/dlls/mmdevapi/tests/capture.c index 3cdfda1a37..27a5cdc33f 100644 --- a/dlls/mmdevapi/tests/capture.c +++ b/dlls/mmdevapi/tests/capture.c @@ -308,20 +308,17 @@ static void test_capture(IAudioClient *ac, HANDLE handle, WAVEFORMATEX *wfx) hr==S_OK ? (UINT)pos : -1, pad, flags, frames);
if(hr == S_OK){ - /* The discontinuity is reported here, but is this an old or new packet? */ - todo_wine_if(!(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY)) { - /* FIXME: Some drivers fail */ - ok(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY, "expect DISCONTINUITY %x\n", flags); + if(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY){ /* Native's position is one period further than what we read. * Perhaps that's precisely the meaning of DATA_DISCONTINUITY: * signal when the position jump left a gap. */ - ok(pos == sum + frames, "Position %u gap %d\n", (UINT)pos, (UINT)pos - sum); + ok(pos == sum + frames, "Position %u last %u frames %u\n", (UINT)pos, sum, frames); + sum = pos; + }else{ /* win10 */ + ok(pos == sum, "Position %u last %u frames %u\n", (UINT)pos, sum, frames); }
ok(pad == next, "GCP %u vs. BufferSize %u\n", (UINT32)pad, next); - - if(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY) - sum = pos; }
hr = IAudioCaptureClient_ReleaseBuffer(acc, frames);