Move API for PC e2e test framework to the public API folder

Bug: webrtc:10138
Change-Id: If60019c9a7afe4760f4292e722cbc5aa229f437b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/127891
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27247}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index d368124..af50215 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -200,6 +200,73 @@
   ]
 }
 
+rtc_source_set("video_quality_analyzer_api") {
+  visibility = [ "*" ]
+  testonly = true
+  sources = [
+    "test/video_quality_analyzer_interface.h",
+  ]
+
+  deps = [
+    ":stats_observer_interface",
+    "video:encoded_image",
+    "video:video_frame",
+    "video_codecs:video_codecs_api",
+    "//third_party/abseil-cpp/absl/strings",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
+}
+
+rtc_source_set("audio_quality_analyzer_api") {
+  visibility = [ "*" ]
+  testonly = true
+  sources = [
+    "test/audio_quality_analyzer_interface.h",
+  ]
+
+  deps = [
+    ":stats_observer_interface",
+  ]
+}
+
+rtc_source_set("stats_observer_interface") {
+  visibility = [ "*" ]
+  testonly = true
+  sources = [
+    "test/stats_observer_interface.h",
+  ]
+
+  deps = [
+    ":libjingle_peerconnection_api",
+    "//third_party/abseil-cpp/absl/strings",
+  ]
+}
+
+rtc_source_set("peer_connection_quality_test_fixture_api") {
+  visibility = [ "*" ]
+  testonly = true
+  sources = [
+    "test/peerconnection_quality_test_fixture.h",
+  ]
+
+  deps = [
+    ":audio_quality_analyzer_api",
+    ":callfactory_api",
+    ":fec_controller_api",
+    ":function_view",
+    ":libjingle_peerconnection_api",
+    ":simulated_network_api",
+    ":video_quality_analyzer_api",
+    "../logging:rtc_event_log_api",
+    "../rtc_base:rtc_base",
+    "transport:network_control",
+    "units:time_delta",
+    "video_codecs:video_codecs_api",
+    "//third_party/abseil-cpp/absl/memory",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
+}
+
 rtc_source_set("test_dependency_factory") {
   visibility = [ "*" ]
   testonly = true
@@ -245,6 +312,23 @@
       "//third_party/abseil-cpp/absl/memory",
     ]
   }
+
+  rtc_source_set("create_peerconnection_quality_test_fixture") {
+    visibility = [ "*" ]
+    testonly = true
+    sources = [
+      "test/create_peerconnection_quality_test_fixture.cc",
+      "test/create_peerconnection_quality_test_fixture.h",
+    ]
+
+    deps = [
+      ":audio_quality_analyzer_api",
+      ":peer_connection_quality_test_fixture_api",
+      ":video_quality_analyzer_api",
+      "../test/pc/e2e:peerconnection_quality_test",
+      "//third_party/abseil-cpp/absl/memory",
+    ]
+  }
 }
 
 rtc_source_set("libjingle_logging_api") {
diff --git a/api/test/DEPS b/api/test/DEPS
index c15d58d..e49fdb4 100644
--- a/api/test/DEPS
+++ b/api/test/DEPS
@@ -18,4 +18,11 @@
     "+rtc_base/thread.h",
     "+rtc_base/network.h",
   ],
+  "peerconnection_quality_test_fixture\.h": [
+    "+logging/rtc_event_log/rtc_event_log_factory_interface.h",
+    "+rtc_base/network.h",
+    "+rtc_base/rtc_certificate_generator.h",
+    "+rtc_base/ssl_certificate.h",
+    "+rtc_base/thread.h",
+  ],
 }
diff --git a/test/pc/e2e/api/audio_quality_analyzer_interface.h b/api/test/audio_quality_analyzer_interface.h
similarity index 74%
rename from test/pc/e2e/api/audio_quality_analyzer_interface.h
rename to api/test/audio_quality_analyzer_interface.h
index 02d31cb..1f67ce6 100644
--- a/test/pc/e2e/api/audio_quality_analyzer_interface.h
+++ b/api/test/audio_quality_analyzer_interface.h
@@ -8,14 +8,17 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef TEST_PC_E2E_API_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
-#define TEST_PC_E2E_API_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
+#ifndef API_TEST_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
+#define API_TEST_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
 
