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

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

Issue 1490333004: HighPassFilter not a ProcessingComponent anymore (bit exact). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years 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 48f23b18563754d2db7159042cf5eee2fa525c96..0f34d44715184177c91f3138304403b7dd5d2d87 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -89,7 +89,7 @@ struct AudioProcessingImpl::ApmPublicSubmodules {
EchoCancellationImpl* echo_cancellation;
EchoControlMobileImpl* echo_control_mobile;
GainControlImpl* gain_control;
- HighPassFilterImpl* high_pass_filter;
+ rtc::scoped_ptr<HighPassFilterImpl> high_pass_filter;
LevelEstimatorImpl* level_estimator;
NoiseSuppressionImpl* noise_suppression;
VoiceDetectionImpl* voice_detection;
@@ -243,8 +243,8 @@ AudioProcessingImpl::AudioProcessingImpl(const Config& config,
new EchoControlMobileImpl(this, &crit_render_, &crit_capture_);
public_submodules_->gain_control =
new GainControlImpl(this, &crit_capture_, &crit_capture_);
- public_submodules_->high_pass_filter =
- new HighPassFilterImpl(this, &crit_capture_);
+ public_submodules_->high_pass_filter.reset(
+ new HighPassFilterImpl(&crit_capture_));
public_submodules_->level_estimator =
new LevelEstimatorImpl(this, &crit_capture_);
public_submodules_->noise_suppression =
@@ -261,8 +261,6 @@ AudioProcessingImpl::AudioProcessingImpl(const Config& config,
private_submodules_->component_list.push_back(
public_submodules_->gain_control);
private_submodules_->component_list.push_back(
- public_submodules_->high_pass_filter);
- private_submodules_->component_list.push_back(
public_submodules_->level_estimator);
private_submodules_->component_list.push_back(
public_submodules_->noise_suppression);
@@ -406,6 +404,8 @@ int AudioProcessingImpl::InitializeLocked() {
InitializeIntelligibility();
+ InitializeHighPassFilter();
+
#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
if (debug_dump_.debug_file->Open()) {
int err = WriteInitMessage();
@@ -767,7 +767,7 @@ int AudioProcessingImpl::ProcessStreamLocked() {
ca->set_num_channels(1);
}
- RETURN_ON_ERR(public_submodules_->high_pass_filter->ProcessCaptureAudio(ca));
+ public_submodules_->high_pass_filter->ProcessCaptureAudio(ca);
RETURN_ON_ERR(public_submodules_->gain_control->AnalyzeCaptureAudio(ca));
RETURN_ON_ERR(public_submodules_->noise_suppression->AnalyzeCaptureAudio(ca));
RETURN_ON_ERR(public_submodules_->echo_cancellation->ProcessCaptureAudio(ca));
@@ -1147,7 +1147,7 @@ GainControl* AudioProcessingImpl::gain_control() const {
HighPassFilter* AudioProcessingImpl::high_pass_filter() const {
// Adding a lock here has no effect as it allows any access to the submodule
// from the returned pointer.
- return public_submodules_->high_pass_filter;
+ return public_submodules_->high_pass_filter.get();
}
LevelEstimator* AudioProcessingImpl::level_estimator() const {
@@ -1293,6 +1293,12 @@ void AudioProcessingImpl::InitializeIntelligibility() {
}
}
+void AudioProcessingImpl::InitializeHighPassFilter() {
+ int channels = num_output_channels();
peah-webrtc 2015/12/08 14:52:27 Why are the number of output channels and sample r
the sun 2015/12/08 15:08:05 Done.
+ int sample_rate_hz = proc_sample_rate_hz();
+ public_submodules_->high_pass_filter->Initialize(channels, sample_rate_hz);
+}
+
void AudioProcessingImpl::MaybeUpdateHistograms() {
static const int kMinDiffDelayMs = 60;

Powered by Google App Engine
This is Rietveld 408576698