Index: content/renderer/media/media_stream_audio_processor.cc |
diff --git a/content/renderer/media/media_stream_audio_processor.cc b/content/renderer/media/media_stream_audio_processor.cc |
index 16f43db26f78135840eaf75a65d337140b53361c..76ce92c76d3b9f44122f0bec0c4cce8475c6d014 100644 |
--- a/content/renderer/media/media_stream_audio_processor.cc |
+++ b/content/renderer/media/media_stream_audio_processor.cc |
@@ -408,16 +408,20 @@ void MediaStreamAudioProcessor::InitializeAudioProcessingModule( |
return; |
} |
+ // Experimental options provided at creation. |
+ webrtc::Config config; |
+ if (goog_experimental_aec) |
+ config.Set<webrtc::DelayCorrection>(new webrtc::DelayCorrection(true)); |
+ if (goog_experimental_ns) |
+ config.Set<webrtc::ExperimentalNs>(new webrtc::ExperimentalNs(true)); |
+ |
// Create and configure the webrtc::AudioProcessing. |
- audio_processing_.reset(webrtc::AudioProcessing::Create()); |
+ audio_processing_.reset(webrtc::AudioProcessing::Create(config)); |
// Enable the audio processing components. |
if (echo_cancellation) { |
EnableEchoCancellation(audio_processing_.get()); |
- if (goog_experimental_aec) |
- EnableExperimentalEchoCancellation(audio_processing_.get()); |
- |
if (playout_data_source_) |
playout_data_source_->AddPlayoutSink(this); |
} |
@@ -425,9 +429,6 @@ void MediaStreamAudioProcessor::InitializeAudioProcessingModule( |
if (goog_ns) |
EnableNoiseSuppression(audio_processing_.get()); |
- if (goog_experimental_ns) |
- EnableExperimentalNoiseSuppression(audio_processing_.get()); |
- |
if (goog_high_pass_filter) |
EnableHighPassFilter(audio_processing_.get()); |