New targets call:rtp_interfaces, call:rtp_receiver, call:rtp_sender.

BUG=webrtc:7135
TBR=sprang@webrtc.org

Review-Url: https://codereview.webrtc.org/2913143003
Cr-Original-Commit-Position: refs/heads/master@{#18371}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: d76b7b294a9c36e1f2f827913452842fdcaa62cf
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 8360534..7caad96 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -16,12 +16,11 @@
     "audio_state.h",
     "call.h",
     "flexfec_receive_stream.h",
-    "rtp_demuxer.h",
-    "rtp_transport_controller_send_interface.h",
     "syncable.cc",
     "syncable.h",
   ]
   deps = [
+    ":rtp_interfaces",
     "..:video_stream_api",
     "..:webrtc_common",
     "../api:audio_mixer_api",
@@ -33,17 +32,47 @@
   ]
 }
 
+# TODO(nisse): These RTP targets should be moved elsewhere
+# when interfaces have stabilized.
+rtc_source_set("rtp_interfaces") {
+  sources = [
+    "rtp_packet_sink_interface.h",
+    "rtp_transport_controller_send_interface.h",
+  ]
+}
+
+rtc_source_set("rtp_receiver") {
+  sources = [
+    "rtp_demuxer.cc",
+    "rtp_demuxer.h",
+    "rtx_receive_stream.cc",
+    "rtx_receive_stream.h",
+  ]
+  deps = [
+    ":rtp_interfaces",
+    "../base:rtc_base_approved",
+    "../modules/rtp_rtcp",
+  ]
+}
+
+rtc_source_set("rtp_sender") {
+  sources = [
+    "rtp_transport_controller_send.cc",
+    "rtp_transport_controller_send.h",
+  ]
+  deps = [
+    ":rtp_interfaces",
+    "../base:rtc_base_approved",
+    "../modules/congestion_controller",
+  ]
+}
+
 rtc_static_library("call") {
   sources = [
     "bitrate_allocator.cc",
     "call.cc",
     "flexfec_receive_stream_impl.cc",
     "flexfec_receive_stream_impl.h",
-    "rtp_demuxer.cc",
-    "rtp_transport_controller_send.cc",
-    "rtp_transport_controller_send.h",
-    "rtx_receive_stream.cc",
-    "rtx_receive_stream.h",
   ]
 
   if (!build_with_chromium && is_clang) {
@@ -58,6 +87,9 @@
 
   deps = [
     ":call_interfaces",
+    ":rtp_interfaces",
+    ":rtp_receiver",
+    ":rtp_sender",
     "..:webrtc_common",
     "../api:transport_api",
     "../audio",
@@ -94,6 +126,9 @@
     ]
     deps = [
       ":call",
+      ":rtp_interfaces",
+      ":rtp_receiver",
+      ":rtp_sender",
       "../api:mock_audio_mixer",
       "../base:rtc_base_approved",
       "../logging:rtc_event_log_api",