Add core multi-channel pipeline in AEC3
This CL adds basic the basic pipeline to support multi-channel processing in AEC3. Apart from that, it removes the 8 kHz processing support in several places of the AEC3 code. Bug: webrtc:10913 Change-Id: If5b75fa325ed0071deea94a7546cb4a7adf22137 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/150332 Commit-Queue: Per Åhgren <peah@webrtc.org> Reviewed-by: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29017}
This commit is contained in:
@ -28,15 +28,21 @@ namespace webrtc {
|
||||
class BlockProcessor {
|
||||
public:
|
||||
static BlockProcessor* Create(const EchoCanceller3Config& config,
|
||||
int sample_rate_hz);
|
||||
int sample_rate_hz,
|
||||
size_t num_render_channels,
|
||||
size_t num_capture_channels);
|
||||
// Only used for testing purposes.
|
||||
static BlockProcessor* Create(
|
||||
const EchoCanceller3Config& config,
|
||||
int sample_rate_hz,
|
||||
size_t num_render_channels,
|
||||
size_t num_capture_channels,
|
||||
std::unique_ptr<RenderDelayBuffer> render_buffer);
|
||||
static BlockProcessor* Create(
|
||||
const EchoCanceller3Config& config,
|
||||
int sample_rate_hz,
|
||||
size_t num_render_channels,
|
||||
size_t num_capture_channels,
|
||||
std::unique_ptr<RenderDelayBuffer> render_buffer,
|
||||
std::unique_ptr<RenderDelayController> delay_controller,
|
||||
std::unique_ptr<EchoRemover> echo_remover);
|
||||
@ -53,11 +59,11 @@ class BlockProcessor {
|
||||
virtual void ProcessCapture(
|
||||
bool echo_path_gain_change,
|
||||
bool capture_signal_saturation,
|
||||
std::vector<std::vector<float>>* capture_block) = 0;
|
||||
std::vector<std::vector<std::vector<float>>>* capture_block) = 0;
|
||||
|
||||
// Buffers a block of render data supplied by a FrameBlocker object.
|
||||
virtual void BufferRender(
|
||||
const std::vector<std::vector<float>>& render_block) = 0;
|
||||
const std::vector<std::vector<std::vector<float>>>& render_block) = 0;
|
||||
|
||||
// Reports whether echo leakage has been detected in the echo canceller
|
||||
// output.
|
||||
|
||||
Reference in New Issue
Block a user