Module: wine Branch: master Commit: b923aea7343a384cf03dd47b086138aecfd770b1 URL: https://gitlab.winehq.org/wine/wine/-/commit/b923aea7343a384cf03dd47b086138a...
Author: Anton Baskanov baskanov@gmail.com Date: Mon Apr 24 10:20:30 2023 +0700
dsound: Clamp the shifted frequency to [DSBFREQUENCY_MIN, DSBFREQUENCY_MAX].
---
dlls/dsound/sound3d.c | 2 +- dlls/dsound/tests/ds3d.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/dsound/sound3d.c b/dlls/dsound/sound3d.c index 9a975324607..c22a3d5509f 100644 --- a/dlls/dsound/sound3d.c +++ b/dlls/dsound/sound3d.c @@ -312,7 +312,7 @@ void DSOUND_Calc3DBuffer(IDirectSoundBufferImpl *dsb) flFreq = dsb->ds3db_freq * (DEFAULT_VELOCITY/(DEFAULT_VELOCITY + flLimitedVel)); TRACE("doppler: Relative velocity (component) = %f => Doppler shift: %ld Hz -> %f Hz\n", flRelativeVel, dsb->ds3db_freq, flFreq); - dsb->freq = flFreq; + dsb->freq = max(DSBFREQUENCY_MIN, min(DSBFREQUENCY_MAX, (DWORD)flFreq)); }
DSOUND_RecalcFormat(dsb); diff --git a/dlls/dsound/tests/ds3d.c b/dlls/dsound/tests/ds3d.c index 77d3f09ec13..9c149dbcd9b 100644 --- a/dlls/dsound/tests/ds3d.c +++ b/dlls/dsound/tests/ds3d.c @@ -1450,7 +1450,6 @@ static void test_doppler(GUID *guid, BOOL play) check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, 240, 22050, 14700);
/* The shifted frequency is limited to DSBFREQUENCY_MAX. */ - /* Wine TODO: The frequency is not limited. */ check_doppler(dsound, listener, play, DS3DMODE_NORMAL, 0, 0, 1, -90, 176400, 200000);
IDirectSound3DListener_Release(listener);