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

Alexandre Julliard julliard at winehq.org
Mon Feb 19 13:52:02 CST 2018


Module: wine
Branch: master
Commit: 473a4aaba2e7740c43ffca7843d90ee802a0da37
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=473a4aaba2e7740c43ffca7843d90ee802a0da37

Author: Alex Henrie <alexhenrie24 at gmail.com>
Date:   Mon Feb 19 02:31:29 2018 -0700

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

Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 3cdfda1..27a5cdc 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);




More information about the wine-cvs mailing list