summaryrefslogtreecommitdiffstats
path: root/Alc/ALu.c
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/ALu.c')
-rw-r--r--Alc/ALu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index 01621f6f..6b7dc364 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -888,7 +888,11 @@ another_source:
DataPosInt = ALSource->position;
DataPosFrac = ALSource->position_fraction;
- CalcSourceParams(ALContext, ALSource, (Channels==1)?AL_TRUE:AL_FALSE);
+ if(ALSource->NeedsUpdate)
+ {
+ CalcSourceParams(ALContext, ALSource, (Channels==1)?AL_TRUE:AL_FALSE);
+ ALSource->NeedsUpdate = AL_FALSE;
+ }
/* Compute 18.14 fixed point step */
Pitch = (ALSource->Params.Pitch*Frequency) / DeviceFreq;