Reduce complexity in the APM pipeline when the output is not used
This CL selectively turns off parts of the audio processing when the output of APM is not used. The parts turned off are such that don't need to continuously need to be trained, but rather can be temporarily deactivated. The purpose of this CL is to allow CPU to be reduced when the client is muted. The CL will be follow by additional CLs, adding similar functionality in the echo canceller and the noiser suppressor Bug: b/177830919 Change-Id: I72d24505197a53872562c0955f3e7b670c43df6b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209703 Commit-Queue: Per Åhgren <peah@webrtc.org> Reviewed-by: Sam Zackrisson <saza@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33431}
This commit is contained in:
@ -419,13 +419,17 @@ class AudioProcessingImpl : public AudioProcessing {
|
||||
const struct ApmConstants {
|
||||
ApmConstants(bool multi_channel_render_support,
|
||||
bool multi_channel_capture_support,
|
||||
bool enforce_split_band_hpf)
|
||||
bool enforce_split_band_hpf,
|
||||
bool minimize_processing_for_unused_output)
|
||||
: multi_channel_render_support(multi_channel_render_support),
|
||||
multi_channel_capture_support(multi_channel_capture_support),
|
||||
enforce_split_band_hpf(enforce_split_band_hpf) {}
|
||||
enforce_split_band_hpf(enforce_split_band_hpf),
|
||||
minimize_processing_for_unused_output(
|
||||
minimize_processing_for_unused_output) {}
|
||||
bool multi_channel_render_support;
|
||||
bool multi_channel_capture_support;
|
||||
bool enforce_split_band_hpf;
|
||||
bool minimize_processing_for_unused_output;
|
||||
} constants_;
|
||||
|
||||
struct ApmCaptureState {
|
||||
|
Reference in New Issue
Block a user