Move rate_statistics out of rtc_base_approved

Bug: webrtc:9838
Change-Id: Ia5a45291a403097c0527d50ced85c3881653fa37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/259306
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36627}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index 2d754f9..a06570a 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -95,6 +95,7 @@
     ":platform_thread_types",
     ":race_checker",
     ":random",
+    ":rate_statistics",
     ":rate_tracker",
     ":refcount",
     ":rtc_event",
@@ -145,8 +146,7 @@
     "one_time_event.h",  # Transitional, use :one_time_event
     "race_checker.h",  # Transitional, use :race_checker
     "random.h",  # Transitional, use :random
-    "rate_statistics.cc",
-    "rate_statistics.h",
+    "rate_statistics.h",  # Transitional, use :rate_statistics
     "rate_tracker.h",  # Transitional, use :rate_tracker
     "strong_alias.h",  # Transitional, use :strong_alias
     "swap_queue.h",  # Transitional, use :swap_queue
@@ -287,6 +287,21 @@
   ]
 }
 
+rtc_library("rate_statistics") {
+  visibility = [ "*" ]
+  sources = [
+    "rate_statistics.cc",
+    "rate_statistics.h",
+  ]
+  deps = [
+    ":checks",
+    ":logging",
+    ":safe_conversions",
+    "system:rtc_export",
+  ]
+  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
+}
+
 rtc_library("rate_tracker") {
   visibility = [ "*" ]
   sources = [
@@ -505,6 +520,7 @@
   ]
   deps = [
     ":macromagic",
+    ":rate_statistics",
     ":rtc_base_approved",
     "../system_wrappers",
     "synchronization:mutex",
@@ -1577,6 +1593,7 @@
         ":platform_thread",
         ":random",
         ":rate_limiter",
+        ":rate_statistics",
         ":rate_tracker",
         ":refcount",
         ":rtc_base",