Chromium Code Reviews| Index: webrtc/modules/audio_processing/aec3/block_processor.cc |
| diff --git a/webrtc/modules/audio_processing/aec3/block_processor.cc b/webrtc/modules/audio_processing/aec3/block_processor.cc |
| index bb1286cd43ac7206f024883f51a6c5b24c160e4e..05ddb5b2157332c382146b5a9e767fcc942dfaf5 100644 |
| --- a/webrtc/modules/audio_processing/aec3/block_processor.cc |
| +++ b/webrtc/modules/audio_processing/aec3/block_processor.cc |
| @@ -24,7 +24,8 @@ enum class BlockProcessorApiCall { kCapture, kRender }; |
| class BlockProcessorImpl final : public BlockProcessor { |
| public: |
| - BlockProcessorImpl(int sample_rate_hz, |
| + BlockProcessorImpl(const AudioProcessing::Config::EchoCanceller3& config, |
| + int sample_rate_hz, |
| std::unique_ptr<RenderDelayBuffer> render_buffer, |
| std::unique_ptr<RenderDelayController> delay_controller, |
| std::unique_ptr<EchoRemover> echo_remover); |
| @@ -56,6 +57,7 @@ class BlockProcessorImpl final : public BlockProcessor { |
| int BlockProcessorImpl::instance_count_ = 0; |
| BlockProcessorImpl::BlockProcessorImpl( |
| + const AudioProcessing::Config::EchoCanceller3& config, |
|
ivoc
2017/06/30 11:40:03
This argument is not currently used here, why is i
peah-webrtc
2017/06/30 13:20:16
No, you are totally right. I did not realize that.
|
| int sample_rate_hz, |
| std::unique_ptr<RenderDelayBuffer> render_buffer, |
| std::unique_ptr<RenderDelayController> delay_controller, |
| @@ -168,36 +170,40 @@ void BlockProcessorImpl::UpdateEchoLeakageStatus(bool leakage_detected) { |
| } // namespace |
| -BlockProcessor* BlockProcessor::Create(int sample_rate_hz) { |
| +BlockProcessor* BlockProcessor::Create( |
| + const AudioProcessing::Config::EchoCanceller3& config, |
| + int sample_rate_hz) { |
| std::unique_ptr<RenderDelayBuffer> render_buffer( |
| RenderDelayBuffer::Create(NumBandsForRate(sample_rate_hz))); |
| std::unique_ptr<RenderDelayController> delay_controller( |
| RenderDelayController::Create(sample_rate_hz)); |
| std::unique_ptr<EchoRemover> echo_remover( |
| - EchoRemover::Create(sample_rate_hz)); |
| - return Create(sample_rate_hz, std::move(render_buffer), |
| + EchoRemover::Create(config, sample_rate_hz)); |
| + return Create(config, sample_rate_hz, std::move(render_buffer), |
| std::move(delay_controller), std::move(echo_remover)); |
| } |
| BlockProcessor* BlockProcessor::Create( |
| + const AudioProcessing::Config::EchoCanceller3& config, |
| int sample_rate_hz, |
| std::unique_ptr<RenderDelayBuffer> render_buffer) { |
| std::unique_ptr<RenderDelayController> delay_controller( |
| RenderDelayController::Create(sample_rate_hz)); |
| std::unique_ptr<EchoRemover> echo_remover( |
| - EchoRemover::Create(sample_rate_hz)); |
| - return Create(sample_rate_hz, std::move(render_buffer), |
| + EchoRemover::Create(config, sample_rate_hz)); |
| + return Create(config, sample_rate_hz, std::move(render_buffer), |
| std::move(delay_controller), std::move(echo_remover)); |
| } |
| BlockProcessor* BlockProcessor::Create( |
| + const AudioProcessing::Config::EchoCanceller3& config, |
| int sample_rate_hz, |
| std::unique_ptr<RenderDelayBuffer> render_buffer, |
| std::unique_ptr<RenderDelayController> delay_controller, |
| std::unique_ptr<EchoRemover> echo_remover) { |
| - return new BlockProcessorImpl(sample_rate_hz, std::move(render_buffer), |
| - std::move(delay_controller), |
| - std::move(echo_remover)); |
| + return new BlockProcessorImpl( |
| + config, sample_rate_hz, std::move(render_buffer), |
| + std::move(delay_controller), std::move(echo_remover)); |
| } |
| } // namespace webrtc |