| Index: webrtc/voice_engine/voe_base_impl.cc
 | 
| diff --git a/webrtc/voice_engine/voe_base_impl.cc b/webrtc/voice_engine/voe_base_impl.cc
 | 
| index 196c6a555febcf4efb93f367d1a3c7e36a11c340..76d8ceeab302e42c6682b26542fa024af0eafd23 100644
 | 
| --- a/webrtc/voice_engine/voe_base_impl.cc
 | 
| +++ b/webrtc/voice_engine/voe_base_impl.cc
 | 
| @@ -225,10 +225,9 @@ int VoEBaseImpl::DeRegisterVoiceEngineObserver() {
 | 
|  
 | 
|  int VoEBaseImpl::Init(
 | 
|      AudioDeviceModule* external_adm,
 | 
| -    AudioProcessing* external_apm,
 | 
| +    AudioProcessing* audio_processing,
 | 
|      const rtc::scoped_refptr<AudioDecoderFactory>& decoder_factory) {
 | 
| -  // TODO(peah): Add a DCHECK for external_apm when downstream dependencies
 | 
| -  // have properly been resolved.
 | 
| +  RTC_DCHECK(audio_processing);
 | 
|    rtc::CritScope cs(shared_->crit_sec());
 | 
|    WebRtcSpl_Init();
 | 
|    if (shared_->statistics().Initialized()) {
 | 
| @@ -339,43 +338,27 @@ int VoEBaseImpl::Init(
 | 
|                            "Init() failed to set mono/stereo recording mode");
 | 
|    }
 | 
|  
 | 
| -  // TODO(peah): Remove this when upstream dependencies have properly been
 | 
| -  // resolved.
 | 
| -  AudioProcessing* apm = nullptr;
 | 
| -  if (!external_apm) {
 | 
| -    audio_processing_ = AudioProcessing::Create();
 | 
| -    if (!audio_processing_) {
 | 
| -      // This can only happen if there are problems allocating the dynamic
 | 
| -      // memory in the Create() call.
 | 
| -      LOG(LS_ERROR) << "Failed to create AudioProcessing.";
 | 
| -      shared_->SetLastError(VE_NO_MEMORY);
 | 
| -      return -1;
 | 
| -    }
 | 
| -    apm = audio_processing_.get();
 | 
| -  } else {
 | 
| -    apm = external_apm;
 | 
| -  }
 | 
| -
 | 
| -  shared_->set_audio_processing(apm);
 | 
| +  shared_->set_audio_processing(audio_processing);
 | 
|  
 | 
|    // Set the error state for any failures in this block.
 | 
|    shared_->SetLastError(VE_APM_ERROR);
 | 
|    // Configure AudioProcessing components.
 | 
|    // TODO(peah): Move this initialization to webrtcvoiceengine.cc.
 | 
| -  if (apm->high_pass_filter()->Enable(true) != 0) {
 | 
| +  if (audio_processing->high_pass_filter()->Enable(true) != 0) {
 | 
|      LOG_F(LS_ERROR) << "Failed to enable high pass filter.";
 | 
|      return -1;
 | 
|    }
 | 
| -  if (apm->echo_cancellation()->enable_drift_compensation(false) != 0) {
 | 
| +  if (audio_processing->echo_cancellation()->enable_drift_compensation(false) !=
 | 
| +      0) {
 | 
|      LOG_F(LS_ERROR) << "Failed to disable drift compensation.";
 | 
|      return -1;
 | 
|    }
 | 
| -  if (apm->noise_suppression()->set_level(kDefaultNsMode) != 0) {
 | 
| +  if (audio_processing->noise_suppression()->set_level(kDefaultNsMode) != 0) {
 | 
|      LOG_F(LS_ERROR) << "Failed to set noise suppression level: "
 | 
|          << kDefaultNsMode;
 | 
|      return -1;
 | 
|    }
 | 
| -  GainControl* agc = apm->gain_control();
 | 
| +  GainControl* agc = audio_processing->gain_control();
 | 
|    if (agc->set_analog_level_limits(kMinVolumeLevel, kMaxVolumeLevel) != 0) {
 | 
|      LOG_F(LS_ERROR) << "Failed to set analog level limits with minimum: "
 | 
|          << kMinVolumeLevel << " and maximum: " << kMaxVolumeLevel;
 | 
| 
 |