aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2014-10-31 16:55:19 -0700
committerChris Robinson <[email protected]>2014-10-31 16:55:19 -0700
commit1c0596c233525e9a582269faa4ccb017e5938a28 (patch)
treece4b5a14555d20c5f7c233adf25971e008643c84
parent0e09e779f9268a177a5595572971e5497a3e412a (diff)
Check the absolute gain value for silence
Future B-Format support will be using negative gains, which still need to be applied.
-rw-r--r--Alc/mixer_c.c2
-rw-r--r--Alc/mixer_neon.c2
-rw-r--r--Alc/mixer_sse.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/Alc/mixer_c.c b/Alc/mixer_c.c
index f3a229e5..0fdcc087 100644
--- a/Alc/mixer_c.c
+++ b/Alc/mixer_c.c
@@ -118,7 +118,7 @@ void Mix_C(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer)[B
Gains[c].Current = gain;
}
- if(!(gain > GAIN_SILENCE_THRESHOLD))
+ if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD))
continue;
for(;pos < BufferSize;pos++)
OutBuffer[c][OutPos+pos] += data[pos]*gain;
diff --git a/Alc/mixer_neon.c b/Alc/mixer_neon.c
index 8a27ddbf..8ce17644 100644
--- a/Alc/mixer_neon.c
+++ b/Alc/mixer_neon.c
@@ -102,7 +102,7 @@ void Mix_Neon(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer
OutBuffer[c][OutPos+pos] += data[pos]*gain;
}
- if(!(gain > GAIN_SILENCE_THRESHOLD))
+ if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD))
continue;
gain4 = vdupq_n_f32(gain);
for(;BufferSize-pos > 3;pos += 4)
diff --git a/Alc/mixer_sse.c b/Alc/mixer_sse.c
index 970619ec..d86cf749 100644
--- a/Alc/mixer_sse.c
+++ b/Alc/mixer_sse.c
@@ -186,7 +186,7 @@ void Mix_SSE(const ALfloat *data, ALuint OutChans, ALfloat (*restrict OutBuffer)
OutBuffer[c][OutPos+pos] += data[pos]*gain;
}
- if(!(gain > GAIN_SILENCE_THRESHOLD))
+ if(!(fabsf(gain) > GAIN_SILENCE_THRESHOLD))
continue;
gain4 = _mm_set1_ps(gain);
for(;BufferSize-pos > 3;pos += 4)