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 c353b2aaf934b6b61e0ffd635046c9ea9ea6f796..bdd34e3ff904476e7d4ea938f0199df9c20de621 100644 |
--- a/webrtc/modules/audio_processing/gain_control_impl.cc |
+++ b/webrtc/modules/audio_processing/gain_control_impl.cc |
@@ -12,9 +12,9 @@ |
#include <assert.h> |
+#include "webrtc/base/criticalsection.h" |
#include "webrtc/modules/audio_processing/audio_buffer.h" |
#include "webrtc/modules/audio_processing/agc/legacy/gain_control.h" |
-#include "webrtc/system_wrappers/interface/critical_section_wrapper.h" |
namespace webrtc { |
@@ -39,12 +39,14 @@ const size_t GainControlImpl::kAllowedValuesOfSamplesPerFrame1; |
const size_t GainControlImpl::kAllowedValuesOfSamplesPerFrame2; |
GainControlImpl::GainControlImpl(const AudioProcessing* apm, |
- CriticalSectionWrapper* crit, |
+ rtc::CriticalSection* crit_render, |
+ rtc::CriticalSection* crit_capture, |
rtc::ThreadChecker* render_thread, |
rtc::ThreadChecker* capture_thread) |
: ProcessingComponent(), |
apm_(apm), |
- crit_(crit), |
+ crit_render_(crit_render), |
+ crit_capture_(crit_capture), |
render_thread_(render_thread), |
capture_thread_(capture_thread), |
mode_(kAdaptiveAnalog), |
@@ -64,6 +66,7 @@ GainControlImpl::~GainControlImpl() {} |
int GainControlImpl::ProcessRenderAudio(AudioBuffer* audio) { |
RTC_DCHECK(render_thread_->CalledOnValidThread()); |
+ rtc::CritScope cs(crit_render_); |
if (!is_component_enabled()) { |
return apm_->kNoError; |
} |
@@ -234,7 +237,7 @@ int GainControlImpl::set_stream_analog_level(int level) { |
// places if not needed. |
ReadQueuedRenderData(); |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
was_analog_level_set_ = true; |
if (level < minimum_capture_level_ || level > maximum_capture_level_) { |
return apm_->kBadParameterError; |
@@ -245,6 +248,7 @@ int GainControlImpl::set_stream_analog_level(int level) { |
} |
int GainControlImpl::stream_analog_level() { |
+ rtc::CritScope cs(crit_capture_); |
RTC_DCHECK(capture_thread_->CalledOnValidThread()); |
// TODO(ajm): enable this assertion? |
//assert(mode_ == kAdaptiveAnalog); |
@@ -253,16 +257,17 @@ int GainControlImpl::stream_analog_level() { |
} |
int GainControlImpl::Enable(bool enable) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
return EnableComponent(enable); |
} |
bool GainControlImpl::is_enabled() const { |
+ rtc::CritScope cs(crit_capture_); |
return is_component_enabled(); |
} |
int GainControlImpl::set_mode(Mode mode) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
if (MapSetting(mode) == -1) { |
return apm_->kBadParameterError; |
} |
@@ -272,12 +277,13 @@ int GainControlImpl::set_mode(Mode mode) { |
} |
GainControl::Mode GainControlImpl::mode() const { |
+ rtc::CritScope cs(crit_capture_); |
return mode_; |
} |
int GainControlImpl::set_analog_level_limits(int minimum, |
int maximum) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
if (minimum < 0) { |
return apm_->kBadParameterError; |
} |
@@ -297,19 +303,22 @@ int GainControlImpl::set_analog_level_limits(int minimum, |
} |
int GainControlImpl::analog_level_minimum() const { |
+ rtc::CritScope cs(crit_capture_); |
return minimum_capture_level_; |
} |
int GainControlImpl::analog_level_maximum() const { |
+ rtc::CritScope cs(crit_capture_); |
return maximum_capture_level_; |
} |
bool GainControlImpl::stream_is_saturated() const { |
+ rtc::CritScope cs(crit_capture_); |
return stream_is_saturated_; |
} |
int GainControlImpl::set_target_level_dbfs(int level) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
if (level > 31 || level < 0) { |
return apm_->kBadParameterError; |
} |
@@ -319,11 +328,12 @@ int GainControlImpl::set_target_level_dbfs(int level) { |
} |
int GainControlImpl::target_level_dbfs() const { |
+ rtc::CritScope cs(crit_capture_); |
return target_level_dbfs_; |
} |
int GainControlImpl::set_compression_gain_db(int gain) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
if (gain < 0 || gain > 90) { |
return apm_->kBadParameterError; |
} |
@@ -333,16 +343,18 @@ int GainControlImpl::set_compression_gain_db(int gain) { |
} |
int GainControlImpl::compression_gain_db() const { |
+ rtc::CritScope cs(crit_capture_); |
return compression_gain_db_; |
} |
int GainControlImpl::enable_limiter(bool enable) { |
- CriticalSectionScoped crit_scoped(crit_); |
+ rtc::CritScope cs(crit_capture_); |
limiter_enabled_ = enable; |
return Configure(); |
} |
bool GainControlImpl::is_limiter_enabled() const { |
+ rtc::CritScope cs(crit_capture_); |
return limiter_enabled_; |
} |