mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 15:02:59 +00:00
[MMDEVAPI_WINETEST] Sync with Wine Staging 3.3. CORE-14434
This commit is contained in:
parent
9c982d0105
commit
32eba10892
3 changed files with 20 additions and 13 deletions
|
@ -308,20 +308,17 @@ static void test_capture(IAudioClient *ac, HANDLE handle, WAVEFORMATEX *wfx)
|
||||||
hr==S_OK ? (UINT)pos : -1, pad, flags, frames);
|
hr==S_OK ? (UINT)pos : -1, pad, flags, frames);
|
||||||
|
|
||||||
if(hr == S_OK){
|
if(hr == S_OK){
|
||||||
/* The discontinuity is reported here, but is this an old or new packet? */
|
if(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY){
|
||||||
todo_wine_if(!(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY)) {
|
|
||||||
/* FIXME: Some drivers fail */
|
|
||||||
ok(flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY, "expect DISCONTINUITY %x\n", flags);
|
|
||||||
/* Native's position is one period further than what we read.
|
/* Native's position is one period further than what we read.
|
||||||
* Perhaps that's precisely the meaning of DATA_DISCONTINUITY:
|
* Perhaps that's precisely the meaning of DATA_DISCONTINUITY:
|
||||||
* signal when the position jump left a gap. */
|
* 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);
|
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);
|
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);
|
hr = IAudioCaptureClient_GetBuffer(acc, &data, &frames, &flags, &pos, &qpc);
|
||||||
ok(hr == S_OK, "Valid IAudioCaptureClient_GetBuffer returns %08x\n", hr);
|
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",
|
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
|
/* Some w7 machines signal DATA_DISCONTINUITY here following the
|
||||||
* previous AUDCLNT_S_BUFFER_EMPTY, others not. What logic? */
|
* previous AUDCLNT_S_BUFFER_EMPTY, others not. What logic? */
|
||||||
ok(pos >= sum, "Position %u gap %d\n", (UINT)pos, (UINT)pos - sum);
|
ok(pos >= sum, "Position %u gap %d\n", (UINT)pos, (UINT)pos - sum);
|
||||||
|
|
|
@ -21,6 +21,9 @@
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
|
||||||
#include "initguid.h"
|
#include "initguid.h"
|
||||||
|
#ifndef __REACTOS__
|
||||||
|
#include "endpointvolume.h"
|
||||||
|
#endif
|
||||||
#include "mmdeviceapi.h"
|
#include "mmdeviceapi.h"
|
||||||
#include "audioclient.h"
|
#include "audioclient.h"
|
||||||
#include "audiopolicy.h"
|
#include "audiopolicy.h"
|
||||||
|
|
|
@ -29,13 +29,19 @@
|
||||||
|
|
||||||
#define COBJMACROS
|
#define COBJMACROS
|
||||||
|
|
||||||
|
#ifdef STANDALONE
|
||||||
|
#include "initguid.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "unknwn.h"
|
#include "unknwn.h"
|
||||||
#include "uuids.h"
|
#include "uuids.h"
|
||||||
#include "mmdeviceapi.h"
|
#include "mmdeviceapi.h"
|
||||||
#include "mmsystem.h"
|
#include "mmsystem.h"
|
||||||
#include "audioclient.h"
|
#include "audioclient.h"
|
||||||
#include "audiopolicy.h"
|
#include "audiopolicy.h"
|
||||||
#include "initguid.h"
|
#ifdef __REACTOS__
|
||||||
|
#include <initguid.h>
|
||||||
|
#endif
|
||||||
#include "endpointvolume.h"
|
#include "endpointvolume.h"
|
||||||
|
|
||||||
static const unsigned int win_formats[][4] = {
|
static const unsigned int win_formats[][4] = {
|
||||||
|
@ -945,8 +951,9 @@ static void test_clock(int share)
|
||||||
ok(gbsize == bufsize,
|
ok(gbsize == bufsize,
|
||||||
"BufferSize %u at rate %u\n", gbsize, pwfx->nSamplesPerSec);
|
"BufferSize %u at rate %u\n", gbsize, pwfx->nSamplesPerSec);
|
||||||
else
|
else
|
||||||
ok(gbsize == parts * fragment || gbsize == MulDiv(bufsize, 1, 1024) * 1024,
|
todo_wine
|
||||||
"BufferSize %u misfits fragment size %u at rate %u\n", gbsize, fragment, pwfx->nSamplesPerSec);
|
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
|
/* In shared mode, GetCurrentPadding decreases in multiples of
|
||||||
* fragment size (i.e. updated only at period ticks), whereas
|
* fragment size (i.e. updated only at period ticks), whereas
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue