Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(556)

Unified Diff: webrtc/modules/audio_processing/audio_processing_impl.cc

Issue 1781893002: Revert of Drop the 16kHz sample rate restriction on AECM and zero out higher bands (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/audio_processing/audio_processing_impl.cc
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index 66123962c3a87468357b4b006665bd8b6ea6d02d..a7c120f3956b13f0c4a798a71f961453979dc213 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -118,6 +118,7 @@
arraysize(AudioProcessing::kNativeSampleRatesHz);
const int AudioProcessing::kMaxNativeSampleRateHz = AudioProcessing::
kNativeSampleRatesHz[AudioProcessing::kNumNativeSampleRates - 1];
+const int AudioProcessing::kMaxAECMSampleRateHz = kSampleRate16kHz;
AudioProcessing* AudioProcessing::Create() {
Config config;
@@ -364,7 +365,7 @@
formats_.api_format = config;
- // We process at the closest native rate >= min(input rate, output rate).
+ // We process at the closest native rate >= min(input rate, output rate)...
const int min_proc_rate =
std::min(formats_.api_format.input_stream().sample_rate_hz(),
formats_.api_format.output_stream().sample_rate_hz());
@@ -374,6 +375,11 @@
if (fwd_proc_rate >= min_proc_rate) {
break;
}
+ }
+ // ...with one exception.
+ if (public_submodules_->echo_control_mobile->is_enabled() &&
+ min_proc_rate > kMaxAECMSampleRateHz) {
+ fwd_proc_rate = kMaxAECMSampleRateHz;
}
capture_nonlocked_.fwd_proc_format = StreamConfig(fwd_proc_rate);
@@ -608,6 +614,12 @@
frame->sample_rate_hz_ != kSampleRate32kHz &&
frame->sample_rate_hz_ != kSampleRate48kHz) {
return kBadSampleRateError;
+ }
+
+ if (public_submodules_->echo_control_mobile->is_enabled() &&
+ frame->sample_rate_hz_ > kMaxAECMSampleRateHz) {
+ LOG(LS_ERROR) << "AECM only supports 16 or 8 kHz sample rates";
+ return kUnsupportedComponentError;
}
ProcessingConfig processing_config;
« no previous file with comments | « data/audio_processing/output_data_fixed.pb ('k') | webrtc/modules/audio_processing/echo_control_mobile_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698