| 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 bab5e54f4bd4b7f044765e7850ebb80b01ce2202..8a4ea718460c8bf859c615944b9549e2243276d3 100644
|
| --- a/webrtc/modules/audio_processing/echo_cancellation_impl.h
|
| +++ b/webrtc/modules/audio_processing/echo_cancellation_impl.h
|
| @@ -16,9 +16,7 @@
|
|
|
| #include "webrtc/base/constructormagic.h"
|
| #include "webrtc/base/criticalsection.h"
|
| -#include "webrtc/base/swap_queue.h"
|
| #include "webrtc/modules/audio_processing/include/audio_processing.h"
|
| -#include "webrtc/modules/audio_processing/render_queue_item_verifier.h"
|
|
|
| namespace webrtc {
|
|
|
| @@ -30,7 +28,7 @@ class EchoCancellationImpl : public EchoCancellation {
|
| rtc::CriticalSection* crit_capture);
|
| ~EchoCancellationImpl() override;
|
|
|
| - int ProcessRenderAudio(const AudioBuffer* audio);
|
| + void ProcessRenderAudio(rtc::ArrayView<const float> packed_render_audio);
|
| int ProcessCaptureAudio(AudioBuffer* audio, int stream_delay_ms);
|
|
|
| // EchoCancellation implementation.
|
| @@ -50,13 +48,16 @@ class EchoCancellationImpl : public EchoCancellation {
|
| std::string GetExperimentsDescription();
|
| bool is_refined_adaptive_filter_enabled() const;
|
|
|
| - // Reads render side data that has been queued on the render call.
|
| - // Called holding the capture lock.
|
| - void ReadQueuedRenderData();
|
| -
|
| // Returns the system delay of the first AEC component.
|
| int GetSystemDelayInSamples() const;
|
|
|
| + static void PackRenderAudioBuffer(const AudioBuffer* audio,
|
| + size_t num_output_channels,
|
| + size_t num_channels,
|
| + std::vector<float>* packed_buffer);
|
| + static size_t NumCancellersRequired(size_t num_output_channels,
|
| + size_t num_reverse_channels);
|
| +
|
| private:
|
| class Canceller;
|
| struct StreamProperties;
|
| @@ -79,8 +80,6 @@ class EchoCancellationImpl : public EchoCancellation {
|
|
|
| struct AecCore* aec_core() const override;
|
|
|
| - size_t NumCancellersRequired() const;
|
| -
|
| void AllocateRenderQueue();
|
| int Configure();
|
|
|
| @@ -100,15 +99,6 @@ class EchoCancellationImpl : public EchoCancellation {
|
| bool aec3_enabled_ GUARDED_BY(crit_capture_);
|
| bool refined_adaptive_filter_enabled_ GUARDED_BY(crit_capture_) = false;
|
|
|
| - size_t render_queue_element_max_size_ GUARDED_BY(crit_render_)
|
| - GUARDED_BY(crit_capture_);
|
| - std::vector<float> render_queue_buffer_ GUARDED_BY(crit_render_);
|
| - std::vector<float> capture_queue_buffer_ GUARDED_BY(crit_capture_);
|
| -
|
| - // Lock protection not needed.
|
| - std::unique_ptr<SwapQueue<std::vector<float>, RenderQueueItemVerifier<float>>>
|
| - render_signal_queue_;
|
| -
|
| std::vector<std::unique_ptr<Canceller>> cancellers_;
|
| std::unique_ptr<StreamProperties> stream_properties_;
|
|
|
|
|