summaryrefslogtreecommitdiff
path: root/voice_engine/transmit_mixer.cc
diff options
context:
space:
mode:
authorandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-04-30 18:58:23 +0000
committerandrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d>2014-04-30 18:58:23 +0000
commitc1878acc3e95341cb3c183ffadd2cec9ebe6e149 (patch)
tree26472cb66c1d31b1f1c75e2243f94985812062f2 /voice_engine/transmit_mixer.cc
parent785c2fdd22c9ad2d172c0976d1224bbe44073bc7 (diff)
downloadwebrtc-c1878acc3e95341cb3c183ffadd2cec9ebe6e149.tar.gz
Only clamp to 16 kHz when AECM is enabled.
Otherwise we could needlessly downsample to 16 kHz (rather than 32 kHz) when HW AEC is used. BUG=3259 R=bjornv@webrtc.org Review URL: https://webrtc-codereview.appspot.com/13429004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6033 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'voice_engine/transmit_mixer.cc')
-rw-r--r--voice_engine/transmit_mixer.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/voice_engine/transmit_mixer.cc b/voice_engine/transmit_mixer.cc
index cce2f946..54faec91 100644
--- a/voice_engine/transmit_mixer.cc
+++ b/voice_engine/transmit_mixer.cc
@@ -1173,7 +1173,12 @@ void TransmitMixer::GenerateAudioFrame(const int16_t* audio,
// See: https://code.google.com/p/webrtc/issues/detail?id=3146
// When 48 kHz is supported natively by AudioProcessing, this will have
// to be changed to handle 44.1 kHz.
- codec_rate = std::min(codec_rate, kAudioProcMaxNativeSampleRateHz);
+ int max_sample_rate_hz = kAudioProcMaxNativeSampleRateHz;
+ if (audioproc_->echo_control_mobile()->is_enabled()) {
+ // AECM only supports 8 and 16 kHz.
+ max_sample_rate_hz = 16000;
+ }
+ codec_rate = std::min(codec_rate, max_sample_rate_hz);
stereo_codec_ = num_codec_channels == 2;
if (!mono_buffer_.get()) {