-#include "test/pc/e2e/api/stats_observer_interface.h"
+#include <string>
+
+#include "api/test/stats_observer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
 
+// API is in development. Can be changed/removed without notice.
 class AudioQualityAnalyzerInterface : public StatsObserverInterface {
  public:
   ~AudioQualityAnalyzerInterface() override = default;
@@ -29,4 +32,4 @@
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
 
-#endif  // TEST_PC_E2E_API_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
+#endif  // API_TEST_AUDIO_QUALITY_ANALYZER_INTERFACE_H_
diff --git a/test/pc/e2e/api/create_peerconnection_quality_test_fixture.cc b/api/test/create_peerconnection_quality_test_fixture.cc
similarity index 93%
rename from test/pc/e2e/api/create_peerconnection_quality_test_fixture.cc
rename to api/test/create_peerconnection_quality_test_fixture.cc
index 355e939..9be5439 100644
--- a/test/pc/e2e/api/create_peerconnection_quality_test_fixture.cc
+++ b/api/test/create_peerconnection_quality_test_fixture.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "test/pc/e2e/api/create_peerconnection_quality_test_fixture.h"
+#include "api/test/create_peerconnection_quality_test_fixture.h"
 
 #include <utility>
 
diff --git a/test/pc/e2e/api/create_peerconnection_quality_test_fixture.h b/api/test/create_peerconnection_quality_test_fixture.h
similarity index 73%
rename from test/pc/e2e/api/create_peerconnection_quality_test_fixture.h
rename to api/test/create_peerconnection_quality_test_fixture.h
index 0ab7776..330d86d 100644
--- a/test/pc/e2e/api/create_peerconnection_quality_test_fixture.h
+++ b/api/test/create_peerconnection_quality_test_fixture.h
@@ -7,14 +7,15 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef TEST_PC_E2E_API_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
-#define TEST_PC_E2E_API_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#ifndef API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#define API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
 
 #include <memory>
+#include <string>
 
-#include "test/pc/e2e/api/audio_quality_analyzer_interface.h"
-#include "test/pc/e2e/api/peerconnection_quality_test_fixture.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
+#include "api/test/audio_quality_analyzer_interface.h"
+#include "api/test/peerconnection_quality_test_fixture.h"
+#include "api/test/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
@@ -33,4 +34,4 @@
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
 
-#endif  // TEST_PC_E2E_API_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#endif  // API_TEST_CREATE_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
diff --git a/test/pc/e2e/api/peerconnection_quality_test_fixture.h b/api/test/peerconnection_quality_test_fixture.h
similarity index 95%
rename from test/pc/e2e/api/peerconnection_quality_test_fixture.h
rename to api/test/peerconnection_quality_test_fixture.h
index 5862125..65e1f34 100644
--- a/test/pc/e2e/api/peerconnection_quality_test_fixture.h
+++ b/api/test/peerconnection_quality_test_fixture.h
@@ -7,8 +7,8 @@
  *  in the file PATENTS.  All contributing project authors may
  *  be found in the AUTHORS file in the root of the source tree.
  */
-#ifndef TEST_PC_E2E_API_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
-#define TEST_PC_E2E_API_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#ifndef API_TEST_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#define API_TEST_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
 
 #include <memory>
 #include <string>
@@ -21,7 +21,9 @@
 #include "api/function_view.h"
 #include "api/media_transport_interface.h"
 #include "api/peer_connection_interface.h"
+#include "api/test/audio_quality_analyzer_interface.h"
 #include "api/test/simulated_network.h"
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/transport/network_control.h"
 #include "api/units/time_delta.h"
 #include "api/video_codecs/video_decoder_factory.h"
@@ -32,13 +34,11 @@
 #include "rtc_base/rtc_certificate_generator.h"
 #include "rtc_base/ssl_certificate.h"
 #include "rtc_base/thread.h"
-#include "test/pc/e2e/api/audio_quality_analyzer_interface.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
 
-// TODO(titovartem) move to API when it will be stabilized.
+// API is in development. Can be changed/removed without notice.
 class PeerConnectionE2EQualityTestFixture {
  public:
   // Contains screen share video stream properties.
@@ -211,4 +211,4 @@
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
 
-#endif  // TEST_PC_E2E_API_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
+#endif  // API_TEST_PEERCONNECTION_QUALITY_TEST_FIXTURE_H_
diff --git a/test/pc/e2e/api/stats_observer_interface.h b/api/test/stats_observer_interface.h
similarity index 81%
rename from test/pc/e2e/api/stats_observer_interface.h
rename to api/test/stats_observer_interface.h
index 9782191..c6bea63 100644
--- a/test/pc/e2e/api/stats_observer_interface.h
+++ b/api/test/stats_observer_interface.h
@@ -8,8 +8,8 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef TEST_PC_E2E_API_STATS_OBSERVER_INTERFACE_H_
-#define TEST_PC_E2E_API_STATS_OBSERVER_INTERFACE_H_
+#ifndef API_TEST_STATS_OBSERVER_INTERFACE_H_
+#define API_TEST_STATS_OBSERVER_INTERFACE_H_
 
 #include "absl/strings/string_view.h"
 #include "api/stats_types.h"
@@ -17,6 +17,7 @@
 namespace webrtc {
 namespace webrtc_pc_e2e {
 
+// API is in development and can be changed without notice.
 class StatsObserverInterface {
  public:
   virtual ~StatsObserverInterface() = default;
@@ -30,4 +31,4 @@
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
 
-#endif  // TEST_PC_E2E_API_STATS_OBSERVER_INTERFACE_H_
+#endif  // API_TEST_STATS_OBSERVER_INTERFACE_H_
diff --git a/test/pc/e2e/api/video_quality_analyzer_interface.h b/api/test/video_quality_analyzer_interface.h
similarity index 94%
rename from test/pc/e2e/api/video_quality_analyzer_interface.h
rename to api/test/video_quality_analyzer_interface.h
index d7436e7..d83d160 100644
--- a/test/pc/e2e/api/video_quality_analyzer_interface.h
+++ b/api/test/video_quality_analyzer_interface.h
@@ -8,22 +8,24 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef TEST_PC_E2E_API_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
-#define TEST_PC_E2E_API_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
+#ifndef API_TEST_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
+#define API_TEST_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
 
 #include <memory>
 #include <string>
 
 #include "absl/strings/string_view.h"
 #include "absl/types/optional.h"
+#include "api/test/stats_observer_interface.h"
 #include "api/video/encoded_image.h"
 #include "api/video/video_frame.h"
 #include "api/video_codecs/video_encoder.h"
-#include "test/pc/e2e/api/stats_observer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
 
+// API is in development and can be changed without notice.
+
 // Base interface for video quality analyzer for peer connection level end-2-end
 // tests. Interface has only one abstract method, which have to return frame id.
 // Other methods have empty implementation by default, so user can override only
@@ -110,4 +112,4 @@
 }  // namespace webrtc_pc_e2e
 }  // namespace webrtc
 
-#endif  // TEST_PC_E2E_API_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
+#endif  // API_TEST_VIDEO_QUALITY_ANALYZER_INTERFACE_H_
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 0bb85b1..cc2e546 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -23,7 +23,6 @@
     ":test_support",
     ":video_test_common",
     "pc/e2e",
-    "pc/e2e/api:peer_connection_quality_test_fixture_api",
   ]
 
   if (rtc_include_tests) {
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index 66b531e..f2737d6 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -43,6 +43,7 @@
 
 rtc_source_set("peer_connection_quality_test_params") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "peer_connection_quality_test_params.h",
   ]
@@ -51,17 +52,18 @@
     "../../../api:callfactory_api",
     "../../../api:fec_controller_api",
     "../../../api:libjingle_peerconnection_api",
+    "../../../api:peer_connection_quality_test_fixture_api",
     "../../../api/transport:network_control",
     "../../../api/video_codecs:video_codecs_api",
     "../../../logging:rtc_event_log_api",
     "../../../rtc_base",
-    "api:peer_connection_quality_test_fixture_api",
     "//third_party/abseil-cpp/absl/memory",
   ]
 }
 
 rtc_source_set("encoded_image_data_injector_api") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/encoded_image_data_injector.h",
   ]
