From 96313a421c8ca91664300f22eda9644617062003 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Wed, 14 Sep 2016 08:22:18 -0700 Subject: [PATCH] Cleanup the confusion of using null-resampler for channel conversion --- libraries/audio-client/src/AudioClient.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 8ce442b3ca..1c4cde8204 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -823,15 +823,14 @@ void AudioClient::handleLocalEchoAndReverb(QByteArray& inputByteArray) { int16_t* inputSamples = reinterpret_cast(inputByteArray.data()); int16_t* loopbackSamples = reinterpret_cast(loopBackByteArray.data()); - auto NO_RESAMPLER = nullptr; - possibleResampling(NO_RESAMPLER, - inputSamples, loopbackSamples, - numInputSamples, numLoopbackSamples, - _inputFormat, _outputFormat); + // upmix mono to stereo + if (!sampleChannelConversion(inputSamples, loopbackSamples, numInputSamples, _inputFormat, _outputFormat)) { + // no conversion, just copy the samples + memcpy(loopbackSamples, inputSamples, numInputSamples * sizeof(int16_t)); + } // apply stereo reverb at the source, to the loopback audio if (!_shouldEchoLocally && hasReverb) { - assert(_outputFormat.channelCount() == 2); updateReverbOptions(); _sourceReverb.render(loopbackSamples, loopbackSamples, numLoopbackSamples/2); }