| Index: webrtc/modules/audio_processing/echo_control_mobile_impl.h | 
| diff --git a/webrtc/modules/audio_processing/echo_control_mobile_impl.h b/webrtc/modules/audio_processing/echo_control_mobile_impl.h | 
| index dc1b72c559db829ea0d5386c6e16881a4babb7de..571de36add8483b74fee43e99bdd8803b3f915f3 100644 | 
| --- a/webrtc/modules/audio_processing/echo_control_mobile_impl.h | 
| +++ b/webrtc/modules/audio_processing/echo_control_mobile_impl.h | 
| @@ -31,7 +31,7 @@ class EchoControlMobileImpl : public EchoControlMobile { | 
|  | 
| ~EchoControlMobileImpl() override; | 
|  | 
| -  int ProcessRenderAudio(const AudioBuffer* audio); | 
| +  void ProcessRenderAudio(rtc::ArrayView<const int16_t> packed_render_audio); | 
| int ProcessCaptureAudio(AudioBuffer* audio, int stream_delay_ms); | 
|  | 
| // EchoControlMobile implementation. | 
| @@ -43,8 +43,13 @@ class EchoControlMobileImpl : public EchoControlMobile { | 
| size_t num_reverse_channels, | 
| size_t num_output_channels); | 
|  | 
| -  // Reads render side data that has been queued on the render call. | 
| -  void ReadQueuedRenderData(); | 
| +  static void PackRenderAudioBuffer(const AudioBuffer* audio, | 
| +                                    size_t num_output_channels, | 
| +                                    size_t num_channels, | 
| +                                    std::vector<int16_t>* packed_buffer); | 
| + | 
| +  static size_t NumCancellersRequired(size_t num_output_channels, | 
| +                                      size_t num_reverse_channels); | 
|  | 
| private: | 
| class Canceller; | 
| @@ -57,9 +62,6 @@ class EchoControlMobileImpl : public EchoControlMobile { | 
| int SetEchoPath(const void* echo_path, size_t size_bytes) override; | 
| int GetEchoPath(void* echo_path, size_t size_bytes) const override; | 
|  | 
| -  size_t num_handles_required() const; | 
| - | 
| -  void AllocateRenderQueue(); | 
| int Configure(); | 
|  | 
| rtc::CriticalSection* const crit_render_ ACQUIRED_BEFORE(crit_capture_); | 
| @@ -72,17 +74,6 @@ class EchoControlMobileImpl : public EchoControlMobile { | 
| unsigned char* external_echo_path_ GUARDED_BY(crit_render_) | 
| GUARDED_BY(crit_capture_); | 
|  | 
| -  size_t render_queue_element_max_size_ GUARDED_BY(crit_render_) | 
| -      GUARDED_BY(crit_capture_); | 
| - | 
| -  std::vector<int16_t> render_queue_buffer_ GUARDED_BY(crit_render_); | 
| -  std::vector<int16_t> capture_queue_buffer_ GUARDED_BY(crit_capture_); | 
| - | 
| -  // Lock protection not needed. | 
| -  std::unique_ptr< | 
| -      SwapQueue<std::vector<int16_t>, RenderQueueItemVerifier<int16_t>>> | 
| -      render_signal_queue_; | 
| - | 
| std::vector<std::unique_ptr<Canceller>> cancellers_; | 
| std::unique_ptr<StreamProperties> stream_properties_; | 
|  | 
|  |