@@ -73,6 +75,7 @@
 
 rtc_source_set("default_encoded_image_data_injector") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/default_encoded_image_data_injector.cc",
     "analyzer/video/default_encoded_image_data_injector.h",
@@ -89,6 +92,7 @@
 
 rtc_source_set("single_process_encoded_image_data_injector") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/single_process_encoded_image_data_injector.cc",
     "analyzer/video/single_process_encoded_image_data_injector.h",
@@ -105,6 +109,7 @@
 
 rtc_source_set("id_generator") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/id_generator.cc",
     "analyzer/video/id_generator.h",
@@ -114,6 +119,7 @@
 
 rtc_source_set("quality_analyzing_video_decoder") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/quality_analyzing_video_decoder.cc",
     "analyzer/video/quality_analyzing_video_decoder.h",
@@ -121,6 +127,7 @@
   deps = [
     ":encoded_image_data_injector_api",
     ":id_generator",
+    "../../../api:video_quality_analyzer_api",
     "../../../api/video:encoded_image",
     "../../../api/video:video_frame",
     "../../../api/video:video_frame_i420",
@@ -128,7 +135,6 @@
     "../../../modules/video_coding:video_codec_interface",
     "../../../rtc_base:criticalsection",
     "../../../rtc_base:logging",
-    "api:video_quality_analyzer_api",
     "//third_party/abseil-cpp/absl/memory",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -136,6 +142,7 @@
 
 rtc_source_set("quality_analyzing_video_encoder") {
   visibility = [ "*" ]
+  testonly = true
   sources = [
     "analyzer/video/quality_analyzing_video_encoder.cc",
     "analyzer/video/quality_analyzing_video_encoder.h",
@@ -143,13 +150,13 @@
   deps = [
     ":encoded_image_data_injector_api",
     ":id_generator",
+    "../../../api:video_quality_analyzer_api",
     "../../../api/video:encoded_image",
     "../../../api/video:video_frame",
     "../../../api/video_codecs:video_codecs_api",
     "../../../modules/video_coding:video_codec_interface",
     "../../../rtc_base:criticalsection",
     "../../../rtc_base:logging",
-    "api:video_quality_analyzer_api",
     "//third_party/abseil-cpp/absl/memory",
   ]
 }
@@ -167,12 +174,12 @@
       ":id_generator",
       ":quality_analyzing_video_decoder",
       ":quality_analyzing_video_encoder",
+      "../../../api:stats_observer_interface",
+      "../../../api:video_quality_analyzer_api",
       "../../../api/video:video_frame",
       "../../../api/video_codecs:video_codecs_api",
       "../../../test:video_test_common",
       "../../../test:video_test_support",
-      "api:stats_observer_interface",
-      "api:video_quality_analyzer_api",
       "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/strings",
     ]
@@ -189,6 +196,7 @@
       ":peer_connection_quality_test_params",
       ":video_quality_analyzer_injection_helper",
       "../../../api:array_view",
+      "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:scoped_refptr",
       "../../../api/audio_codecs:builtin_audio_decoder_factory",
       "../../../api/audio_codecs:builtin_audio_encoder_factory",
@@ -207,7 +215,6 @@
       "../../../rtc_base:rtc_base_approved",
       "../../../test:copy_to_file_audio_capturer",
       "../../../test:video_test_common",
-      "api:peer_connection_quality_test_fixture_api",
       "//third_party/abseil-cpp/absl/memory",
       "//third_party/abseil-cpp/absl/types:optional",
     ]
