AEC3 delay estimator refactoring and introducing ability to customize
This CL refactors the delay estimator in AEC3. Furthermore, it adds: 1. Allow for a customized delay estimator behavior to simplify development. 2. Exposes that behavior to clear configuration settings. 3. Adds logging of the delay range supported by the delay estimator. Bug: webrtc:8519 Change-Id: I1764a090519a78b021b2e7de565c52a6c02c848e Reviewed-on: https://webrtc-review.googlesource.com/21166 Commit-Queue: Per Åhgren <peah@webrtc.org> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org> Cr-Commit-Position: refs/heads/master@{#20733}
This commit is contained in:
@ -183,8 +183,12 @@ void BlockProcessorImpl::UpdateEchoLeakageStatus(bool leakage_detected) {
|
||||
|
||||
BlockProcessor* BlockProcessor::Create(const EchoCanceller3Config& config,
|
||||
int sample_rate_hz) {
|
||||
std::unique_ptr<RenderDelayBuffer> render_buffer(
|
||||
RenderDelayBuffer::Create(NumBandsForRate(sample_rate_hz)));
|
||||
std::unique_ptr<RenderDelayBuffer> render_buffer(RenderDelayBuffer::Create(
|
||||
NumBandsForRate(sample_rate_hz), config.delay.down_sampling_factor,
|
||||
GetDownSampledBufferSize(config.delay.down_sampling_factor,
|
||||
config.delay.num_filters),
|
||||
GetRenderDelayBufferSize(config.delay.down_sampling_factor,
|
||||
config.delay.num_filters)));
|
||||
std::unique_ptr<RenderDelayController> delay_controller(
|
||||
RenderDelayController::Create(config, sample_rate_hz));
|
||||
std::unique_ptr<EchoRemover> echo_remover(
|
||||
|
||||
Reference in New Issue
Block a user