Disable the residual echo detector in audio mixer.
The audio mixer has a subcomponent called FrameCombiner, which uses an AudioProcessing instance as a limiter. The limiter smoothly increases the volume to avoid causing clipping. The limiter was created in a default configuration causing the ResidualEchoDetector submodule of AudioProcessing to be activated. That submodule operates in the band-split domain (see AudioProcessingImpl::ApmSubmoduleStates::RenderMultiBandSubModulesActive()). There is a goal to remove the (expensive and unnecessary) band-splitting from AudioMixer. This change helps accomplish that. (It can't be done yet, because the actual limiter sub-component of APM also operates in the band-split domain). BUG=webrtc:6185 Review-Url: https://codereview.webrtc.org/2875623002 Cr-Commit-Position: refs/heads/master@{#18090}
This commit is contained in:
parent
77c6e9dfa5
commit
0f23fa8768
@ -135,9 +135,14 @@ void CombineMultipleFrames(
|
||||
std::unique_ptr<AudioProcessing> CreateLimiter() {
|
||||
Config config;
|
||||
config.Set<ExperimentalAgc>(new ExperimentalAgc(false));
|
||||
|
||||
std::unique_ptr<AudioProcessing> limiter(AudioProcessing::Create(config));
|
||||
RTC_DCHECK(limiter);
|
||||
|
||||
webrtc::AudioProcessing::Config apm_config;
|
||||
apm_config.residual_echo_detector.enabled = false;
|
||||
limiter->ApplyConfig(apm_config);
|
||||
|
||||
const auto check_no_error = [](int x) {
|
||||
RTC_DCHECK_EQ(x, AudioProcessing::kNoError);
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user