Merge pull request #14654 from kencooke/audio-injector-stereo-distattn-bugfix

Fix the distance attenuation of stereo local injectors
This commit is contained in:
Shannon Romano 2019-01-15 10:54:54 -08:00 committed by GitHub
commit 547f167539
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1333,8 +1333,12 @@ bool AudioClient::mixLocalAudioInjectors(float* mixBuffer) {
} else if (injector->isStereo()) {
// calculate distance, gain
glm::vec3 relativePosition = injector->getPosition() - _positionGetter();
float distance = glm::max(glm::length(relativePosition), EPSILON);
float gain = gainForSource(distance, injector->getVolume());
// stereo gets directly mixed into mixBuffer
float gain = injector->getVolume();
for (int i = 0; i < AudioConstants::NETWORK_FRAME_SAMPLES_STEREO; i++) {
mixBuffer[i] += convertToFloat(_localScratchBuffer[i]) * gain;
}