Index: webrtc/modules/audio_processing/gain_control_impl.cc |
diff --git a/webrtc/modules/audio_processing/gain_control_impl.cc b/webrtc/modules/audio_processing/gain_control_impl.cc |
index db1c585ca95962f5140e7430daedc1683ca21f8e..b82978d19c8a12301735680dd50810b85326817d 100644 |
--- a/webrtc/modules/audio_processing/gain_control_impl.cc |
+++ b/webrtc/modules/audio_processing/gain_control_impl.cc |
@@ -336,25 +336,31 @@ GainControl::Mode GainControlImpl::mode() const { |
int GainControlImpl::set_analog_level_limits(int minimum, |
int maximum) { |
- rtc::CritScope cs(crit_capture_); |
- if (minimum < 0) { |
- return AudioProcessing::kBadParameterError; |
- } |
+ size_t num_proc_channels_local = 0u; |
+ int sample_rate_hz_local = 0; |
+ { |
+ rtc::CritScope cs(crit_capture_); |
+ if (minimum < 0) { |
the sun
2016/03/24 12:29:29
All parameter checking should go first in the func
peah-webrtc
2016/03/24 12:46:40
Good point!
Done.
|
+ return AudioProcessing::kBadParameterError; |
+ } |
- if (maximum > 65535) { |
- return AudioProcessing::kBadParameterError; |
- } |
+ if (maximum > 65535) { |
+ return AudioProcessing::kBadParameterError; |
+ } |
- if (maximum < minimum) { |
- return AudioProcessing::kBadParameterError; |
- } |
+ if (maximum < minimum) { |
+ return AudioProcessing::kBadParameterError; |
+ } |
- minimum_capture_level_ = minimum; |
- maximum_capture_level_ = maximum; |
+ minimum_capture_level_ = minimum; |
+ maximum_capture_level_ = maximum; |
- RTC_DCHECK(num_proc_channels_); |
- RTC_DCHECK(sample_rate_hz_); |
- Initialize(*num_proc_channels_, *sample_rate_hz_); |
+ RTC_DCHECK(num_proc_channels_); |
+ RTC_DCHECK(sample_rate_hz_); |
+ num_proc_channels_local = *num_proc_channels_; |
+ sample_rate_hz_local = *sample_rate_hz_; |
+ } |
+ Initialize(num_proc_channels_local, sample_rate_hz_local); |
return AudioProcessing::kNoError; |
} |