@@ -228,8 +235,11 @@
       ":stats_poller",
       ":test_peer",
       ":video_quality_analyzer_injection_helper",
+      "../../../api:audio_quality_analyzer_api",
       "../../../api:libjingle_peerconnection_api",
+      "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:scoped_refptr",
+      "../../../api:video_quality_analyzer_api",
       "../../../api/units:time_delta",
       "../../../api/units:timestamp",
       "../../../logging:rtc_event_log_api",
@@ -244,9 +254,6 @@
       "../../../system_wrappers",
       "../../../test:fileutils",
       "../../../test:video_test_support",
-      "api:audio_quality_analyzer_api",
-      "api:peer_connection_quality_test_fixture_api",
-      "api:video_quality_analyzer_api",
       "//third_party/abseil-cpp/absl/memory",
     ]
   }
@@ -287,8 +294,10 @@
       ":default_video_quality_analyzer",
       "../../../api:callfactory_api",
       "../../../api:create_network_emulation_manager_api",
+      "../../../api:create_peerconnection_quality_test_fixture",
       "../../../api:libjingle_peerconnection_api",
       "../../../api:network_emulation_manager_api",
+      "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:scoped_refptr",
       "../../../api:simulated_network_api",
       "../../../api/audio_codecs:builtin_audio_decoder_factory",
