| 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 f565ab225e7bb5ee8698328250b34ac55e57a48f..b86af72fdf52f5eb2c02d3af3036e0d6e168a5d7 100644
|
| --- a/webrtc/modules/audio_processing/echo_control_mobile_impl.h
|
| +++ b/webrtc/modules/audio_processing/echo_control_mobile_impl.h
|
| @@ -25,27 +25,29 @@ class AudioBuffer;
|
|
|
| class EchoControlMobileImpl : public EchoControlMobile {
|
| public:
|
| - EchoControlMobileImpl(const AudioProcessing* apm,
|
| - rtc::CriticalSection* crit_render,
|
| + EchoControlMobileImpl(rtc::CriticalSection* crit_render,
|
| rtc::CriticalSection* crit_capture);
|
|
|
| virtual ~EchoControlMobileImpl();
|
|
|
| int ProcessRenderAudio(const AudioBuffer* audio);
|
| - int ProcessCaptureAudio(AudioBuffer* audio);
|
| + int ProcessCaptureAudio(AudioBuffer* audio, int stream_delay_ms);
|
|
|
| // EchoControlMobile implementation.
|
| bool is_enabled() const override;
|
| RoutingMode routing_mode() const override;
|
| bool is_comfort_noise_enabled() const override;
|
|
|
| - void Initialize();
|
| + void Initialize(int sample_rate_hz,
|
| + size_t num_reverse_channels,
|
| + size_t num_output_channels);
|
|
|
| // Reads render side data that has been queued on the render call.
|
| void ReadQueuedRenderData();
|
|
|
| private:
|
| class Canceller;
|
| + struct StreamProperties;
|
|
|
| // EchoControlMobile implementation.
|
| int Enable(bool enable) override;
|
| @@ -59,9 +61,6 @@ class EchoControlMobileImpl : public EchoControlMobile {
|
| void AllocateRenderQueue();
|
| int Configure();
|
|
|
| - // Not guarded as its public API is thread safe.
|
| - const AudioProcessing* apm_;
|
| -
|
| rtc::CriticalSection* const crit_render_ ACQUIRED_BEFORE(crit_capture_);
|
| rtc::CriticalSection* const crit_capture_;
|
|
|
| @@ -84,6 +83,8 @@ class EchoControlMobileImpl : public EchoControlMobile {
|
| render_signal_queue_;
|
|
|
| std::vector<std::unique_ptr<Canceller>> cancellers_;
|
| + std::unique_ptr<StreamProperties> stream_properties_;
|
| +
|
| RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(EchoControlMobileImpl);
|
| };
|
| } // namespace webrtc
|
|
|