Move api/rtp_headers.h to its own build target.

Reduces dependencies on the libjingle_peerconnection_api target from
lower-level code.

Bug: None
Change-Id: I98576fc718c396cc0f720c3770acd2b696b9df89
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128565
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27213}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index c1a7275..f079aba 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -65,6 +65,16 @@
 
 rtc_source_set("rtp_headers") {
   visibility = [ "*" ]
+  sources = [
+    "rtp_headers.cc",
+    "rtp_headers.h",
+  ]
+  deps = [
+    ":array_view",
+    "..:webrtc_common",
+    "video:video_frame",
+    "//third_party/abseil-cpp/absl/types:optional",
+  ]
 }
 
 rtc_static_library("libjingle_peerconnection_api") {
@@ -107,8 +117,6 @@
     "proxy.h",
     "rtc_error.cc",
     "rtc_error.h",
-    "rtp_headers.cc",
-    "rtp_headers.h",
     "rtp_parameters.cc",
     "rtp_parameters.h",
     "rtp_receiver_interface.cc",
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 82c6482..fc42002 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -41,6 +41,7 @@
     "../api:array_view",
     "../api:call_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api:scoped_refptr",
     "../api:transport_api",
     "../api/audio:aec3_factory",
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 3a16757..05d30fc 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -33,6 +33,7 @@
     "..:webrtc_common",
     "../api:fec_controller_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api:scoped_refptr",
     "../api:transport_api",
     "../api/audio:audio_mixer_api",
@@ -73,6 +74,7 @@
     "../api:array_view",
     "../api:fec_controller_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api/transport:bitrate_settings",
     "../logging:rtc_event_log_api",
     "../modules/rtp_rtcp:rtp_rtcp_format",
@@ -100,7 +102,7 @@
     ":rtp_interfaces",
     "..:webrtc_common",
     "../api:array_view",
-    "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../modules/rtp_rtcp",
     "../modules/rtp_rtcp:rtp_rtcp_format",
     "../rtc_base:checks",
@@ -220,6 +222,7 @@
     "../api:callfactory_api",
     "../api:fec_controller_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api:simulated_network_api",
     "../api:transport_api",
     "../api/task_queue:global_task_queue_factory",
@@ -268,6 +271,7 @@
   deps = [
     ":rtp_interfaces",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api:transport_api",
     "../api/video:video_frame",
     "../api/video:video_stream_encoder",
@@ -365,6 +369,7 @@
       "../api:fake_media_transport",
       "../api:libjingle_peerconnection_api",
       "../api:mock_audio_mixer",
+      "../api:rtp_headers",
       "../api:transport_api",
       "../api/audio_codecs:builtin_audio_decoder_factory",
       "../api/task_queue:global_task_queue_factory",
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 75be86d..fc8c65b 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -55,6 +55,7 @@
   deps = [
     ":rtc_event_log_api",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
   ]
 }
 
@@ -189,6 +190,7 @@
 
   deps = [
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api/transport:network_control",
     "../rtc_base:checks",
     "../rtc_base:rtc_base_approved",
@@ -327,6 +329,7 @@
       ":rtc_event_log_proto",
       ":rtc_stream_config",
       "../api:libjingle_peerconnection_api",
+      "../api:rtp_headers",
       "../api/units:data_rate",
       "../api/units:time_delta",
       "../api/units:timestamp",
@@ -380,6 +383,7 @@
         ":rtc_stream_config",
         "../api:array_view",
         "../api:libjingle_peerconnection_api",
+        "../api:rtp_headers",
         "../call",
         "../call:call_interfaces",
         "../modules/audio_coding:audio_network_adaptor",
@@ -407,6 +411,7 @@
         ":rtc_event_log_parser",
         "../api:array_view",
         "../api:libjingle_peerconnection_api",
+        "../api:rtp_headers",
         "../modules/rtp_rtcp",
         "../modules/rtp_rtcp:rtp_rtcp_format",
         "../rtc_base:checks",
diff --git a/modules/BUILD.gn b/modules/BUILD.gn
index 501ba2a..519c44a 100644
--- a/modules/BUILD.gn
+++ b/modules/BUILD.gn
@@ -51,7 +51,7 @@
     ":module_api_public",
     ":module_fec_api",
     "..:webrtc_common",
-    "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../modules/rtp_rtcp:rtp_video_header",
     "../rtc_base:safe_conversions",
     "../rtc_base/system:rtc_export",
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index 4875a54..56792e9 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -960,7 +960,7 @@
     "..:module_api",
     "..:module_api_public",
     "../../api:array_view",
-    "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../api:scoped_refptr",
     "../../api/audio:audio_frame_api",
     "../../api/audio_codecs:audio_codecs_api",
@@ -1004,8 +1004,8 @@
 
   deps = [
     ":neteq",
-    "../../api:libjingle_peerconnection_api",
     "../../api:neteq_simulator_api",
+    "../../api:rtp_headers",
     "../../api/audio:audio_frame_api",
     "../../api/audio_codecs:audio_codecs_api",
     "../../rtc_base:checks",
@@ -1039,7 +1039,7 @@
   deps = [
     ":pcm16b",
     "../../api:array_view",
-    "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../common_audio",
     "../../rtc_base:checks",
     "../../rtc_base:rtc_base",
@@ -1491,7 +1491,6 @@
     deps += [
       ":isac_fix",
       ":webrtc_opus",
-      "../../api:libjingle_peerconnection_api",
       "../../rtc_base:rtc_base_approved",
       "../../test:test_main",
       "../../test:test_support",
diff --git a/modules/remote_bitrate_estimator/BUILD.gn b/modules/remote_bitrate_estimator/BUILD.gn
index 43315d3..12d3086 100644
--- a/modules/remote_bitrate_estimator/BUILD.gn
+++ b/modules/remote_bitrate_estimator/BUILD.gn
@@ -41,7 +41,7 @@
 
   deps = [
     "../..:webrtc_common",
-    "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../api/units:data_rate",
     "../../api/units:timestamp",
     "../../modules:module_api",
@@ -128,7 +128,7 @@
       "..:module_api",
       "..:module_api_public",
       "../..:webrtc_common",
-      "../../api:libjingle_peerconnection_api",
+      "../../api:rtp_headers",
       "../../api/transport:field_trial_based_config",
       "../../api/transport:network_control",
       "../../logging:mocks",
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index 1e61988..3c247da 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -92,6 +92,7 @@
     "../..:webrtc_common",
     "../../api:array_view",
     "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../api/audio_codecs:audio_codecs_api",
     "../../api/transport:network_control",
     "../../api/video:video_frame",
@@ -199,6 +200,7 @@
     "../..:webrtc_common",
     "../../api:array_view",
     "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../api:scoped_refptr",
     "../../api:transport_api",
     "../../api/audio_codecs:audio_codecs_api",
@@ -253,7 +255,7 @@
     ":rtp_rtcp_format",
     "../../:webrtc_common",
     "../../api:array_view",
-    "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../../api:transport_api",
     "../../api/video:video_bitrate_allocation",
     "../../rtc_base:checks",
diff --git a/modules/rtp_rtcp/include/flexfec_sender.h b/modules/rtp_rtcp/include/flexfec_sender.h
index aa0e8e0..0653ef5 100644
--- a/modules/rtp_rtcp/include/flexfec_sender.h
+++ b/modules/rtp_rtcp/include/flexfec_sender.h
@@ -16,7 +16,6 @@
 #include <vector>
 
 #include "api/array_view.h"
-#include "api/rtp_parameters.h"
 #include "modules/include/module_common_types.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
diff --git a/modules/rtp_rtcp/source/rtp_packet.cc b/modules/rtp_rtcp/source/rtp_packet.cc
index 91f0c59..7e7a697 100644
--- a/modules/rtp_rtcp/source/rtp_packet.cc
+++ b/modules/rtp_rtcp/source/rtp_packet.cc
@@ -14,7 +14,6 @@
 #include <cstring>
 #include <utility>
 
-#include "api/rtp_parameters.h"
 #include "modules/rtp_rtcp/source/byte_io.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
diff --git a/modules/video_capture/BUILD.gn b/modules/video_capture/BUILD.gn
index f126e2f..b999121 100644
--- a/modules/video_capture/BUILD.gn
+++ b/modules/video_capture/BUILD.gn
@@ -29,7 +29,6 @@
   deps = [
     "..:module_api",
     "../..:webrtc_common",
-    "../../api:libjingle_peerconnection_api",
     "../../api:scoped_refptr",
     "../../api/video:video_frame",
     "../../api/video:video_frame_i420",
diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn
index afd6837..7a5ac84 100644
--- a/modules/video_coding/BUILD.gn
+++ b/modules/video_coding/BUILD.gn
@@ -63,7 +63,7 @@
   deps = [
     "..:module_api",
     "../../:webrtc_common",
-    "../../api:libjingle_peerconnection_api",
+    "../../api:rtp_headers",
     "../rtp_rtcp:rtp_rtcp_format",
     "../rtp_rtcp:rtp_video_header",
     "//third_party/abseil-cpp/absl/types:optional",
@@ -74,7 +74,6 @@
   visibility = [ "*" ]
   deps = [
     "..:module_fec_api",
-    "../../api:libjingle_peerconnection_api",
     "../../api:scoped_refptr",
     "../../api/video:encoded_image",
     "../../api/video:video_bitrate_allocation",
@@ -152,6 +151,7 @@
     "..:module_api_public",
     "../..:webrtc_common",
     "../../api:fec_controller_api",
+    "../../api:rtp_headers",
     "../../api/units:data_rate",
     "../../api/video:builtin_video_bitrate_allocator_factory",
     "../../api/video:encoded_frame",
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 2483432..c508970 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -78,6 +78,7 @@
     "../api:call_api",
     "../api:libjingle_peerconnection_api",
     "../api:ortc_api",
+    "../api:rtp_headers",
     "../api:scoped_refptr",
     "../api/video:video_frame",
     "../call:call_interfaces",
@@ -276,6 +277,7 @@
       "../api:ice_transport_factory",
       "../api:libjingle_peerconnection_api",
       "../api:loopback_media_transport",
+      "../api:rtp_headers",
       "../call:rtp_interfaces",
       "../call:rtp_receiver",
       "../logging:rtc_event_log_api",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index bce875f..93b1bf2 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -713,6 +713,7 @@
     ":video_test_common",
     "../:webrtc_common",
     "../api:libjingle_peerconnection_api",
+    "../api:rtp_headers",
     "../api:scoped_refptr",
     "../api:simulated_network_api",
     "../api:transport_api",
diff --git a/video/BUILD.gn b/video/BUILD.gn
index a00f144..2e00d13 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -508,6 +508,7 @@
       "../api:fake_frame_encryptor",
       "../api:libjingle_peerconnection_api",
       "../api:mock_frame_decryptor",
+      "../api:rtp_headers",
       "../api:scoped_refptr",
       "../api:simulated_network_api",
       "../api/task_queue:default_task_queue_factory",