mmdevapi/tests: Fix capture test that consistently fails on Windows 10.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alex Henrie 2018-02-19 02:31:29 -07:00 committed by Alexandre Julliard
parent d5a190b052
commit 473a4aaba2
1 changed files with 5 additions and 8 deletions

View File

@ -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);