Preserve level controller output when no other effects are active

This CL ensures that the output of the level controller is kept
when no other submodules in APM are active

BUG=webrtc:7697,

Review-Url: https://codereview.webrtc.org/2902723002
Cr-Commit-Position: refs/heads/master@{#18230}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.cc b/webrtc/modules/audio_processing/audio_processing_impl.cc
index 0240012..0786ead 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl.cc
@@ -240,6 +240,11 @@
          echo_canceller3_enabled_;
 }
 
+bool AudioProcessingImpl::ApmSubmoduleStates::CaptureFullBandProcessingActive()
+    const {
+  return level_controller_enabled_;
+}
+
 bool AudioProcessingImpl::ApmSubmoduleStates::RenderMultiBandSubModulesActive()
     const {
   return RenderMultiBandProcessingActive() || echo_canceller_enabled_ ||
@@ -1133,7 +1138,8 @@
   capture_.capture_audio->DeinterleaveFrom(frame);
   RETURN_ON_ERR(ProcessCaptureStreamLocked());
   capture_.capture_audio->InterleaveTo(
-      frame, submodule_states_.CaptureMultiBandProcessingActive());
+      frame, submodule_states_.CaptureMultiBandProcessingActive() ||
+                 submodule_states_.CaptureFullBandProcessingActive());
 
 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
   if (debug_dump_.debug_file->is_open()) {