Index: webrtc/modules/audio_processing/audio_processing_impl.cc |
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc |
index a09c1c9acf3362f53cbd9f968ad5a4b6a5cf0932..9fd18fcb65eb1341071c3fdba527025ae737aea7 100644 |
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc |
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc |
@@ -1099,7 +1099,7 @@ VoiceDetection* AudioProcessingImpl::voice_detection() const { |
return public_submodules_->voice_detection.get(); |
} |
-bool AudioProcessingImpl::is_data_processed() const { |
+bool AudioProcessingImpl::is_fwd_processed() const { |
// The beamformer, noise suppressor and highpass filter |
// modify the data. |
if (capture_nonlocked_.beamformer_enabled || |
@@ -1119,16 +1119,16 @@ bool AudioProcessingImpl::output_copy_needed() const { |
// Check if we've upmixed or downmixed the audio. |
return ((formats_.api_format.output_stream().num_channels() != |
formats_.api_format.input_stream().num_channels()) || |
- is_data_processed() || capture_.transient_suppressor_enabled); |
+ is_fwd_processed() || capture_.transient_suppressor_enabled); |
} |
bool AudioProcessingImpl::fwd_synthesis_needed() const { |
- return (is_data_processed() && |
+ return (is_fwd_processed() && |
is_multi_band(capture_nonlocked_.fwd_proc_format.sample_rate_hz())); |
} |
bool AudioProcessingImpl::fwd_analysis_needed() const { |
- if (!is_data_processed() && |
+ if (!is_fwd_processed() && |
!public_submodules_->voice_detection->is_enabled() && |
!capture_.transient_suppressor_enabled) { |
// Only public_submodules_->level_estimator is enabled. |
@@ -1152,7 +1152,11 @@ bool AudioProcessingImpl::rev_synthesis_needed() const { |
} |
bool AudioProcessingImpl::rev_analysis_needed() const { |
- return is_multi_band(formats_.rev_proc_format.sample_rate_hz()); |
+ return is_multi_band(formats_.rev_proc_format.sample_rate_hz()) && |
+ (is_rev_processed() || |
+ public_submodules_->echo_cancellation->is_enabled() || |
+ public_submodules_->echo_control_mobile->is_enabled() || |
+ public_submodules_->gain_control->is_enabled()); |
} |
bool AudioProcessingImpl::render_check_rev_conversion_needed() const { |