Commit 8454cb17 authored by Paul Vriens's avatar Paul Vriens Committed by Alexandre Julliard

dsound/tests: Fix test failures on WinXP and 2003.

parent f00def50
...@@ -349,18 +349,21 @@ void test_buffer(LPDIRECTSOUND dso, LPDIRECTSOUNDBUFFER *dsbo, ...@@ -349,18 +349,21 @@ void test_buffer(LPDIRECTSOUND dso, LPDIRECTSOUNDBUFFER *dsbo,
dsbcaps.dwBufferBytes); dsbcaps.dwBufferBytes);
} }
/* Query the format size. Note that it may not match sizeof(wfx) */ /* Query the format size. */
size=0; size=0;
rc=IDirectSoundBuffer_GetFormat(*dsbo,NULL,0,&size); rc=IDirectSoundBuffer_GetFormat(*dsbo,NULL,0,&size);
ok(rc==DS_OK && size!=0,"IDirectSoundBuffer_GetFormat() should have " ok(rc==DS_OK && size!=0,"IDirectSoundBuffer_GetFormat() should have "
"returned the needed size: rc=%s size=%d\n",DXGetErrorString8(rc),size); "returned the needed size: rc=%s size=%d\n",DXGetErrorString8(rc),size);
rc=IDirectSoundBuffer_GetFormat(*dsbo,&wfx,sizeof(wfx),NULL); ok(size == sizeof(WAVEFORMATEX) || size == sizeof(WAVEFORMATEXTENSIBLE),
if (wfx.wFormatTag == WAVE_FORMAT_EXTENSIBLE) "Expected a correct structure size, got %d\n", size);
{
if (size == sizeof(WAVEFORMATEX)) {
rc=IDirectSoundBuffer_GetFormat(*dsbo,&wfx,size,NULL);
}
else if (size == sizeof(WAVEFORMATEXTENSIBLE)) {
WAVEFORMATEXTENSIBLE wfxe; WAVEFORMATEXTENSIBLE wfxe;
ok(rc == DSERR_INVALIDPARAM, "IDirectSoundBuffer_GetFormat returned: %s\n", DXGetErrorString8(rc)); rc=IDirectSoundBuffer_GetFormat(*dsbo,(WAVEFORMATEX*)&wfxe,size,NULL);
rc=IDirectSoundBuffer_GetFormat(*dsbo,(WAVEFORMATEX*)&wfxe,sizeof(wfxe),NULL);
wfx = wfxe.Format; wfx = wfxe.Format;
} }
ok(rc==DS_OK, ok(rc==DS_OK,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment