Split RMS level measurement utility from APM

This moves rms_level.* into a separate build target.

Bug: webrtc:11226
Change-Id: I94ceacd1ec65dda48f5d19b22ba2625d13543e08
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170323
Reviewed-by: Per Ã…hgren <peah@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30856}
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index e03252a..142b140 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -70,6 +70,7 @@
     "../modules/audio_processing",
     "../modules/audio_processing:api",
     "../modules/audio_processing:audio_frame_proxies",
+    "../modules/audio_processing:rms_level",
     "../modules/pacing",
     "../modules/remote_bitrate_estimator",
     "../modules/rtp_rtcp",
diff --git a/modules/audio_processing/BUILD.gn b/modules/audio_processing/BUILD.gn
index e790bbb..cd23cd7 100644
--- a/modules/audio_processing/BUILD.gn
+++ b/modules/audio_processing/BUILD.gn
@@ -140,8 +140,6 @@
     "render_queue_item_verifier.h",
     "residual_echo_detector.cc",
     "residual_echo_detector.h",
-    "rms_level.cc",
-    "rms_level.h",
     "typing_detection.cc",
     "typing_detection.h",
   ]
@@ -216,10 +214,15 @@
 
 rtc_source_set("rms_level") {
   visibility = [ "*" ]
-
-  # TODO(webrtc:11226): Move rms_level.* to here.
-  sources = []
-  deps = []
+  sources = [
+    "rms_level.cc",
+    "rms_level.h",
+  ]
+  deps = [
+    "../../api:array_view",
+    "../../rtc_base:checks",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
 }
 
 rtc_library("audio_processing_statistics") {
@@ -415,6 +418,7 @@
         ":audioproc_protobuf_utils",
         ":audioproc_test_utils",
         ":audioproc_unittest_proto",
+        ":rms_level",
         ":runtime_settings_protobuf_utils",
         "../../api/audio:audio_frame_api",
         "../../api/audio:echo_control",