@@ -308,8 +317,6 @@
       "../../../rtc_base:rtc_event",
       "../../../test:fileutils",
       "../../../test:test_support",
-      "api:create_peerconnection_quality_test_fixture",
-      "api:peer_connection_quality_test_fixture_api",
       "//third_party/abseil-cpp/absl/memory",
     ]
   }
@@ -323,8 +330,8 @@
     deps = [
       ":test_peer",
       "../../../api:libjingle_peerconnection_api",
+      "../../../api:stats_observer_interface",
       "../../../rtc_base:logging",
-      "api:stats_observer_interface",
     ]
   }
 }
@@ -338,10 +345,10 @@
   ]
 
   deps = [
+    "../../../api:audio_quality_analyzer_api",
     "../../../api:libjingle_peerconnection_api",
+    "../../../api:stats_observer_interface",
     "../../../rtc_base:logging",
-    "api:audio_quality_analyzer_api",
-    "api:stats_observer_interface",
     "//third_party/abseil-cpp/absl/strings",
   ]
 }
@@ -355,11 +362,11 @@
   ]
 
   deps = [
+    "../../../api:video_quality_analyzer_api",
     "../../../api/video:encoded_image",
     "../../../api/video:video_frame",
     "../../../rtc_base:criticalsection",
     "../../../rtc_base:logging",
-    "api:video_quality_analyzer_api",
   ]
 }
 
@@ -373,6 +380,7 @@
 
   deps = [
     "../..:perf_test",
+    "../../../api:video_quality_analyzer_api",
     "../../../api/units:time_delta",
     "../../../api/units:timestamp",
     "../../../api/video:encoded_image",
@@ -384,7 +392,6 @@
     "../../../rtc_base:rtc_event",
     "../../../rtc_base:rtc_numerics",
     "../../../system_wrappers",
-    "api:video_quality_analyzer_api",
     "//third_party/abseil-cpp/absl/memory",
   ]
 }
diff --git a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
index c3478ae..5ff639a 100644
--- a/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
+++ b/test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h
@@ -13,7 +13,7 @@
 
 #include "absl/strings/string_view.h"
 #include "api/stats_types.h"
