Module: wine Branch: master Commit: b202b9f72dbdd3ff31ac732521d705c126feed6d URL: http://source.winehq.org/git/wine.git/?a=commit;h=b202b9f72dbdd3ff31ac732521...
Author: Andrew Eikum aeikum@codeweavers.com Date: Mon Sep 17 15:44:06 2012 -0500
dsound: Don't require WAVE_FORMAT_EXTENSIBLE for non-16-bit formats.
Fix proposed by Andrew Nguyen.
---
dlls/dsound/dsound.c | 5 ----- dlls/dsound/tests/dsound.c | 2 +- 2 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c index 023ef8b..a7a6f13 100644 --- a/dlls/dsound/dsound.c +++ b/dlls/dsound/dsound.c @@ -940,11 +940,6 @@ HRESULT DirectSoundDevice_CreateSoundBuffer( } pwfxe = (WAVEFORMATEXTENSIBLE*)dsbd->lpwfxFormat;
- if (pwfxe->Format.wBitsPerSample != 16 && pwfxe->Format.wBitsPerSample != 8 && pwfxe->Format.wFormatTag != WAVE_FORMAT_EXTENSIBLE) - { - WARN("wBitsPerSample=%d needs a WAVEFORMATEXTENSIBLE\n", dsbd->lpwfxFormat->wBitsPerSample); - return DSERR_CONTROLUNAVAIL; - } if (pwfxe->Format.wFormatTag == WAVE_FORMAT_EXTENSIBLE) { /* check if cbSize is at least 22 bytes */ diff --git a/dlls/dsound/tests/dsound.c b/dlls/dsound/tests/dsound.c index f86464b..5b941a3 100644 --- a/dlls/dsound/tests/dsound.c +++ b/dlls/dsound/tests/dsound.c @@ -753,7 +753,7 @@ static HRESULT test_secondary(LPGUID lpGuid) if (gotdx8 || wfx.wBitsPerSample <= 16 || wfx.wFormatTag == WAVE_FORMAT_IEEE_FLOAT) { if (wfx.wBitsPerSample > 16) - ok(((rc == DSERR_CONTROLUNAVAIL || rc == DSERR_INVALIDCALL || rc == DSERR_INVALIDPARAM /* 2003 */) && !secondary) + ok(broken((rc == DSERR_CONTROLUNAVAIL || rc == DSERR_INVALIDCALL || rc == DSERR_INVALIDPARAM /* 2003 */) && !secondary) || rc == DS_OK, /* driver dependent? */ "IDirectSound_CreateSoundBuffer() " "should have returned (DSERR_CONTROLUNAVAIL or DSERR_INVALIDCALL) "