diff options
author | Chris Robinson <[email protected]> | 2016-03-14 20:25:36 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2016-03-14 20:25:36 -0700 |
commit | 066df88a2cbac15caed8b57926cce113d2182ed7 (patch) | |
tree | ae23351cea3176eaa2ddf6d8138de1699eb9abc6 /Alc | |
parent | 919b35295e1b05293fd9f99a9a3f6d3f07a9c370 (diff) |
Always mix to the real output for DirectChannels
Diffstat (limited to 'Alc')
-rw-r--r-- | Alc/ALu.c | 26 |
1 files changed, 7 insertions, 19 deletions
@@ -553,29 +553,17 @@ ALvoid CalcNonAttnSourceParams(ALvoice *voice, const ALsource *ALSource, const A if(DirectChannels) { - if(Device->Hrtf || Device->Uhj_Encoder) - { - /* DirectChannels with HRTF or UHJ enabled. Skip the virtual - * channels and write FrontLeft and FrontRight inputs to the - * first and second outputs. - */ - voice->Direct.OutBuffer = Device->RealOut.Buffer; - voice->Direct.OutChannels = Device->RealOut.NumChannels; - for(c = 0;c < num_channels;c++) - { - int idx; - for(j = 0;j < MAX_OUTPUT_CHANNELS;j++) - voice->Direct.Gains[c].Target[j] = 0.0f; - if((idx=GetChannelIdxByName(Device->RealOut, chans[c].channel)) != -1) - voice->Direct.Gains[c].Target[idx] = DryGain; - } - } - else for(c = 0;c < num_channels;c++) + /* Skip the virtual channels and write FrontLeft and FrontRight + * inputs to the real output. + */ + voice->Direct.OutBuffer = Device->RealOut.Buffer; + voice->Direct.OutChannels = Device->RealOut.NumChannels; + for(c = 0;c < num_channels;c++) { int idx; for(j = 0;j < MAX_OUTPUT_CHANNELS;j++) voice->Direct.Gains[c].Target[j] = 0.0f; - if((idx=GetChannelIdxByName(Device->Dry, chans[c].channel)) != -1) + if((idx=GetChannelIdxByName(Device->RealOut, chans[c].channel)) != -1) voice->Direct.Gains[c].Target[idx] = DryGain; } |