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;
     }