AGC2: `gain_controller2` target isolated

Needed to restrict visibility.

Bug: webrtc:7494
Change-Id: I58a609666ca04d785c6dd2ed19233b395a94b06c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234584
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35201}
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index 3712527..9d5937e 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -112,6 +112,31 @@
   absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
 }
 
+rtc_library("gain_controller2") {
+  configs += [ ":apm_debug_dump" ]
+  sources = [
+    "gain_controller2.cc",
+    "gain_controller2.h",
+  ]
+  defines = []
+  deps = [
+    ":aec_dump_interface",
+    ":api",
+    ":apm_logging",
+    ":audio_buffer",
+    ":audio_frame_view",
+    "../../common_audio",
+    "../../rtc_base:atomicops",
+    "../../rtc_base:checks",
+    "../../rtc_base:logging",
+    "../../rtc_base:stringutils",
+    "../../system_wrappers:field_trial",
+    "agc2:adaptive_digital",
+    "agc2:fixed_digital",
+    "agc2:gain_applier",
+  ]
+}
+
 rtc_library("audio_processing") {
   visibility = [ "*" ]
   configs += [ ":apm_debug_dump" ]
@@ -132,8 +157,6 @@
     "echo_detector/normalized_covariance_estimator.h",
     "gain_control_impl.cc",
     "gain_control_impl.h",
-    "gain_controller2.cc",
-    "gain_controller2.h",
     "level_estimator.cc",
     "level_estimator.h",
     "render_queue_item_verifier.h",
@@ -152,6 +175,7 @@
     ":audio_frame_proxies",
     ":audio_frame_view",
     ":audio_processing_statistics",
+    ":gain_controller2",
     ":high_pass_filter",
     ":optionally_built_submodule_creators",
     ":rms_level",
@@ -182,9 +206,6 @@
     "agc",
     "agc:gain_control_interface",
     "agc:legacy_agc",
-    "agc2:adaptive_digital",
-    "agc2:fixed_digital",
-    "agc2:gain_applier",
     "capture_levels_adjuster",
     "ns",
     "transient:transient_suppressor_api",
@@ -338,6 +359,7 @@
         ":audio_frame_view",
         ":audio_processing",
         ":audioproc_test_utils",
+        ":gain_controller2",
         ":high_pass_filter",
         ":mocks",
         ":voice_detection",
diff --git a/modules/audio_processing/agc2/BUILD.gn b/modules/audio_processing/agc2/BUILD.gn
index 6fd8b91..a897c0b1 100644
--- a/modules/audio_processing/agc2/BUILD.gn
+++ b/modules/audio_processing/agc2/BUILD.gn
@@ -29,6 +29,11 @@
     "saturation_protector_buffer.h",
   ]
 
+  visibility = [
+    "..:gain_controller2",
+    "./*",
+  ]
+
   configs += [ "..:apm_debug_dump" ]
 
   deps = [
@@ -80,6 +85,12 @@
     "limiter.h",
   ]
 
+  visibility = [
+    "..:gain_controller2",
+    "../../audio_mixer:audio_mixer_impl",
+    "./*",
+  ]
+
   configs += [ "..:apm_debug_dump" ]
 
   deps = [
@@ -102,6 +113,12 @@
     "gain_applier.cc",
     "gain_applier.h",
   ]
+
+  visibility = [
+    "..:gain_controller2",
+    "./*",
+  ]
+
   deps = [
     ":common",
     "..:audio_frame_view",
@@ -115,6 +132,7 @@
     "noise_level_estimator.cc",
     "noise_level_estimator.h",
   ]
+  visibility = [ "./*" ]
   deps = [
     ":biquad_filter",
     "..:apm_logging",
@@ -132,6 +150,7 @@
     "vad_wrapper.cc",
     "vad_wrapper.h",
   ]
+  visibility = [ "./*" ]
 
   defines = []
   if (rtc_build_with_neon && current_cpu != "arm64") {
@@ -156,7 +175,12 @@
     "cpu_features.cc",
     "cpu_features.h",
   ]
-  visibility = [ "./*" ]
+
+  visibility = [
+    "..:gain_controller2",
+    "./*",
+  ]
+
   deps = [
     "../../../rtc_base:stringutils",
     "../../../rtc_base/system:arch",
diff --git a/modules/audio_processing/gain_controller2.h b/modules/audio_processing/gain_controller2.h
index de6b8d8..1a382f6 100644
--- a/modules/audio_processing/gain_controller2.h
+++ b/modules/audio_processing/gain_controller2.h
@@ -19,7 +19,6 @@
 #include "modules/audio_processing/agc2/limiter.h"
 #include "modules/audio_processing/include/audio_processing.h"
 #include "modules/audio_processing/logging/apm_data_dumper.h"
-#include "rtc_base/constructor_magic.h"
 
 namespace webrtc {