aboutsummaryrefslogtreecommitdiffstats
path: root/Alc
diff options
context:
space:
mode:
Diffstat (limited to 'Alc')
-rw-r--r--Alc/ALu.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 23b7b057..ddc0cc53 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -405,11 +405,7 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A
if(Pitch > (ALfloat)MAX_PITCH)
voice->Step = MAX_PITCH<<FRACTIONBITS;
else
- {
- voice->Step = fastf2i(Pitch*FRACTIONONE);
- if(voice->Step == 0)
- voice->Step = 1;
- }
+ voice->Step = maxi(fastf2i(Pitch*FRACTIONONE + 0.5f), 1);
Channels = ALBuffer->FmtChannels;
break;
@@ -991,11 +987,7 @@ ALvoid CalcSourceParams(ALvoice *voice, const ALsource *ALSource, const ALCconte
if(Pitch > (ALfloat)MAX_PITCH)
voice->Step = MAX_PITCH<<FRACTIONBITS;
else
- {
- voice->Step = fastf2i(Pitch*FRACTIONONE);
- if(voice->Step == 0)
- voice->Step = 1;
- }
+ voice->Step = maxi(fastf2i(Pitch*FRACTIONONE + 0.5f), 1);
break;
}