From bd0849fd4fe54e0aba3407372348eaa9acd632e0 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Fri, 26 Jul 2019 12:18:30 -0700 Subject: [PATCH] Allow AEC with device sample rate up to 96KHz --- libraries/audio-client/src/AudioClient.cpp | 9 ++------- libraries/audio-client/src/AudioClient.h | 3 ++- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index f4a01869e2..f9451d196e 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -1145,12 +1145,10 @@ void AudioClient::processWebrtcFarEnd(const int16_t* samples, int numFrames, int const webrtc::StreamConfig streamConfig = webrtc::StreamConfig(sampleRate, numChannels); const int numChunk = (int)streamConfig.num_frames(); - if (sampleRate > webrtc::AudioProcessing::kMaxNativeSampleRateHz) { - qCWarning(audioclient) << "WebRTC does not support" << sampleRate << "output sample rate."; + if (sampleRate > WEBRTC_SAMPLE_RATE_MAX) { return; } if (numChannels > WEBRTC_CHANNELS_MAX) { - qCWarning(audioclient) << "WebRTC does not support" << numChannels << "output channels."; return; } @@ -1186,16 +1184,13 @@ void AudioClient::processWebrtcNearEnd(int16_t* samples, int numFrames, int numC const webrtc::StreamConfig streamConfig = webrtc::StreamConfig(sampleRate, numChannels); const int numChunk = (int)streamConfig.num_frames(); - if (sampleRate > webrtc::AudioProcessing::kMaxNativeSampleRateHz) { - qCWarning(audioclient) << "WebRTC does not support" << sampleRate << "input sample rate."; + if (sampleRate > WEBRTC_SAMPLE_RATE_MAX) { return; } if (numChannels > WEBRTC_CHANNELS_MAX) { - qCWarning(audioclient) << "WebRTC does not support" << numChannels << "input channels."; return; } if (numFrames != numChunk) { - qCWarning(audioclient) << "WebRTC requires exactly 10ms of input."; return; } diff --git a/libraries/audio-client/src/AudioClient.h b/libraries/audio-client/src/AudioClient.h index e07a730d11..ab12393ebf 100644 --- a/libraries/audio-client/src/AudioClient.h +++ b/libraries/audio-client/src/AudioClient.h @@ -423,8 +423,9 @@ private: void handleLocalEchoAndReverb(QByteArray& inputByteArray); #if defined(WEBRTC_ENABLED) - static const int WEBRTC_FRAMES_MAX = webrtc::AudioProcessing::kChunkSizeMs * webrtc::AudioProcessing::kMaxNativeSampleRateHz / 1000; + static const int WEBRTC_SAMPLE_RATE_MAX = 96000; static const int WEBRTC_CHANNELS_MAX = 2; + static const int WEBRTC_FRAMES_MAX = webrtc::AudioProcessing::kChunkSizeMs * WEBRTC_SAMPLE_RATE_MAX / 1000; webrtc::AudioProcessing* _apm { nullptr };