diff options
author | Chris Robinson <[email protected]> | 2014-05-18 09:31:08 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2014-05-18 09:31:08 -0700 |
commit | 5a1abf69189463312787921f5a3cf5fd35bf65c2 (patch) | |
tree | e48f2cd51f7aa4bfe2a92489bf82445f2d9d98d3 /Alc/mixer.c | |
parent | 29b5dae6aa010224b2fd428530e1cd67d6d92e1a (diff) |
Use different parameters for HRTF mixers
Diffstat (limited to 'Alc/mixer.c')
-rw-r--r-- | Alc/mixer.c | 15 |
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++) |