Refactoring PayloadRouter.

- Move PayloadRouter to RtpTransportControllerInterface.
- Move RetransmissionLimiter inside RtpTransportControllerSend from
  VideoSendStreamImpl.
- Move video RTP specifics into PayloadRouter, in particular ownership
  of the RTP modules.
- PayloadRouter now contains all video specific RTP code, and will be
  renamed in a follow-up to VideoRtpSender.
- Introduce VideoRtpSenderInterface.

Bug: webrtc:9517
Change-Id: I1c7b293fa6f9c320286c80533b3c584498034a38
Reviewed-on: https://webrtc-review.googlesource.com/88240
Commit-Queue: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24009}
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 821a164..7204dcc 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -62,6 +62,8 @@
     "../api:array_view",
     "../api:libjingle_peerconnection_api",
     "../api/transport:bitrate_settings",
+    "../logging:rtc_event_log_api",
+    "../modules/rtp_rtcp:rtp_rtcp_format",
     "../rtc_base:rtc_base_approved",
     "//third_party/abseil-cpp/absl/types:optional",
   ]
@@ -104,13 +106,16 @@
     "rtp_payload_params.h",
     "rtp_transport_controller_send.cc",
     "rtp_transport_controller_send.h",
+    "video_rtp_sender_interface.h",
   ]
   deps = [
     ":bitrate_configurator",
     ":rtp_interfaces",
     "..:webrtc_common",
+    "../api:transport_api",
     "../api/transport:network_control",
     "../api/video_codecs:video_codecs_api",
+    "../logging:rtc_event_log_api",
     "../modules/congestion_controller",
     "../modules/congestion_controller/rtp:congestion_controller",
     "../modules/pacing",
@@ -120,6 +125,7 @@
     "../modules/utility",
     "../modules/video_coding:video_codec_interface",
     "../rtc_base:checks",
+    "../rtc_base:rate_limiter",
     "../rtc_base:rtc_base",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
@@ -318,6 +324,7 @@
       "../modules/utility:mock_process_thread",
       "../modules/video_coding:video_codec_interface",
       "../rtc_base:checks",
+      "../rtc_base:rate_limiter",
       "../rtc_base:rtc_base_approved",
       "../system_wrappers",
       "../test:audio_codec_mocks",
@@ -326,6 +333,7 @@
       "../test:test_common",
       "../test:test_support",
       "../test:video_test_common",
+      "../video:video",
       "//testing/gtest",
       "//third_party/abseil-cpp/absl/memory",
     ]