Francois Gouget : mmdevapi/tests: Work around Initialize() render breakage on Win 10.

Alexandre Julliard julliard at winehq.org
Thu Nov 12 15:17:46 CST 2020


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

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Mon Nov  9 17:40:25 2020 +0100

mmdevapi/tests: Work around Initialize() render breakage on Win 10.

Calling Initialize() twice causes later Start() operations to report a
failure on Windows 10 >= 1607.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mmdevapi/tests/render.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/mmdevapi/tests/render.c b/dlls/mmdevapi/tests/render.c
index 8c82a1a81fd..a0aa1b18936 100644
--- a/dlls/mmdevapi/tests/render.c
+++ b/dlls/mmdevapi/tests/render.c
@@ -337,6 +337,14 @@ static void test_audioclient(void)
             trace("Initialize(duration=0) GetBufferSize is %u\n", num);
     }
 
+    hr = IAudioClient_Initialize(ac, AUDCLNT_SHAREMODE_SHARED, 0, 5000000, 0, pwfx, NULL);
+    ok(hr == AUDCLNT_E_ALREADY_INITIALIZED, "Calling Initialize twice returns %08x\n", hr);
+
+    hr = IAudioClient_Start(ac);
+    ok(hr == S_OK ||
+       broken(hr == AUDCLNT_E_DEVICE_INVALIDATED), /* Win10 >= 1607 */
+       "Start on a doubly initialized stream returns %08x\n", hr);
+
     IAudioClient_Release(ac);
 
     hr = IMMDevice_Activate(dev, &IID_IAudioClient, CLSCTX_INPROC_SERVER,
@@ -406,9 +414,6 @@ static void test_audioclient(void)
     if(t2 == 0)
         win10 = TRUE;
 
-    hr = IAudioClient_Initialize(ac, AUDCLNT_SHAREMODE_SHARED, 0, 5000000, 0, pwfx, NULL);
-    ok(hr == AUDCLNT_E_ALREADY_INITIALIZED, "Calling Initialize twice returns %08x\n", hr);
-
     hr = IAudioClient_SetEventHandle(ac, NULL);
     ok(hr == E_INVALIDARG, "SetEventHandle(NULL) returns %08x\n", hr);
 




More information about the wine-cvs mailing list