Maarten Lankhorst : mmdevapi: Add tests for checking events to capture.
Alexandre Julliard
julliard at winehq.org
Thu Mar 1 13:12:59 CST 2012
Module: wine
Branch: master
Commit: 27adecec49c7a02f2e8cbdbed9d2012e97bb6532
URL: http://source.winehq.org/git/wine.git/?a=commit;h=27adecec49c7a02f2e8cbdbed9d2012e97bb6532
Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date: Wed Feb 29 23:43:56 2012 +0100
mmdevapi: Add tests for checking events to capture.
---
dlls/mmdevapi/tests/capture.c | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/dlls/mmdevapi/tests/capture.c b/dlls/mmdevapi/tests/capture.c
index e13e813..96ddf77 100644
--- a/dlls/mmdevapi/tests/capture.c
+++ b/dlls/mmdevapi/tests/capture.c
@@ -82,7 +82,7 @@ static void test_capture(IAudioClient *ac, HANDLE handle, WAVEFORMATEX *wfx)
HRESULT hr;
UINT32 frames, next, pad, sum = 0;
BYTE *data;
- DWORD flags;
+ DWORD flags, r;
UINT64 pos, qpc;
REFERENCE_TIME period;
@@ -413,8 +413,35 @@ static void test_capture(IAudioClient *ac, HANDLE handle, WAVEFORMATEX *wfx)
/* Some w7 machines signal DATA_DISCONTINUITY here following the
* previous AUDCLNT_S_BUFFER_EMPTY, others not. What logic? */
ok(pos >= sum, "Position %u gap %d\n", (UINT)pos, (UINT)pos - sum);
+ IAudioCaptureClient_ReleaseBuffer(acc, frames);
}
+ hr = IAudioClient_Stop(ac);
+ ok(hr == S_OK, "Stop failed: %08x\n", hr);
+
+ ok(ResetEvent(handle), "ResetEvent\n");
+
+ /* Still receiving events! */
+ r = WaitForSingleObject(handle, 20);
+ todo_wine ok(r == WAIT_OBJECT_0, "Wait(event) after Stop gave %x\n", r);
+
+ hr = IAudioClient_Reset(ac);
+ ok(hr == S_OK, "Reset failed: %08x\n", hr);
+
+ ok(ResetEvent(handle), "ResetEvent\n");
+
+ r = WaitForSingleObject(handle, 120);
+ todo_wine ok(r == WAIT_OBJECT_0, "Wait(event) after Reset gave %x\n", r);
+
+ hr = IAudioClient_SetEventHandle(ac, NULL);
+ ok(hr == E_INVALIDARG, "SetEventHandle(NULL) returns %08x\n", hr);
+
+ r = WaitForSingleObject(handle, 70);
+ todo_wine ok(r == WAIT_OBJECT_0, "Wait(NULL event) gave %x\n", r);
+
+ hr = IAudioClient_Start(ac);
+ ok(hr == S_OK, "Start failed: %08x\n", hr);
+
IUnknown_Release(acc);
}
More information about the wine-cvs
mailing list