From 61aaf6193ee65cf25dc847aa010e009484e40992 Mon Sep 17 00:00:00 2001 From: Sour Date: Tue, 11 Feb 2020 23:03:30 -0500 Subject: [PATCH] Equalizer: Fixed sample wrapping when outside of int16_t range --- Core/SoundMixer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/SoundMixer.cpp b/Core/SoundMixer.cpp index 59ffcf15..b05899bb 100644 --- a/Core/SoundMixer.cpp +++ b/Core/SoundMixer.cpp @@ -330,7 +330,7 @@ void SoundMixer::ApplyEqualizer(orfanidis_eq::eq1* equalizer, size_t sampleCount double in = _outputBuffer[i * 2 + offset]; double out; equalizer->sbs_process(&in, &out); - _outputBuffer[i * 2 + offset] = (int16_t)out; + _outputBuffer[i * 2 + offset] = (int16_t)std::max(std::min(out, 32767.0), -32768.0); } } }