-#include "test/pc/e2e/api/audio_quality_analyzer_interface.h"
+#include "api/test/audio_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
index 43edecf..d12c64d 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.h
@@ -19,6 +19,7 @@
 #include <string>
 #include <vector>
 
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/units/timestamp.h"
 #include "api/video/encoded_image.h"
 #include "api/video/video_frame.h"
@@ -27,7 +28,6 @@
 #include "rtc_base/numerics/samples_stats_counter.h"
 #include "rtc_base/platform_thread.h"
 #include "system_wrappers/include/clock.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/analyzer/video/example_video_quality_analyzer.h b/test/pc/e2e/analyzer/video/example_video_quality_analyzer.h
index 1db1cf4..01efbfc 100644
--- a/test/pc/e2e/analyzer/video/example_video_quality_analyzer.h
+++ b/test/pc/e2e/analyzer/video/example_video_quality_analyzer.h
@@ -16,10 +16,10 @@
 #include <set>
 #include <string>
 
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/video/encoded_image.h"
 #include "api/video/video_frame.h"
 #include "rtc_base/critical_section.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
index c912f25..71892a0 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_decoder.h
@@ -16,6 +16,7 @@
 #include <string>
 #include <vector>
 
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/video/encoded_image.h"
 #include "api/video/video_frame.h"
 #include "api/video_codecs/sdp_video_format.h"
@@ -24,7 +25,6 @@
 #include "rtc_base/critical_section.h"
 #include "test/pc/e2e/analyzer/video/encoded_image_data_injector.h"
 #include "test/pc/e2e/analyzer/video/id_generator.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h b/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h
index 15c3a6f..fcfc8f0 100644
--- a/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h
+++ b/test/pc/e2e/analyzer/video/quality_analyzing_video_encoder.h
@@ -16,6 +16,7 @@
 #include <utility>
 #include <vector>
 
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/video/video_frame.h"
 #include "api/video_codecs/sdp_video_format.h"
 #include "api/video_codecs/video_codec.h"
@@ -24,7 +25,6 @@
 #include "rtc_base/critical_section.h"
 #include "test/pc/e2e/analyzer/video/encoded_image_data_injector.h"
 #include "test/pc/e2e/analyzer/video/id_generator.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h
index 8e880a4..ee86aa7 100644
--- a/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h
+++ b/test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h
@@ -16,6 +16,8 @@
 #include <string>
 
 #include "absl/strings/string_view.h"
+#include "api/test/stats_observer_interface.h"
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/video/video_frame.h"
 #include "api/video/video_sink_interface.h"
 #include "api/video_codecs/video_decoder_factory.h"
@@ -23,8 +25,6 @@
 #include "test/frame_generator.h"
 #include "test/pc/e2e/analyzer/video/encoded_image_data_injector.h"
 #include "test/pc/e2e/analyzer/video/id_generator.h"
