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:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user