Module: wine Branch: master Commit: 23eca82ac333f1f5a9feb6edb2c022a3e7e59f98 URL: https://gitlab.winehq.org/wine/wine/-/commit/23eca82ac333f1f5a9feb6edb2c022a...
Author: Anton Baskanov baskanov@gmail.com Date: Mon Apr 24 14:58:07 2023 +0700
dsound/tests: Test distance and Doppler factor.
---
dlls/dsound/tests/ds3d.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)
diff --git a/dlls/dsound/tests/ds3d.c b/dlls/dsound/tests/ds3d.c index a8da83df6e1..14f83d9c0a0 100644 --- a/dlls/dsound/tests/ds3d.c +++ b/dlls/dsound/tests/ds3d.c @@ -1456,6 +1456,44 @@ static void test_doppler(GUID *guid, BOOL play)
check_doppler(dsound, listener, play, DS3DMODE_DISABLE, 0, 0, 1, -90, 22050, 22050);
+ hr = IDirectSound3DListener_SetDistanceFactor(listener, 10, DS3D_DEFERRED); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 0.1f, -9, 22050, 29400); + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 0.1f, 9, 22050, 17640); + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 9, 0.1f, 0, 22050, 29400); + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, -9, 0.1f, 0, 22050, 17640); + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 0.1f, -24, 22050, 44100); + /* Wine TODO: The distance factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 0.1f, 24, 22050, 14700); + + hr = IDirectSound3DListener_SetDistanceFactor(listener, DS3D_DEFAULTDISTANCEFACTOR, DS3D_DEFERRED); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + hr = IDirectSound3DListener_SetDopplerFactor(listener, 2, DS3D_DEFERRED); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, -45, 22050, 29400); + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 45, 22050, 17640); + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 45, 1, 0, 22050, 29400); + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, -45, 1, 0, 22050, 17640); + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, -120, 22050, 44100); + /* Wine TODO: The Doppler factor has no effect. */ + check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 120, 22050, 14700); + + hr = IDirectSound3DListener_SetDopplerFactor(listener, DS3D_DEFAULTDOPPLERFACTOR, DS3D_DEFERRED); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + IDirectSound3DListener_Release(listener); ref = IDirectSoundBuffer_Release(primary); ok(!ref, "Got outstanding refcount %ld.\n", ref);