| Index: webrtc/modules/audio_processing/echo_cancellation_impl.h
 | 
| diff --git a/webrtc/modules/audio_processing/echo_cancellation_impl.h b/webrtc/modules/audio_processing/echo_cancellation_impl.h
 | 
| index 070dcabc5d6df0447dcaaa65dfe5c205031993ac..664438148b37acbff56e0885e27b05043081109d 100644
 | 
| --- a/webrtc/modules/audio_processing/echo_cancellation_impl.h
 | 
| +++ b/webrtc/modules/audio_processing/echo_cancellation_impl.h
 | 
| @@ -11,6 +11,8 @@
 | 
|  #ifndef WEBRTC_MODULES_AUDIO_PROCESSING_ECHO_CANCELLATION_IMPL_H_
 | 
|  #define WEBRTC_MODULES_AUDIO_PROCESSING_ECHO_CANCELLATION_IMPL_H_
 | 
|  
 | 
| +#include "webrtc/base/scoped_ptr.h"
 | 
| +#include "webrtc/common_audio/swap_queue.h"
 | 
|  #include "webrtc/modules/audio_processing/include/audio_processing.h"
 | 
|  #include "webrtc/modules/audio_processing/processing_component.h"
 | 
|  
 | 
| @@ -42,7 +44,17 @@ class EchoCancellationImpl : public EchoCancellation,
 | 
|    bool is_delay_agnostic_enabled() const;
 | 
|    bool is_extended_filter_enabled() const;
 | 
|  
 | 
| +  // Reads render side data that has been queued on the render call.
 | 
| +  void ReadQueuedRenderData();
 | 
| +
 | 
|   private:
 | 
| +  static const size_t kMaxNumChannelsPerFrameToBuffer = 2;
 | 
| +  static const size_t kMinNumSamplesPerFrameToBuffer = 80;
 | 
| +  static const size_t kMaxNumSamplesPerFrameToBuffer = 160;
 | 
| +  // TODO(peah): Decrease this once we properly handle hugely unbalanced
 | 
| +  // reverse and forward call numbers.
 | 
| +  static const size_t kMaxNumFramesToBuffer = 100;
 | 
| +
 | 
|    // EchoCancellation implementation.
 | 
|    int Enable(bool enable) override;
 | 
|    int enable_drift_compensation(bool enable) override;
 | 
| @@ -68,6 +80,9 @@ class EchoCancellationImpl : public EchoCancellation,
 | 
|    int num_handles_required() const override;
 | 
|    int GetHandleError(void* handle) const override;
 | 
|  
 | 
| +  // SwapQueue element verifier
 | 
| +  static bool RenderQueueItemVerifier(const std::vector<float>& v);
 | 
| +
 | 
|    const AudioProcessing* apm_;
 | 
|    CriticalSectionWrapper* crit_;
 | 
|    bool drift_compensation_enabled_;
 | 
| @@ -79,6 +94,11 @@ class EchoCancellationImpl : public EchoCancellation,
 | 
|    bool delay_logging_enabled_;
 | 
|    bool extended_filter_enabled_;
 | 
|    bool delay_agnostic_enabled_;
 | 
| +
 | 
| +  std::vector<float> render_queue_buffer_;
 | 
| +  std::vector<float> capture_queue_buffer_;
 | 
| +  rtc::scoped_ptr<SwapQueue<std::vector<float>, &RenderQueueItemVerifier>>
 | 
| +      render_signal_queue_;
 | 
|  };
 | 
|  
 | 
|  }  // namespace webrtc
 | 
| 
 |