Several subcomponents inside APM copy render audio from

the render side to the capture side using the same
pattern. Currently this is done independently for the
submodules.

This CL moves the the AECM functionality for this into
APM.

BUG=webrtc:5298, webrtc:6540

Review-Url: https://codereview.webrtc.org/2444793005
Cr-Commit-Position: refs/heads/master@{#14768}
This commit is contained in:
peah
2016-10-25 04:45:24 -07:00
committed by Commit bot
parent 67c8bc4bf2
commit a062460a68
5 changed files with 140 additions and 149 deletions

View File

@ -371,14 +371,22 @@ class AudioProcessingImpl : public AudioProcessing {
std::unique_ptr<AudioBuffer> render_audio;
} render_ GUARDED_BY(crit_render_);
size_t render_queue_element_max_size_ GUARDED_BY(crit_render_)
size_t float_render_queue_element_max_size_ GUARDED_BY(crit_render_)
GUARDED_BY(crit_capture_) = 0;
std::vector<float> render_queue_buffer_ GUARDED_BY(crit_render_);
std::vector<float> capture_queue_buffer_ GUARDED_BY(crit_capture_);
std::vector<float> float_render_queue_buffer_ GUARDED_BY(crit_render_);
std::vector<float> float_capture_queue_buffer_ GUARDED_BY(crit_capture_);
size_t int16_render_queue_element_max_size_ GUARDED_BY(crit_render_)
GUARDED_BY(crit_capture_) = 0;
std::vector<int16_t> int16_render_queue_buffer_ GUARDED_BY(crit_render_);
std::vector<int16_t> int16_capture_queue_buffer_ GUARDED_BY(crit_capture_);
// Lock protection not needed.
std::unique_ptr<SwapQueue<std::vector<float>, RenderQueueItemVerifier<float>>>
render_signal_queue_;
float_render_signal_queue_;
std::unique_ptr<
SwapQueue<std::vector<int16_t>, RenderQueueItemVerifier<int16_t>>>
int16_render_signal_queue_;
};
} // namespace webrtc