aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2014-05-18 09:31:08 -0700
committerChris Robinson <[email protected]>2014-05-18 09:31:08 -0700
commit5a1abf69189463312787921f5a3cf5fd35bf65c2 (patch)
treee48f2cd51f7aa4bfe2a92489bf82445f2d9d98d3 /Alc/mixer.c
parent29b5dae6aa010224b2fd428530e1cd67d6d92e1a (diff)
Use different parameters for HRTF mixers
Diffstat (limited to 'Alc/mixer.c')
-rw-r--r--Alc/mixer.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/Alc/mixer.c b/Alc/mixer.c
index b50651c8..e1be5fd9 100644
--- a/Alc/mixer.c
+++ b/Alc/mixer.c
@@ -350,9 +350,18 @@ ALvoid MixSource(ALactivesource *src, ALCdevice *Device, ALuint SamplesToDo)
DoFilters(&directparms->LpFilter[chan], &directparms->HpFilter[chan],
SrcData, ResampledData, DstBufferSize,
directparms->Filters[chan]);
- src->DryMix(directparms, directparms->OutBuffer, SrcData,
- maxu(directparms->Counter, OutPos) - OutPos, chan,
- OutPos, DstBufferSize);
+ if(!src->IsHrtf)
+ src->Dry.Mix(directparms, directparms->OutBuffer, SrcData,
+ maxu(directparms->Counter, OutPos) - OutPos, chan,
+ OutPos, DstBufferSize);
+ else
+ src->Dry.HrtfMix(directparms->OutBuffer, SrcData,
+ maxu(directparms->Counter, OutPos) - OutPos,
+ directparms->Offset + OutPos,
+ directparms->Mix.Hrtf.IrSize,
+ &directparms->Mix.Hrtf.Params[chan],
+ &directparms->Mix.Hrtf.State[chan],
+ OutPos, DstBufferSize);
}
for(j = 0;j < Device->NumAuxSends;j++)