APM pre-gain sub-module: code improvements.
- No need to have a unique ptr for the swap queue
- Remove default case from the switch in
AudioProcessingImpl::HandleRuntimeSettings()
Bug: webrtc:9138
Change-Id: I346ba1db6510b5caa637510298b67ead07197b81
Reviewed-on: https://webrtc-review.googlesource.com/71164
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22958}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index 0077c59..8d1ccee 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -384,8 +384,8 @@
NonlinearBeamformer* beamformer)
: data_dumper_(
new ApmDataDumper(rtc::AtomicOps::Increment(&instance_count_))),
- runtime_settings_(new SwapQueue<RuntimeSetting>(100)),
- runtime_settings_enqueuer_(runtime_settings_.get()),
+ runtime_settings_(100),
+ runtime_settings_enqueuer_(&runtime_settings_),
high_pass_filter_impl_(new HighPassFilterImpl(this)),
echo_control_factory_(std::move(echo_control_factory)),
submodule_states_(!!capture_post_processor, !!render_pre_processor),
@@ -812,8 +812,8 @@
AudioProcessingImpl::RuntimeSettingEnqueuer::RuntimeSettingEnqueuer(
SwapQueue<RuntimeSetting>* runtime_settings)
- : runtime_settings_(runtime_settings) {
- RTC_DCHECK(runtime_settings_);
+ : runtime_settings_(*runtime_settings) {
+ RTC_DCHECK(runtime_settings);
}
AudioProcessingImpl::RuntimeSettingEnqueuer::~RuntimeSettingEnqueuer() =
@@ -822,9 +822,9 @@
void AudioProcessingImpl::RuntimeSettingEnqueuer::Enqueue(
RuntimeSetting setting) {
size_t remaining_attempts = 10;
- while (!runtime_settings_->Insert(&setting) && remaining_attempts-- > 0) {
+ while (!runtime_settings_.Insert(&setting) && remaining_attempts-- > 0) {
RuntimeSetting setting_to_discard;
- if (runtime_settings_->Remove(&setting_to_discard))
+ if (runtime_settings_.Remove(&setting_to_discard))
RTC_LOG(LS_ERROR)
<< "The runtime settings queue is full. Oldest setting discarded.";
}
@@ -915,8 +915,7 @@
void AudioProcessingImpl::HandleRuntimeSettings() {
RuntimeSetting setting;
- while (runtime_settings_->Remove(&setting)) {
- RTC_DCHECK(setting.type() != RuntimeSetting::Type::kNotSpecified);
+ while (runtime_settings_.Remove(&setting)) {
switch (setting.type()) {
case RuntimeSetting::Type::kCapturePreGain:
if (config_.pre_amplifier.enabled) {
@@ -926,7 +925,7 @@
}
// TODO(bugs.chromium.org/9138): Log setting handling by Aec Dump.
break;
- default:
+ case RuntimeSetting::Type::kNotSpecified:
RTC_NOTREACHED();
break;
}