Correct/update the activation of the multi-channel processing in APM

This CL removes the experimental status of the multi-channel processing
in APM, and accordingly updates the variable naming.

It also splits the activation of multi-channel processing to be separate
for render and capture.


Bug: webrtc:10859
Change-Id: I0e5d04dcb94b6637c33d97146231b8ddddbaea39
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160707
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29926}
diff --git a/modules/audio_processing/audio_processing_impl.cc b/modules/audio_processing/audio_processing_impl.cc
index b6e79be..0e375c9 100644
--- a/modules/audio_processing/audio_processing_impl.cc
+++ b/modules/audio_processing/audio_processing_impl.cc
@@ -586,11 +586,10 @@
   if (submodule_states_.RenderMultiBandSubModulesActive()) {
     // By default, downmix the render stream to mono for analysis. This has been
     // demonstrated to work well for AEC in most practical scenarios.
-    const bool experimental_multi_channel_render =
-        config_.pipeline.experimental_multi_channel &&
-        constants_.experimental_multi_channel_render_support;
+    const bool multi_channel_render = config_.pipeline.multi_channel_render &&
+                                      constants_.multi_channel_render_support;
     int render_processing_num_channels =
-        experimental_multi_channel_render
+        multi_channel_render
             ? formats_.api_format.reverse_input_stream().num_channels()
             : 1;
     formats_.render_processing_format =
@@ -622,8 +621,10 @@
   rtc::CritScope cs_capture(&crit_capture_);
 
   const bool pipeline_config_changed =
-      config_.pipeline.experimental_multi_channel !=
-      config.pipeline.experimental_multi_channel;
+      config_.pipeline.multi_channel_render !=
+          config.pipeline.multi_channel_render ||
+      config_.pipeline.multi_channel_capture !=
+          config.pipeline.multi_channel_capture;
 
   const bool aec_config_changed =
       config_.echo_canceller.enabled != config.echo_canceller.enabled ||
@@ -769,11 +770,9 @@
 
 size_t AudioProcessingImpl::num_proc_channels() const {
   // Used as callback from submodules, hence locking is not allowed.
-  const bool experimental_multi_channel_capture =
-      config_.pipeline.experimental_multi_channel &&
-      constants_.experimental_multi_channel_capture_support;
-  if (capture_nonlocked_.echo_controller_enabled &&
-      !experimental_multi_channel_capture) {
+  const bool multi_channel_capture = config_.pipeline.multi_channel_capture &&
+                                     constants_.multi_channel_capture_support;
+  if (capture_nonlocked_.echo_controller_enabled && !multi_channel_capture) {
     return 1;
   }
   return num_output_channels();
@@ -1291,10 +1290,9 @@
     capture_buffer->SplitIntoFrequencyBands();
   }
 
-  const bool experimental_multi_channel_capture =
-      config_.pipeline.experimental_multi_channel &&
-      constants_.experimental_multi_channel_capture_support;
-  if (submodules_.echo_controller && !experimental_multi_channel_capture) {
+  const bool multi_channel_capture = config_.pipeline.multi_channel_capture &&
+                                     constants_.multi_channel_capture_support;
+  if (submodules_.echo_controller && !multi_channel_capture) {
     // Force down-mixing of the number of channels after the detection of
     // capture signal saturation.
     // TODO(peah): Look into ensuring that this kind of tampering with the