From: Anton Baskanov <baskanov@gmail.com> --- dlls/dsound/mixer.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dlls/dsound/mixer.c b/dlls/dsound/mixer.c index 56b4af25a35..43a9a8c4f91 100644 --- a/dlls/dsound/mixer.c +++ b/dlls/dsound/mixer.c @@ -326,9 +326,13 @@ static void downsample(LONG64 freq_adjust_num, LONG64 freq_adjust_den, LONG64 fr UINT idx = idx_num / freq_adjust_num * fir_width; float rem = idx_num % freq_adjust_num / (float)freq_adjust_num; + float input_value = input[j] * firgain; + float input_value0 = (1.0f - rem) * input_value; + float input_value1 = rem * input_value; + UINT i; for (i = 0; i < fir_width; ++i) - output[opos + i] += (fir[idx + i] * (1.0f - rem) + fir[idx + i + fir_width] * rem) * input[j] * firgain; + output[opos + i] += fir[idx + i] * input_value0 + fir[idx + fir_width + i] * input_value1; } } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10255