aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2015-10-23 22:34:46 -0700
committerChris Robinson <[email protected]>2015-10-24 00:47:58 -0700
commit2a62b3853082169e665d5eee2121ff34cfe0abc1 (patch)
treeae02e0c33a92d806a075a693040515c82eb4cb15 /Alc/mixer.c
parent714354caeef1927c3b5ecd132d7cc090e7672106 (diff)
Update filter histories even when they're not used
If the filter properties are continually updated, and the HF or LF gain goes from <1, to 1, and later back to <1, the history shouldn't hold stale values from before it was at 1.
Diffstat (limited to 'Alc/mixer.c')
-rw-r--r--Alc/mixer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c
index e8b94b17..4917477a 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -260,12 +260,16 @@ static const ALfloat *DoFilters(ALfilterState *lpfilter, ALfilterState *hpfilter
switch(type)
{
case AF_None:
+ ALfilterState_processPassthru(lpfilter, src, numsamples);
+ ALfilterState_processPassthru(hpfilter, src, numsamples);
break;
case AF_LowPass:
ALfilterState_process(lpfilter, dst, src, numsamples);
+ ALfilterState_processPassthru(hpfilter, dst, numsamples);
return dst;
case AF_HighPass:
+ ALfilterState_processPassthru(lpfilter, src, numsamples);
ALfilterState_process(hpfilter, dst, src, numsamples);
return dst;