-#include "test/pc/e2e/api/stats_observer_interface.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 #include "test/testsupport/video_frame_writer.h"
 
 namespace webrtc {
diff --git a/test/pc/e2e/api/BUILD.gn b/test/pc/e2e/api/BUILD.gn
deleted file mode 100644
index 9f5a835..0000000
--- a/test/pc/e2e/api/BUILD.gn
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
-#
-# Use of this source code is governed by a BSD-style license
-# that can be found in the LICENSE file in the root of the source
-# tree. An additional intellectual property rights grant can be found
-# in the file PATENTS.  All contributing project authors may
-# be found in the AUTHORS file in the root of the source tree.
-
-import("../../../../webrtc.gni")
-
-rtc_source_set("video_quality_analyzer_api") {
-  visibility = [ "*" ]
-  sources = [
-    "video_quality_analyzer_interface.h",
-  ]
-
-  deps = [
-    ":stats_observer_interface",
-    "../../../../api/video:encoded_image",
-    "../../../../api/video:video_frame",
-    "../../../../api/video_codecs:video_codecs_api",
-    "//third_party/abseil-cpp/absl/strings",
-    "//third_party/abseil-cpp/absl/types:optional",
-  ]
-}
-
-rtc_source_set("audio_quality_analyzer_api") {
-  visibility = [ "*" ]
-  sources = [
-    "audio_quality_analyzer_interface.h",
-  ]
-
-  deps = [
-    ":stats_observer_interface",
-  ]
-}
-
-rtc_source_set("stats_observer_interface") {
-  visibility = [ "*" ]
-  sources = [
-    "stats_observer_interface.h",
-  ]
-
-  deps = [
-    "../../../../api:libjingle_peerconnection_api",
-    "//third_party/abseil-cpp/absl/strings",
-  ]
-}
-
-rtc_source_set("peer_connection_quality_test_fixture_api") {
-  visibility = [ "*" ]
-  sources = [
-    "peerconnection_quality_test_fixture.h",
-  ]
-
-  deps = [
-    ":audio_quality_analyzer_api",
-    ":video_quality_analyzer_api",
-    "../../../../api:callfactory_api",
-    "../../../../api:fec_controller_api",
-    "../../../../api:function_view",
-    "../../../../api:libjingle_peerconnection_api",
-    "../../../../api:simulated_network_api",
-    "../../../../api/transport:network_control",
-    "../../../../api/units:time_delta",
-    "../../../../api/video_codecs:video_codecs_api",
-    "../../../../logging:rtc_event_log_api",
-    "../../../../rtc_base",
-    "//third_party/abseil-cpp/absl/memory",
-    "//third_party/abseil-cpp/absl/types:optional",
-  ]
-}
-
-if (rtc_include_tests) {
-  rtc_source_set("create_peerconnection_quality_test_fixture") {
-    visibility = [ "*" ]
-    testonly = true
-    sources = [
-      "create_peerconnection_quality_test_fixture.cc",
-      "create_peerconnection_quality_test_fixture.h",
-    ]
-
-    deps = [
-      ":audio_quality_analyzer_api",
-      ":peer_connection_quality_test_fixture_api",
-      ":video_quality_analyzer_api",
-      "../:peerconnection_quality_test",
-      "//third_party/abseil-cpp/absl/memory",
-    ]
-  }
-}
diff --git a/test/pc/e2e/peer_connection_e2e_smoke_test.cc b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
index 9965257..8f570ed 100644
--- a/test/pc/e2e/peer_connection_e2e_smoke_test.cc
+++ b/test/pc/e2e/peer_connection_e2e_smoke_test.cc
@@ -13,13 +13,13 @@
 
 #include "absl/memory/memory.h"
 #include "api/test/create_network_emulation_manager.h"
+#include "api/test/create_peerconnection_quality_test_fixture.h"
 #include "api/test/network_emulation_manager.h"
+#include "api/test/peerconnection_quality_test_fixture.h"
 #include "call/simulated_network.h"
 #include "test/gtest.h"
 #include "test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h"
 #include "test/pc/e2e/analyzer/video/default_video_quality_analyzer.h"
-#include "test/pc/e2e/api/create_peerconnection_quality_test_fixture.h"
-#include "test/pc/e2e/api/peerconnection_quality_test_fixture.h"
 #include "test/testsupport/file_utils.h"
 
 namespace webrtc {
diff --git a/test/pc/e2e/peer_connection_quality_test.cc b/test/pc/e2e/peer_connection_quality_test.cc
index 115d37f..f743f47 100644
--- a/test/pc/e2e/peer_connection_quality_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test.cc
@@ -17,6 +17,7 @@
 #include "api/media_stream_interface.h"
 #include "api/peer_connection_interface.h"
 #include "api/scoped_refptr.h"
+#include "api/test/video_quality_analyzer_interface.h"
 #include "api/units/time_delta.h"
 #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
 #include "logging/rtc_event_log/rtc_event_log.h"
@@ -27,7 +28,6 @@
 #include "system_wrappers/include/cpu_info.h"
 #include "test/pc/e2e/analyzer/audio/default_audio_quality_analyzer.h"
 #include "test/pc/e2e/analyzer/video/default_video_quality_analyzer.h"
-#include "test/pc/e2e/api/video_quality_analyzer_interface.h"
 #include "test/pc/e2e/stats_poller.h"
 #include "test/testsupport/file_utils.h"
 
diff --git a/test/pc/e2e/peer_connection_quality_test.h b/test/pc/e2e/peer_connection_quality_test.h
index 54cdea5..9c2c952 100644
--- a/test/pc/e2e/peer_connection_quality_test.h
+++ b/test/pc/e2e/peer_connection_quality_test.h
@@ -16,6 +16,8 @@
 #include <vector>
 
 #include "absl/memory/memory.h"
+#include "api/test/audio_quality_analyzer_interface.h"
+#include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
 #include "pc/test/frame_generator_capturer_video_track_source.h"
@@ -26,8 +28,6 @@
 #include "system_wrappers/include/clock.h"
 #include "test/pc/e2e/analyzer/video/single_process_encoded_image_data_injector.h"
 #include "test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h"
-#include "test/pc/e2e/api/audio_quality_analyzer_interface.h"
-#include "test/pc/e2e/api/peerconnection_quality_test_fixture.h"
 #include "test/pc/e2e/peer_connection_quality_test_params.h"
 #include "test/pc/e2e/test_peer.h"
 #include "test/testsupport/video_frame_writer.h"
diff --git a/test/pc/e2e/peer_connection_quality_test_params.h b/test/pc/e2e/peer_connection_quality_test_params.h
index 94cd917..079e5eb 100644
--- a/test/pc/e2e/peer_connection_quality_test_params.h
+++ b/test/pc/e2e/peer_connection_quality_test_params.h
@@ -19,6 +19,7 @@
 #include "api/call/call_factory_interface.h"
 #include "api/fec_controller.h"
 #include "api/media_transport_interface.h"
+#include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/transport/network_control.h"
 #include "api/video_codecs/video_decoder_factory.h"
 #include "api/video_codecs/video_encoder_factory.h"
@@ -27,7 +28,6 @@
 #include "rtc_base/rtc_certificate_generator.h"
 #include "rtc_base/ssl_certificate.h"
 #include "rtc_base/thread.h"
-#include "test/pc/e2e/api/peerconnection_quality_test_fixture.h"
 
 namespace webrtc {
 namespace webrtc_pc_e2e {
diff --git a/test/pc/e2e/stats_poller.h b/test/pc/e2e/stats_poller.h
index 71c1689..3d0c2d6 100644
--- a/test/pc/e2e/stats_poller.h
+++ b/test/pc/e2e/stats_poller.h
@@ -17,7 +17,7 @@
 #include <vector>
 
 #include "api/peer_connection_interface.h"
-#include "test/pc/e2e/api/stats_observer_interface.h"
+#include "api/test/stats_observer_interface.h"
 #include "test/pc/e2e/test_peer.h"
 
 namespace webrtc {
diff --git a/test/pc/e2e/test_peer.h b/test/pc/e2e/test_peer.h
index f87636f..a72faa8 100644
--- a/test/pc/e2e/test_peer.h
+++ b/test/pc/e2e/test_peer.h
@@ -16,6 +16,7 @@
 
 #include "absl/memory/memory.h"
 #include "api/array_view.h"
+#include "api/test/peerconnection_quality_test_fixture.h"
 #include "media/base/media_engine.h"
 #include "modules/audio_device/include/test_audio_device.h"
 #include "pc/peer_connection_wrapper.h"
@@ -23,7 +24,6 @@
 #include "rtc_base/network.h"
 #include "rtc_base/thread.h"
 #include "test/pc/e2e/analyzer/video/video_quality_analyzer_injection_helper.h"
-#include "test/pc/e2e/api/peerconnection_quality_test_fixture.h"
 #include "test/pc/e2e/peer_connection_quality_test_params.h"
 
 namespace webrtc {