https://git.reactos.org/?p=reactos.git;a=commitdiff;h=32eba1089227733c73a0d7...
commit 32eba1089227733c73a0d7cf9858b1b84408c937 Author: Amine Khaldi amine.khaldi@reactos.org AuthorDate: Sat Mar 17 13:23:50 2018 +0100 Commit: Amine Khaldi amine.khaldi@reactos.org CommitDate: Sat Mar 17 13:23:50 2018 +0100
[MMDEVAPI_WINETEST] Sync with Wine Staging 3.3. CORE-14434 --- modules/rostests/winetests/mmdevapi/capture.c | 17 +++++++---------- modules/rostests/winetests/mmdevapi/mmdevenum.c | 3 +++ modules/rostests/winetests/mmdevapi/render.c | 13 ++++++++++--- 3 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/modules/rostests/winetests/mmdevapi/capture.c b/modules/rostests/winetests/mmdevapi/capture.c index 3cdfda1a37..0fa9f0cab8 100644 --- a/modules/rostests/winetests/mmdevapi/capture.c +++ b/modules/rostests/winetests/mmdevapi/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); @@ -416,9 +413,9 @@ static void test_capture(IAudioClient *ac, HANDLE handle, WAVEFORMATEX *wfx) hr = IAudioCaptureClient_GetBuffer(acc, &data, &frames, &flags, &pos, &qpc); ok(hr == S_OK, "Valid IAudioCaptureClient_GetBuffer returns %08x\n", hr); trace("Running position %d pad %u flags %x, amount of frames locked: %u\n", - hr==S_OK ? (UINT)pos : -1, pad, flags, frames); + SUCCEEDED(hr) ? (UINT)pos : -1, pad, flags, frames);
- if(hr == S_OK){ + if(SUCCEEDED(hr)){ /* 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); diff --git a/modules/rostests/winetests/mmdevapi/mmdevenum.c b/modules/rostests/winetests/mmdevapi/mmdevenum.c index 12e2156125..23f5b82b1d 100644 --- a/modules/rostests/winetests/mmdevapi/mmdevenum.c +++ b/modules/rostests/winetests/mmdevapi/mmdevenum.c @@ -21,6 +21,9 @@ #define COBJMACROS
#include "initguid.h" +#ifndef __REACTOS__ +#include "endpointvolume.h" +#endif #include "mmdeviceapi.h" #include "audioclient.h" #include "audiopolicy.h" diff --git a/modules/rostests/winetests/mmdevapi/render.c b/modules/rostests/winetests/mmdevapi/render.c index 8487fbbb92..b1c62f0ccf 100644 --- a/modules/rostests/winetests/mmdevapi/render.c +++ b/modules/rostests/winetests/mmdevapi/render.c @@ -29,13 +29,19 @@
#define COBJMACROS
+#ifdef STANDALONE +#include "initguid.h" +#endif + #include "unknwn.h" #include "uuids.h" #include "mmdeviceapi.h" #include "mmsystem.h" #include "audioclient.h" #include "audiopolicy.h" -#include "initguid.h" +#ifdef __REACTOS__ +#include <initguid.h> +#endif #include "endpointvolume.h"
static const unsigned int win_formats[][4] = { @@ -945,8 +951,9 @@ static void test_clock(int share) ok(gbsize == bufsize, "BufferSize %u at rate %u\n", gbsize, pwfx->nSamplesPerSec); else - ok(gbsize == parts * fragment || gbsize == MulDiv(bufsize, 1, 1024) * 1024, - "BufferSize %u misfits fragment size %u at rate %u\n", gbsize, fragment, pwfx->nSamplesPerSec); + todo_wine + ok(gbsize == parts * fragment || gbsize == MulDiv(bufsize, 1, 1024) * 1024, + "BufferSize %u misfits fragment size %u at rate %u\n", gbsize, fragment, pwfx->nSamplesPerSec);
/* In shared mode, GetCurrentPadding decreases in multiples of * fragment size (i.e. updated only at period ticks), whereas