Revert "Correct AEC3 multichannel functionality activation"

This reverts commit 9dda1b3a484ebeef921e419406402039f3852427.

Reason for revert: The CL is causing downstream issues

Original change's description:
> Correct AEC3 multichannel functionality activation
> 
> This CL corrects the AEC3 multichannel activation
> to also work for the case when a factory is used
> for the activation.
> 
> Bug: webrtc:10913
> Change-Id: Ic2807d8bcef759261fde14447cff30633ba248dc
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158794
> Commit-Queue: Per Åhgren <peah@webrtc.org>
> Reviewed-by: Sam Zackrisson <saza@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#29676}

TBR=saza@webrtc.org,peah@webrtc.org

Change-Id: Ic487f77f5c11485a0f25a2a1d3797d0ec956f913
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:10913
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158797
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29678}
This commit is contained in:
Per Åhgren
2019-11-04 08:49:21 +00:00
committed by Commit Bot
parent 191e38fb47
commit cc9bf6398c
7 changed files with 8 additions and 40 deletions

View File

@ -89,7 +89,4 @@ rtc_source_set("echo_control") {
sources = [ sources = [
"echo_control.h", "echo_control.h",
] ]
deps = [
"../../rtc_base:checks",
]
} }

View File

@ -21,16 +21,9 @@ EchoCanceller3Factory::EchoCanceller3Factory(const EchoCanceller3Config& config)
: config_(config) {} : config_(config) {}
std::unique_ptr<EchoControl> EchoCanceller3Factory::Create(int sample_rate_hz) { std::unique_ptr<EchoControl> EchoCanceller3Factory::Create(int sample_rate_hz) {
return Create(sample_rate_hz, /*num_render_channels=*/1, return std::make_unique<EchoCanceller3>(config_, sample_rate_hz,
/*num_capture_channels=*/1); /*num_render_channels=*/1,
} /*num_capture_channels=*/1);
std::unique_ptr<EchoControl> EchoCanceller3Factory::Create(
int sample_rate_hz,
int num_render_channels,
int num_capture_channels) {
return std::make_unique<EchoCanceller3>(
config_, sample_rate_hz, num_render_channels, num_capture_channels);
} }
} // namespace webrtc } // namespace webrtc

View File

@ -29,15 +29,9 @@ class RTC_EXPORT EchoCanceller3Factory : public EchoControlFactory {
explicit EchoCanceller3Factory(const EchoCanceller3Config& config); explicit EchoCanceller3Factory(const EchoCanceller3Config& config);
// Creates an EchoCanceller3 running at the specified sampling rate using a // Creates an EchoCanceller3 running at the specified sampling rate using a
// mono setup. // mono setup
std::unique_ptr<EchoControl> Create(int sample_rate_hz) override; std::unique_ptr<EchoControl> Create(int sample_rate_hz) override;
// Creates an EchoCanceller3 running at the specified sampling rate using a
// multichannel setup.
std::unique_ptr<EchoControl> Create(int sample_rate_hz,
int num_render_channels,
int num_capture_channels) override;
private: private:
const EchoCanceller3Config config_; const EchoCanceller3Config config_;
}; };

View File

@ -13,8 +13,6 @@
#include <memory> #include <memory>
#include "rtc_base/checks.h"
namespace webrtc { namespace webrtc {
class AudioBuffer; class AudioBuffer;
@ -53,14 +51,6 @@ class EchoControl {
class EchoControlFactory { class EchoControlFactory {
public: public:
virtual std::unique_ptr<EchoControl> Create(int sample_rate_hz) = 0; virtual std::unique_ptr<EchoControl> Create(int sample_rate_hz) = 0;
// TODO(peah): Make pure virtual.
virtual std::unique_ptr<EchoControl> Create(int sample_rate_hz,
int num_render_channels,
int num_capture_channels) {
RTC_NOTREACHED();
return nullptr;
}
virtual ~EchoControlFactory() = default; virtual ~EchoControlFactory() = default;
}; };
} // namespace webrtc } // namespace webrtc

View File

@ -1783,8 +1783,8 @@ void AudioProcessingImpl::InitializeEchoController() {
if (use_echo_controller) { if (use_echo_controller) {
// Create and activate the echo controller. // Create and activate the echo controller.
if (echo_control_factory_) { if (echo_control_factory_) {
submodules_.echo_controller = echo_control_factory_->Create( submodules_.echo_controller =
proc_sample_rate_hz(), num_reverse_channels(), num_proc_channels()); echo_control_factory_->Create(proc_sample_rate_hz());
} else { } else {
submodules_.echo_controller = std::make_unique<EchoCanceller3>( submodules_.echo_controller = std::make_unique<EchoCanceller3>(
EchoCanceller3Config(), proc_sample_rate_hz(), num_reverse_channels(), EchoCanceller3Config(), proc_sample_rate_hz(), num_reverse_channels(),

View File

@ -54,12 +54,6 @@ class MockEchoControlFactory : public EchoControlFactory {
// Returns a pointer to the next MockEchoControl that this factory creates. // Returns a pointer to the next MockEchoControl that this factory creates.
MockEchoControl* GetNext() const { return next_mock_.get(); } MockEchoControl* GetNext() const { return next_mock_.get(); }
std::unique_ptr<EchoControl> Create(int sample_rate_hz) override { std::unique_ptr<EchoControl> Create(int sample_rate_hz) override {
RTC_NOTREACHED();
return nullptr;
}
std::unique_ptr<EchoControl> Create(int sample_rate_hz,
int num_render_channels,
int num_capture_channels) override {
std::unique_ptr<EchoControl> mock = std::move(next_mock_); std::unique_ptr<EchoControl> mock = std::move(next_mock_);
next_mock_ = std::make_unique<MockEchoControl>(); next_mock_ = std::make_unique<MockEchoControl>();
return mock; return mock;

View File

@ -2430,8 +2430,8 @@ class MyEchoControlFactory : public EchoControlFactory {
} }
std::unique_ptr<EchoControl> Create(int sample_rate_hz, std::unique_ptr<EchoControl> Create(int sample_rate_hz,
int num_render_channels, size_t num_render_channels,
int num_capture_channels) { size_t num_capture_channels) {
return Create(sample_rate_hz); return Create(sample_rate_hz);
} }
}; };