Make the nonlinear beamformer steerable

Depends on this CL: https://codereview.webrtc.org/1395453004/

R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1394103003 .

Cr-Commit-Position: refs/heads/master@{#10458}
This commit is contained in:
Alejandro Luebs
2015-10-29 18:21:34 -07:00
parent 7367463acc
commit cb3f9bd9c0
12 changed files with 613 additions and 98 deletions

View File

@ -225,6 +225,7 @@ AudioProcessingImpl::AudioProcessingImpl(const Config& config,
beamformer_enabled_(config.Get<Beamforming>().enabled),
beamformer_(beamformer),
array_geometry_(config.Get<Beamforming>().array_geometry),
target_direction_(config.Get<Beamforming>().target_direction),
intelligibility_enabled_(config.Get<Intelligibility>().enabled) {
echo_cancellation_ = new EchoCancellationImpl(this, crit_);
component_list_.push_back(echo_cancellation_);
@ -1099,7 +1100,8 @@ void AudioProcessingImpl::InitializeTransient() {
void AudioProcessingImpl::InitializeBeamformer() {
if (beamformer_enabled_) {
if (!beamformer_) {
beamformer_.reset(new NonlinearBeamformer(array_geometry_));
beamformer_.reset(
new NonlinearBeamformer(array_geometry_, target_direction_));
}
beamformer_->Initialize(kChunkSizeMs, split_rate_);
}