Apply include-cleaner to call/

with downstream fixes.

Bug: webrtc:42226242
Change-Id: I88d7b5ffc1f86c01ea13948c27b4210d032f4190
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361360
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42921}
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index cb83e98..fa8b029 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -162,6 +162,7 @@
       ":audio_end_to_end_test",
       ":channel_receive_unittest",
       "../api:array_view",
+      "../api:bitrate_allocation",
       "../api:frame_transformer_factory",
       "../api:frame_transformer_interface",
       "../api:libjingle_peerconnection_api",
@@ -173,6 +174,7 @@
       "../api:mock_transformable_audio_frame",
       "../api:rtp_headers",
       "../api:scoped_refptr",
+      "../api:transport_api",
       "../api/audio:audio_frame_api",
       "../api/audio:audio_processing_statistics",
       "../api/audio_codecs:audio_codecs_api",
@@ -180,10 +182,13 @@
       "../api/audio_codecs/opus:audio_decoder_opus",
       "../api/audio_codecs/opus:audio_encoder_opus",
       "../api/crypto:frame_decryptor_interface",
+      "../api/crypto:options",
       "../api/environment",
       "../api/environment:environment_factory",
       "../api/task_queue:default_task_queue_factory",
       "../api/task_queue/test:mock_task_queue_base",
+      "../api/transport:bitrate_settings",
+      "../api/units:data_rate",
       "../api/units:time_delta",
       "../api/units:timestamp",
       "../call:mock_bitrate_allocator",
diff --git a/audio/channel_send_unittest.cc b/audio/channel_send_unittest.cc
index ac82fbd..2260c81 100644
--- a/audio/channel_send_unittest.cc
+++ b/audio/channel_send_unittest.cc
@@ -10,19 +10,40 @@
 
 #include "audio/channel_send.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <optional>
 #include <utility>
+#include <vector>
 
+#include "api/array_view.h"
 #include "api/audio/audio_frame.h"
+#include "api/audio_codecs/audio_encoder.h"
+#include "api/audio_codecs/audio_encoder_factory.h"
+#include "api/audio_codecs/audio_format.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+#include "api/call/bitrate_allocation.h"
+#include "api/call/transport.h"
+#include "api/crypto/crypto_options.h"
 #include "api/environment/environment.h"
 #include "api/environment/environment_factory.h"
+#include "api/frame_transformer_interface.h"
+#include "api/make_ref_counted.h"
+#include "api/rtp_headers.h"
 #include "api/scoped_refptr.h"
 #include "api/test/mock_frame_transformer.h"
 #include "api/test/mock_transformable_audio_frame.h"
+#include "api/transport/bitrate_settings.h"
+#include "api/units/data_rate.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
+#include "call/rtp_transport_config.h"
 #include "call/rtp_transport_controller_send.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+#include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/gunit.h"
+#include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/mock_transport.h"
 #include "test/scoped_key_value_config.h"
diff --git a/call/BUILD.gn b/call/BUILD.gn
index fd387d9..1094b48 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -42,8 +42,10 @@
     ":rtp_interfaces",
     ":video_stream_api",
     "../api:fec_controller_api",
+    "../api:field_trials_view",
     "../api:frame_transformer_interface",
     "../api:network_state_predictor_api",
+    "../api:ref_count",
     "../api:rtp_headers",
     "../api:rtp_parameters",
     "../api:rtp_sender_interface",
@@ -56,6 +58,7 @@
     "../api/audio:audio_processing",
     "../api/audio:audio_processing_statistics",
     "../api/audio_codecs:audio_codecs_api",
+    "../api/crypto:frame_decryptor_interface",
     "../api/crypto:frame_encryptor_interface",
     "../api/crypto:options",
     "../api/environment",
@@ -64,6 +67,8 @@
     "../api/task_queue",
     "../api/transport:bitrate_settings",
     "../api/transport:network_control",
+    "../api/units:time_delta",
+    "../api/units:timestamp",
     "../modules/async_audio_processing",
     "../modules/audio_device",
     "../modules/audio_processing",
@@ -76,6 +81,7 @@
     "../rtc_base:refcount",
     "../rtc_base:stringutils",
     "../rtc_base/network:sent_packet",
+    "../video/config:encoder_config",
     "//third_party/abseil-cpp/absl/functional:any_invocable",
     "//third_party/abseil-cpp/absl/strings:string_view",
   ]
@@ -112,6 +118,7 @@
     "../api:rtp_headers",
     "../api:rtp_packet_sender",
     "../api:rtp_parameters",
+    "../api:scoped_refptr",
     "../api/crypto:options",
     "../api/environment",
     "../api/transport:bandwidth_estimation_settings",
@@ -147,6 +154,7 @@
     "../modules/rtp_rtcp:rtp_rtcp_format",
     "../rtc_base:checks",
     "../rtc_base:logging",
+    "../rtc_base:macromagic",
     "../rtc_base:stringutils",
     "../rtc_base/containers:flat_map",
     "../rtc_base/containers:flat_set",
@@ -173,25 +181,43 @@
     "../api:bitrate_allocation",
     "../api:fec_controller_api",
     "../api:field_trials_view",
+    "../api:frame_transformer_interface",
     "../api:network_state_predictor_api",
+    "../api:rtp_headers",
+    "../api:rtp_packet_sender",
     "../api:rtp_parameters",
+    "../api:scoped_refptr",
     "../api:sequence_checker",
     "../api:transport_api",
+    "../api/crypto:options",
     "../api/environment",
     "../api/rtc_event_log",
     "../api/task_queue:pending_task_safety_flag",
     "../api/task_queue:task_queue",
+    "../api/transport:bandwidth_estimation_settings",
+    "../api/transport:bitrate_settings",
     "../api/transport:field_trial_based_config",
     "../api/transport:goog_cc",
     "../api/transport:network_control",
+    "../api/transport/rtp:dependency_descriptor",
     "../api/units:data_rate",
+    "../api/units:data_size",
+    "../api/units:frequency",
     "../api/units:time_delta",
     "../api/units:timestamp",
+    "../api/video:encoded_image",
+    "../api/video:render_resolution",
+    "../api/video:video_bitrate_allocation",
+    "../api/video:video_codec_constants",
     "../api/video:video_frame",
+    "../api/video:video_frame_type",
     "../api/video:video_layers_allocation",
     "../api/video:video_rtp_headers",
     "../api/video_codecs:video_codecs_api",
+    "../common_video:frame_counts",
+    "../common_video/generic_frame_descriptor",
     "../logging:rtc_event_bwe",
+    "../modules:module_fec_api",
     "../modules/congestion_controller",
     "../modules/congestion_controller/rtp:control_handler",
     "../modules/congestion_controller/rtp:transport_feedback",
@@ -211,8 +237,12 @@
     "../rtc_base:race_checker",
     "../rtc_base:random",
     "../rtc_base:rate_limiter",
+    "../rtc_base:safe_conversions",
     "../rtc_base:timeutils",
+    "../rtc_base/experiments:field_trial_parser",
+    "../rtc_base/network:sent_packet",
     "../rtc_base/synchronization:mutex",
+    "../rtc_base/system:no_unique_address",
     "../rtc_base/task_utils:repeating_task",
     "//third_party/abseil-cpp/absl/algorithm:container",
     "//third_party/abseil-cpp/absl/container:inlined_vector",
@@ -252,6 +282,8 @@
     "../api/units:time_delta",
     "../rtc_base:checks",
     "../rtc_base:logging",
+    "../rtc_base:macromagic",
+    "../rtc_base:safe_conversions",
     "../rtc_base:safe_minmax",
     "../rtc_base/experiments:field_trial_parser",
     "../rtc_base/system:no_unique_address",
@@ -275,6 +307,7 @@
     ":bitrate_allocator",
     ":call_interfaces",
     ":fake_network",
+    ":receive_stream_interface",
     ":rtp_interfaces",
     ":rtp_receiver",
     ":rtp_sender",
@@ -286,14 +319,21 @@
     "../api:field_trials_view",
     "../api:rtp_headers",
     "../api:rtp_parameters",
+    "../api:scoped_refptr",
     "../api:sequence_checker",
     "../api:simulated_network_api",
     "../api:transport_api",
+    "../api/adaptation:resource_adaptation_api",
     "../api/environment",
     "../api/rtc_event_log",
+    "../api/task_queue",
     "../api/task_queue:pending_task_safety_flag",
+    "../api/transport:bitrate_settings",
     "../api/transport:network_control",
+    "../api/units:data_rate",
+    "../api/units:data_size",
     "../api/units:time_delta",
+    "../api/units:timestamp",
     "../api/video_codecs:video_codecs_api",
     "../audio",
     "../logging:rtc_event_audio",
@@ -305,6 +345,7 @@
     "../modules/rtp_rtcp",
     "../modules/rtp_rtcp:rtp_rtcp_format",
     "../modules/video_coding",
+    "../modules/video_coding:nack_requester",
     "../rtc_base:checks",
     "../rtc_base:copy_on_write_buffer",
     "../rtc_base:event_tracer",
@@ -337,6 +378,7 @@
   sources = [ "receive_stream.h" ]
   deps = [
     "../api:frame_transformer_interface",
+    "../api:rtp_headers",
     "../api:rtp_parameters",
     "../api:scoped_refptr",
     "../api/crypto:frame_decryptor_interface",
@@ -362,8 +404,10 @@
     "../api:scoped_refptr",
     "../api:transport_api",
     "../api/adaptation:resource_adaptation_api",
+    "../api/crypto:frame_decryptor_interface",
     "../api/crypto:frame_encryptor_interface",
     "../api/crypto:options",
+    "../api/units:time_delta",
     "../api/video:recordable_encoded_frame",
     "../api/video:video_frame",
     "../api/video:video_rtp_headers",
@@ -401,6 +445,7 @@
   deps = [
     ":call_interfaces",
     ":simulated_packet_receiver",
+    "../api:array_view",
     "../api:rtp_parameters",
     "../api:sequence_checker",
     "../api:simulated_network_api",
@@ -408,6 +453,7 @@
     "../api/units:timestamp",
     "../modules/rtp_rtcp:rtp_rtcp_format",
     "../rtc_base:checks",
+    "../rtc_base:copy_on_write_buffer",
     "../rtc_base:logging",
     "../rtc_base:macromagic",
     "../rtc_base/synchronization:mutex",
@@ -443,23 +489,44 @@
         ":rtp_receiver",
         ":rtp_sender",
         ":simulated_network",
+        ":video_stream_api",
         "../api:array_view",
+        "../api:bitrate_allocation",
         "../api:create_frame_generator",
+        "../api:frame_transformer_interface",
+        "../api:make_ref_counted",
         "../api:mock_audio_mixer",
         "../api:mock_frame_transformer",
         "../api:rtp_headers",
         "../api:rtp_parameters",
+        "../api:scoped_refptr",
+        "../api:simulated_network_api",
         "../api:transport_api",
+        "../api/adaptation:resource_adaptation_api",
         "../api/audio_codecs:builtin_audio_decoder_factory",
+        "../api/crypto:options",
         "../api/environment",
         "../api/environment:environment_factory",
+        "../api/test/network_emulation",
         "../api/test/video:function_video_factory",
+        "../api/transport:bitrate_settings",
         "../api/transport:field_trial_based_config",
+        "../api/transport:network_control",
+        "../api/transport/rtp:dependency_descriptor",
+        "../api/units:data_rate",
+        "../api/units:data_size",
+        "../api/units:time_delta",
         "../api/units:timestamp",
         "../api/video:builtin_video_bitrate_allocator_factory",
+        "../api/video:encoded_image",
+        "../api/video:video_codec_constants",
         "../api/video:video_frame",
+        "../api/video:video_frame_type",
         "../api/video:video_rtp_headers",
+        "../api/video_codecs:video_codecs_api",
         "../audio",
+        "../common_video:frame_counts",
+        "../common_video/generic_frame_descriptor",
         "../modules/audio_device:mock_audio_device",
         "../modules/audio_mixer",
         "../modules/audio_mixer:audio_mixer_impl",
@@ -469,9 +536,11 @@
         "../modules/rtp_rtcp",
         "../modules/rtp_rtcp:mock_rtp_rtcp",
         "../modules/rtp_rtcp:rtp_rtcp_format",
+        "../modules/rtp_rtcp:rtp_video_header",
         "../modules/video_coding",
         "../modules/video_coding:codec_globals_headers",
         "../modules/video_coding:video_codec_interface",
+        "../rtc_base:buffer",
         "../rtc_base:checks",
         "../rtc_base:logging",
         "../rtc_base:macromagic",
@@ -500,6 +569,7 @@
         "../test/scenario",
         "../test/time_controller:time_controller",
         "../video",
+        "../video/config:encoder_config",
         "adaptation:resource_adaptation_test_utilities",
         "//testing/gmock",
         "//testing/gtest",
@@ -522,10 +592,18 @@
         ":call_interfaces",
         ":simulated_network",
         ":video_stream_api",
+        "../api:array_view",
+        "../api:field_trials_view",
+        "../api:make_ref_counted",
         "../api:rtc_event_log_output_file",
+        "../api:rtp_parameters",
+        "../api:scoped_refptr",
+        "../api:sequence_checker",
         "../api:simulated_network_api",
         "../api/audio:audio_device",
+        "../api/audio:audio_processing",
         "../api/audio_codecs:builtin_audio_encoder_factory",
+        "../api/environment",
         "../api/numerics",
         "../api/rtc_event_log",
         "../api/rtc_event_log:rtc_event_log_factory",
@@ -533,9 +611,15 @@
         "../api/task_queue:pending_task_safety_flag",
         "../api/test/metrics:global_metrics_logger_and_exporter",
         "../api/test/metrics:metric",
+        "../api/test/video:function_video_factory",
+        "../api/transport:bitrate_settings",
         "../api/units:data_rate",
+        "../api/units:time_delta",
+        "../api/units:timestamp",
         "../api/video:builtin_video_bitrate_allocator_factory",
         "../api/video:video_bitrate_allocation",
+        "../api/video:video_bitrate_allocator_factory",
+        "../api/video:video_frame",
         "../api/video_codecs:video_codecs_api",
         "../media:rtc_internal_video_codecs",
         "../media:rtc_simulcast_encoder_adapter",
@@ -635,6 +719,7 @@
       "../api/units:timestamp",
       "../modules/rtp_rtcp:rtp_rtcp_format",
       "../rtc_base:checks",
+      "../rtc_base:copy_on_write_buffer",
       "../system_wrappers",
       "../test:test_support",
       "../test/network:simulated_network",
diff --git a/call/DEPS b/call/DEPS
index 236b37e..daff3e9 100644
--- a/call/DEPS
+++ b/call/DEPS
@@ -31,6 +31,25 @@
   ],
   "simulated_network\.h": [
     "+test/network/simulated_network.h",
-  ]
-
+  ],
+  "rtp_payload_params\.cc": [
+    "+common_video/generic_frame_descriptor",
+  ],
+  "rtp_payload_params\.h": [
+    "+common_video/generic_frame_descriptor",
+  ],
+  "rtp_payload_params_unittest\.cc": [
+    "+common_video/generic_frame_descriptor",
+  ],
+  "rtp_video_sender\.cc": [
+    "+common_video/frame_counts.h",
+    "+common_video/generic_frame_descriptor",
+  ],
+  "rtp_video_sender.h": [
+    "+common_video/frame_counts.h",
+  ],
+  "rtp_video_sender_unittest.cc": [
+    "+common_video/frame_counts.h",
+    "+common_video/generic_frame_descriptor",
+  ],
 }
diff --git a/call/audio_receive_stream.h b/call/audio_receive_stream.h
index 5154360..d91e68c 100644
--- a/call/audio_receive_stream.h
+++ b/call/audio_receive_stream.h
@@ -11,16 +11,23 @@
 #ifndef CALL_AUDIO_RECEIVE_STREAM_H_
 #define CALL_AUDIO_RECEIVE_STREAM_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <map>
-#include <memory>
 #include <optional>
 #include <string>
-#include <vector>
 
+#include "api/audio_codecs/audio_codec_pair_id.h"
 #include "api/audio_codecs/audio_decoder_factory.h"
+#include "api/audio_codecs/audio_format.h"
 #include "api/call/transport.h"
 #include "api/crypto/crypto_options.h"
-#include "api/rtp_parameters.h"
+#include "api/crypto/frame_decryptor_interface.h"
+#include "api/frame_transformer_interface.h"
+#include "api/rtp_headers.h"
+#include "api/scoped_refptr.h"
+#include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
 #include "call/receive_stream.h"
 #include "call/rtp_config.h"
 
diff --git a/call/audio_send_stream.cc b/call/audio_send_stream.cc
index a36050a..bd7300d 100644
--- a/call/audio_send_stream.cc
+++ b/call/audio_send_stream.cc
@@ -12,6 +12,11 @@
 
 #include <stddef.h>
 
+#include <string>
+
+#include "api/audio_codecs/audio_format.h"
+#include "api/call/transport.h"
+#include "rtc_base/string_encode.h"
 #include "rtc_base/strings/audio_format_to_string.h"
 #include "rtc_base/strings/string_builder.h"
 
diff --git a/call/audio_send_stream.h b/call/audio_send_stream.h
index 3794dfb..540956c 100644
--- a/call/audio_send_stream.h
+++ b/call/audio_send_stream.h
@@ -11,7 +11,7 @@
 #ifndef CALL_AUDIO_SEND_STREAM_H_
 #define CALL_AUDIO_SEND_STREAM_H_
 
-#include <memory>
+#include <cstdint>
 #include <optional>
 #include <string>
 #include <vector>
@@ -25,11 +25,12 @@
 #include "api/crypto/crypto_options.h"
 #include "api/crypto/frame_encryptor_interface.h"
 #include "api/frame_transformer_interface.h"
+#include "api/rtp_headers.h"
 #include "api/rtp_parameters.h"
 #include "api/rtp_sender_interface.h"
 #include "api/scoped_refptr.h"
+#include "api/units/time_delta.h"
 #include "call/audio_sender.h"
-#include "call/rtp_config.h"
 #include "modules/rtp_rtcp/include/report_block_data.h"
 
 namespace webrtc {
diff --git a/call/audio_state.h b/call/audio_state.h
index 3a8e7c8..7c17231 100644
--- a/call/audio_state.h
+++ b/call/audio_state.h
@@ -13,9 +13,9 @@
 #include "api/audio/audio_device.h"
 #include "api/audio/audio_mixer.h"
 #include "api/audio/audio_processing.h"
+#include "api/ref_count.h"
 #include "api/scoped_refptr.h"
 #include "modules/async_audio_processing/async_audio_processing.h"
-#include "rtc_base/ref_count.h"
 
 namespace webrtc {
 
diff --git a/call/bitrate_allocator.cc b/call/bitrate_allocator.cc
index 1b6d63a..cd4260f 100644
--- a/call/bitrate_allocator.cc
+++ b/call/bitrate_allocator.cc
@@ -13,17 +13,26 @@
 
 #include <algorithm>
 #include <cmath>
-#include <memory>
+#include <cstddef>
+#include <cstdint>
+#include <map>
+#include <optional>
+#include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/algorithm/container.h"
+#include "api/call/bitrate_allocation.h"
+#include "api/field_trials_view.h"
+#include "api/sequence_checker.h"
+#include "api/transport/network_types.h"
 #include "api/units/data_rate.h"
 #include "api/units/time_delta.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/experiments/field_trial_parser.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/numerics/safe_conversions.h"
 #include "rtc_base/numerics/safe_minmax.h"
-#include "system_wrappers/include/clock.h"
 #include "system_wrappers/include/metrics.h"
 
 namespace webrtc {
diff --git a/call/bitrate_allocator.h b/call/bitrate_allocator.h
index 33dd0e9..270a34e 100644
--- a/call/bitrate_allocator.h
+++ b/call/bitrate_allocator.h
@@ -13,10 +13,7 @@
 
 #include <stdint.h>
 
-#include <map>
-#include <memory>
-#include <string>
-#include <utility>
+#include <optional>
 #include <vector>
 
 #include "api/call/bitrate_allocation.h"
@@ -25,6 +22,7 @@
 #include "api/transport/network_types.h"
 #include "api/units/data_rate.h"
 #include "rtc_base/system/no_unique_address.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 
diff --git a/call/bitrate_allocator_unittest.cc b/call/bitrate_allocator_unittest.cc
index 7b4fff3..b8f0abf 100644
--- a/call/bitrate_allocator_unittest.cc
+++ b/call/bitrate_allocator_unittest.cc
@@ -11,11 +11,18 @@
 #include "call/bitrate_allocator.h"
 
 #include <algorithm>
+#include <cstdint>
 #include <memory>
-#include <vector>
+#include <optional>
+#include <string>
 
 #include "absl/strings/string_view.h"
-#include "system_wrappers/include/clock.h"
+#include "api/call/bitrate_allocation.h"
+#include "api/transport/network_types.h"
+#include "api/units/data_rate.h"
+#include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
+#include "rtc_base/numerics/safe_conversions.h"
 #include "test/explicit_key_value_config.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
diff --git a/call/bitrate_estimator_tests.cc b/call/bitrate_estimator_tests.cc
index 379f947..d66e4cc 100644
--- a/call/bitrate_estimator_tests.cc
+++ b/call/bitrate_estimator_tests.cc
@@ -11,11 +11,20 @@
 #include <functional>
 #include <list>
 #include <memory>
+#include <optional>
 #include <string>
+#include <vector>
 
 #include "absl/strings/string_view.h"
+#include "api/rtp_parameters.h"
 #include "api/test/create_frame_generator.h"
+#include "api/test/simulated_network.h"
+#include "api/test/video/function_video_decoder_factory.h"
+#include "api/video/video_codec_type.h"
+#include "api/video_codecs/sdp_video_format.h"
 #include "call/call.h"
+#include "call/video_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/event.h"
 #include "rtc_base/logging.h"
@@ -25,10 +34,10 @@
 #include "test/call_test.h"
 #include "test/encoder_settings.h"
 #include "test/fake_decoder.h"
-#include "test/fake_encoder.h"
 #include "test/frame_generator_capturer.h"
 #include "test/gtest.h"
 #include "test/video_test_constants.h"
+#include "video/config/video_encoder_config.h"
 
 namespace webrtc {
 namespace {
diff --git a/call/call.cc b/call/call.cc
index aa48491..0b1ca6f 100644
--- a/call/call.cc
+++ b/call/call.cc
@@ -19,29 +19,47 @@
 #include <memory>
 #include <optional>
 #include <set>
+#include <string>
 #include <utility>
 #include <vector>
 
 #include "absl/functional/bind_front.h"
 #include "absl/strings/string_view.h"
+#include "api/adaptation/resource.h"
+#include "api/environment/environment.h"
+#include "api/fec_controller.h"
+#include "api/field_trials_view.h"
 #include "api/media_types.h"
 #include "api/rtc_event_log/rtc_event_log.h"
+#include "api/rtp_headers.h"
+#include "api/scoped_refptr.h"
 #include "api/sequence_checker.h"
 #include "api/task_queue/pending_task_safety_flag.h"
+#include "api/task_queue/task_queue_base.h"
+#include "api/transport/bitrate_settings.h"
 #include "api/transport/network_control.h"
+#include "api/transport/network_types.h"
+#include "api/units/data_rate.h"
+#include "api/units/data_size.h"
 #include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
 #include "audio/audio_receive_stream.h"
 #include "audio/audio_send_stream.h"
 #include "audio/audio_state.h"
 #include "call/adaptation/broadcast_resource_listener.h"
 #include "call/bitrate_allocator.h"
+#include "call/call_config.h"
+#include "call/flexfec_receive_stream.h"
 #include "call/flexfec_receive_stream_impl.h"
 #include "call/packet_receiver.h"
+#include "call/receive_stream.h"
 #include "call/receive_time_calculator.h"
+#include "call/rtp_config.h"
 #include "call/rtp_stream_receiver_controller.h"
-#include "call/rtp_transport_controller_send.h"
 #include "call/rtp_transport_controller_send_factory.h"
 #include "call/version.h"
+#include "call/video_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "logging/rtc_event_log/events/rtc_event_audio_receive_stream_config.h"
 #include "logging/rtc_event_log/events/rtc_event_rtcp_packet_incoming.h"
 #include "logging/rtc_event_log/events/rtc_event_rtp_packet_incoming.h"
@@ -50,17 +68,20 @@
 #include "logging/rtc_event_log/rtc_stream_config.h"
 #include "modules/congestion_controller/include/receive_side_congestion_controller.h"
 #include "modules/rtp_rtcp/include/flexfec_receiver.h"
-#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
-#include "modules/rtp_rtcp/source/byte_io.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "modules/rtp_rtcp/source/rtp_util.h"
 #include "modules/video_coding/fec_controller_default.h"
+#include "modules/video_coding/nack_requester.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/copy_on_write_buffer.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/network/sent_packet.h"
 #include "rtc_base/strings/string_builder.h"
 #include "rtc_base/system/no_unique_address.h"
 #include "rtc_base/task_utils/repeating_task.h"
+#include "rtc_base/thread.h"
 #include "rtc_base/thread_annotations.h"
 #include "rtc_base/time_utils.h"
 #include "rtc_base/trace_event.h"
@@ -68,6 +89,8 @@
 #include "system_wrappers/include/cpu_info.h"
 #include "system_wrappers/include/metrics.h"
 #include "video/call_stats2.h"
+#include "video/config/video_encoder_config.h"
+#include "video/decode_synchronizer.h"
 #include "video/send_delay_stats.h"
 #include "video/stats_counter.h"
 #include "video/video_receive_stream2.h"
diff --git a/call/call.h b/call/call.h
index 6ada035..6c6bc46 100644
--- a/call/call.h
+++ b/call/call.h
@@ -10,26 +10,29 @@
 #ifndef CALL_CALL_H_
 #define CALL_CALL_H_
 
-#include <algorithm>
+#include <cstdint>
 #include <memory>
 #include <string>
-#include <vector>
 
 #include "absl/strings/string_view.h"
 #include "api/adaptation/resource.h"
+#include "api/fec_controller.h"
+#include "api/field_trials_view.h"
 #include "api/media_types.h"
+#include "api/rtp_headers.h"
+#include "api/scoped_refptr.h"
 #include "api/task_queue/task_queue_base.h"
+#include "api/transport/bitrate_settings.h"
 #include "call/audio_receive_stream.h"
 #include "call/audio_send_stream.h"
 #include "call/call_config.h"
 #include "call/flexfec_receive_stream.h"
 #include "call/packet_receiver.h"
+#include "call/rtp_transport_controller_send_interface.h"
 #include "call/video_receive_stream.h"
 #include "call/video_send_stream.h"
-#include "rtc_base/copy_on_write_buffer.h"
 #include "rtc_base/network/sent_packet.h"
-#include "rtc_base/network_route.h"
-#include "rtc_base/ref_count.h"
+#include "video/config/video_encoder_config.h"
 
 namespace webrtc {
 
diff --git a/call/call_config.cc b/call/call_config.cc
index 19d91cf..6a81176 100644
--- a/call/call_config.cc
+++ b/call/call_config.cc
@@ -12,6 +12,7 @@
 
 #include "api/environment/environment.h"
 #include "api/task_queue/task_queue_base.h"
+#include "call/rtp_transport_config.h"
 
 namespace webrtc {
 
diff --git a/call/call_config.h b/call/call_config.h
index 74c15509..d15651d 100644
--- a/call/call_config.h
+++ b/call/call_config.h
@@ -11,14 +11,18 @@
 #define CALL_CALL_CONFIG_H_
 
 #include <memory>
+#include <optional>
 
 #include "api/environment/environment.h"
 #include "api/fec_controller.h"
 #include "api/metronome/metronome.h"
 #include "api/neteq/neteq_factory.h"
 #include "api/network_state_predictor.h"
+#include "api/scoped_refptr.h"
+#include "api/task_queue/task_queue_base.h"
 #include "api/transport/bitrate_settings.h"
 #include "api/transport/network_control.h"
+#include "api/units/time_delta.h"
 #include "call/audio_state.h"
 #include "call/rtp_transport_config.h"
 #include "call/rtp_transport_controller_send_factory_interface.h"
diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc
index ff92a52..a9db79c 100644
--- a/call/call_perf_tests.cc
+++ b/call/call_perf_tests.cc
@@ -9,42 +9,68 @@
  */
 
 #include <algorithm>
+#include <cstddef>
+#include <cstdint>
+#include <cstdlib>
+#include <iterator>
 #include <limits>
+#include <map>
 #include <memory>
 #include <string>
+#include <utility>
+#include <vector>
 
 #include "absl/flags/flag.h"
 #include "absl/strings/string_view.h"
+#include "api/array_view.h"
 #include "api/audio/audio_device.h"
+#include "api/audio/audio_processing.h"
 #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+#include "api/environment/environment.h"
+#include "api/field_trials_view.h"
+#include "api/make_ref_counted.h"
 #include "api/numerics/samples_stats_counter.h"
-#include "api/rtc_event_log/rtc_event_log.h"
+#include "api/rtp_parameters.h"
+#include "api/scoped_refptr.h"
 #include "api/task_queue/pending_task_safety_flag.h"
 #include "api/task_queue/task_queue_base.h"
 #include "api/test/metrics/global_metrics_logger_and_exporter.h"
 #include "api/test/metrics/metric.h"
 #include "api/test/simulated_network.h"
+#include "api/test/video/function_video_encoder_factory.h"
+#include "api/transport/bitrate_settings.h"
 #include "api/units/data_rate.h"
+#include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
 #include "api/video/video_bitrate_allocation.h"
+#include "api/video/video_bitrate_allocator_factory.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_sink_interface.h"
+#include "api/video/video_source_interface.h"
+#include "api/video_codecs/sdp_video_format.h"
+#include "api/video_codecs/video_codec.h"
 #include "api/video_codecs/video_encoder.h"
+#include "api/video_codecs/video_encoder_factory.h"
+#include "call/audio_receive_stream.h"
+#include "call/audio_send_stream.h"
+#include "call/audio_state.h"
 #include "call/call.h"
+#include "call/call_config.h"
 #include "call/fake_network_pipe.h"
+#include "call/video_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "media/engine/internal_encoder_factory.h"
 #include "media/engine/simulcast_encoder_adapter.h"
-#include "modules/audio_coding/include/audio_coding_module.h"
 #include "modules/audio_device/include/test_audio_device.h"
 #include "modules/audio_mixer/audio_mixer_impl.h"
-#include "modules/rtp_rtcp/source/rtp_packet.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/event.h"
 #include "rtc_base/logging.h"
-#include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/task_queue_for_test.h"
 #include "rtc_base/thread.h"
-#include "rtc_base/thread_annotations.h"
 #include "system_wrappers/include/metrics.h"
 #include "test/call_test.h"
-#include "test/direct_transport.h"
 #include "test/drifting_clock.h"
 #include "test/encoder_settings.h"
 #include "test/fake_encoder.h"
@@ -52,14 +78,12 @@
 #include "test/frame_generator_capturer.h"
 #include "test/gtest.h"
 #include "test/network/simulated_network.h"
-#include "test/null_transport.h"
 #include "test/rtp_rtcp_observer.h"
 #include "test/test_flags.h"
 #include "test/testsupport/file_utils.h"
 #include "test/video_encoder_proxy_factory.h"
 #include "test/video_test_constants.h"
 #include "video/config/video_encoder_config.h"
-#include "video/transport_adapter.h"
 
 using webrtc::test::DriftingClock;
 
diff --git a/call/call_unittest.cc b/call/call_unittest.cc
index aa0b08f..9e06795 100644
--- a/call/call_unittest.cc
+++ b/call/call_unittest.cc
@@ -10,33 +10,46 @@
 
 #include "call/call.h"
 
+#include <cstdint>
 #include <list>
-#include <map>
 #include <memory>
+#include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/strings/string_view.h"
-#include "api/audio_codecs/builtin_audio_decoder_factory.h"
+#include "api/adaptation/resource.h"
 #include "api/environment/environment.h"
 #include "api/environment/environment_factory.h"
+#include "api/make_ref_counted.h"
 #include "api/media_types.h"
+#include "api/scoped_refptr.h"
 #include "api/test/mock_audio_mixer.h"
 #include "api/test/video/function_video_encoder_factory.h"
 #include "api/units/timestamp.h"
 #include "api/video/builtin_video_bitrate_allocator_factory.h"
+#include "api/video_codecs/sdp_video_format.h"
 #include "audio/audio_receive_stream.h"
 #include "audio/audio_send_stream.h"
 #include "call/adaptation/test/fake_resource.h"
 #include "call/adaptation/test/mock_resource_listener.h"
+#include "call/audio_receive_stream.h"
+#include "call/audio_send_stream.h"
 #include "call/audio_state.h"
+#include "call/call_config.h"
+#include "call/flexfec_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "modules/audio_device/include/mock_audio_device.h"
 #include "modules/audio_processing/include/mock_audio_processing.h"
-#include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+#include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "test/fake_encoder.h"
+#include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/mock_audio_decoder_factory.h"
 #include "test/mock_transport.h"
 #include "test/run_loop.h"
+#include "video/config/video_encoder_config.h"
 
 namespace webrtc {
 namespace {
diff --git a/call/fake_network_pipe.cc b/call/fake_network_pipe.cc
index 474d2ac..7d64b78 100644
--- a/call/fake_network_pipe.cc
+++ b/call/fake_network_pipe.cc
@@ -13,15 +13,23 @@
 #include <string.h>
 
 #include <algorithm>
+#include <cstdint>
+#include <memory>
+#include <optional>
 #include <queue>
 #include <utility>
 #include <vector>
 
+#include "api/array_view.h"
+#include "api/call/transport.h"
 #include "api/media_types.h"
+#include "api/test/simulated_network.h"
 #include "api/units/timestamp.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/copy_on_write_buffer.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/synchronization/mutex.h"
 #include "system_wrappers/include/clock.h"
 
 namespace webrtc {
diff --git a/call/fake_network_pipe.h b/call/fake_network_pipe.h
index ea4b1af..dabc4b9 100644
--- a/call/fake_network_pipe.h
+++ b/call/fake_network_pipe.h
@@ -11,18 +11,19 @@
 #ifndef CALL_FAKE_NETWORK_PIPE_H_
 #define CALL_FAKE_NETWORK_PIPE_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <deque>
 #include <map>
 #include <memory>
-#include <queue>
-#include <set>
-#include <string>
-#include <vector>
+#include <optional>
 
+#include "api/array_view.h"
 #include "api/call/transport.h"
 #include "api/test/simulated_network.h"
 #include "call/simulated_packet_receiver.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+#include "rtc_base/copy_on_write_buffer.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/thread_annotations.h"
 
diff --git a/call/fake_network_pipe_unittest.cc b/call/fake_network_pipe_unittest.cc
index 66e43f6..b277535 100644
--- a/call/fake_network_pipe_unittest.cc
+++ b/call/fake_network_pipe_unittest.cc
@@ -10,9 +10,14 @@
 
 #include "call/fake_network_pipe.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <cstring>
 #include <memory>
 #include <utility>
+#include <vector>
 
+#include "api/test/simulated_network.h"
 #include "api/units/data_rate.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
@@ -20,6 +25,7 @@
 #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/copy_on_write_buffer.h"
 #include "system_wrappers/include/clock.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
diff --git a/call/flexfec_receive_stream.cc b/call/flexfec_receive_stream.cc
index ab6dde3..27261b8 100644
--- a/call/flexfec_receive_stream.cc
+++ b/call/flexfec_receive_stream.cc
@@ -10,6 +10,7 @@
 
 #include "call/flexfec_receive_stream.h"
 
+#include "api/call/transport.h"
 #include "rtc_base/checks.h"
 
 namespace webrtc {
diff --git a/call/flexfec_receive_stream.h b/call/flexfec_receive_stream.h
index c5ac0f9..eb70e20 100644
--- a/call/flexfec_receive_stream.h
+++ b/call/flexfec_receive_stream.h
@@ -18,7 +18,6 @@
 
 #include "api/call/transport.h"
 #include "api/rtp_headers.h"
-#include "api/rtp_parameters.h"
 #include "call/receive_stream.h"
 #include "call/rtp_packet_sink_interface.h"
 #include "modules/rtp_rtcp/include/receive_statistics.h"
diff --git a/call/flexfec_receive_stream_impl.cc b/call/flexfec_receive_stream_impl.cc
index 053cf67..bb4122a 100644
--- a/call/flexfec_receive_stream_impl.cc
+++ b/call/flexfec_receive_stream_impl.cc
@@ -13,13 +13,13 @@
 #include <stddef.h>
 
 #include <cstdint>
+#include <memory>
 #include <string>
-#include <utility>
 
 #include "api/array_view.h"
-#include "api/call/transport.h"
 #include "api/environment/environment.h"
-#include "api/rtp_parameters.h"
+#include "api/sequence_checker.h"
+#include "call/flexfec_receive_stream.h"
 #include "call/rtp_stream_receiver_controller_interface.h"
 #include "modules/rtp_rtcp/include/flexfec_receiver.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
diff --git a/call/flexfec_receive_stream_impl.h b/call/flexfec_receive_stream_impl.h
index 6235603..2e1b9c4 100644
--- a/call/flexfec_receive_stream_impl.h
+++ b/call/flexfec_receive_stream_impl.h
@@ -11,14 +11,17 @@
 #ifndef CALL_FLEXFEC_RECEIVE_STREAM_IMPL_H_
 #define CALL_FLEXFEC_RECEIVE_STREAM_IMPL_H_
 
+#include <cstdint>
 #include <memory>
-#include <vector>
 
 #include "api/environment/environment.h"
+#include "api/rtp_headers.h"
+#include "api/sequence_checker.h"
 #include "call/flexfec_receive_stream.h"
 #include "call/rtp_packet_sink_interface.h"
 #include "modules/rtp_rtcp/source/rtp_rtcp_impl2.h"
 #include "rtc_base/system/no_unique_address.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 
diff --git a/call/flexfec_receive_stream_unittest.cc b/call/flexfec_receive_stream_unittest.cc
index b591d5c..b0a3420 100644
--- a/call/flexfec_receive_stream_unittest.cc
+++ b/call/flexfec_receive_stream_unittest.cc
@@ -18,14 +18,11 @@
 #include "api/call/transport.h"
 #include "api/environment/environment_factory.h"
 #include "api/rtp_headers.h"
-#include "api/rtp_parameters.h"
 #include "call/flexfec_receive_stream_impl.h"
 #include "call/rtp_stream_receiver_controller.h"
-#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/mocks/mock_recovered_packet_receiver.h"
 #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
 #include "modules/rtp_rtcp/source/byte_io.h"
-#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/thread.h"
 #include "test/gmock.h"
diff --git a/call/packet_receiver.h b/call/packet_receiver.h
index 6d223ef..974c435 100644
--- a/call/packet_receiver.h
+++ b/call/packet_receiver.h
@@ -13,7 +13,6 @@
 #include "absl/functional/any_invocable.h"
 #include "api/media_types.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
-#include "rtc_base/checks.h"
 #include "rtc_base/copy_on_write_buffer.h"
 
 namespace webrtc {
diff --git a/call/rampup_tests.cc b/call/rampup_tests.cc
index 103e998..4d3946c 100644
--- a/call/rampup_tests.cc
+++ b/call/rampup_tests.cc
@@ -10,26 +10,48 @@
 
 #include "call/rampup_tests.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <memory>
+#include <string>
+#include <utility>
+#include <vector>
 
 #include "absl/flags/flag.h"
 #include "absl/strings/string_view.h"
+#include "api/field_trials_view.h"
+#include "api/make_ref_counted.h"
+#include "api/rtc_event_log/rtc_event_log.h"
 #include "api/rtc_event_log/rtc_event_log_factory.h"
 #include "api/rtc_event_log_output_file.h"
+#include "api/rtp_parameters.h"
+#include "api/sequence_checker.h"
 #include "api/task_queue/task_queue_base.h"
 #include "api/test/metrics/global_metrics_logger_and_exporter.h"
 #include "api/test/metrics/metric.h"
+#include "api/test/simulated_network.h"
+#include "api/transport/bitrate_settings.h"
 #include "api/units/data_rate.h"
+#include "api/units/time_delta.h"
+#include "api/video/video_codec_type.h"
+#include "api/video_codecs/sdp_video_format.h"
+#include "call/audio_receive_stream.h"
+#include "call/audio_send_stream.h"
+#include "call/call.h"
 #include "call/fake_network_pipe.h"
+#include "call/flexfec_receive_stream.h"
+#include "call/video_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/logging.h"
-#include "rtc_base/platform_thread.h"
 #include "rtc_base/string_encode.h"
 #include "rtc_base/task_queue_for_test.h"
-#include "rtc_base/time_utils.h"
+#include "rtc_base/task_utils/repeating_task.h"
+#include "test/call_test.h"
 #include "test/encoder_settings.h"
 #include "test/gtest.h"
+#include "test/rtp_rtcp_observer.h"
 #include "test/video_test_constants.h"
+#include "video/config/video_encoder_config.h"
 
 ABSL_FLAG(std::string,
           ramp_dump_name,
diff --git a/call/rampup_tests.h b/call/rampup_tests.h
index e09986d..259aa79 100644
--- a/call/rampup_tests.h
+++ b/call/rampup_tests.h
@@ -11,21 +11,27 @@
 #ifndef CALL_RAMPUP_TESTS_H_
 #define CALL_RAMPUP_TESTS_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <map>
-#include <memory>
 #include <string>
-#include <utility>
 #include <vector>
 
 #include "absl/strings/string_view.h"
-#include "api/rtc_event_log/rtc_event_log.h"
 #include "api/task_queue/task_queue_base.h"
 #include "api/test/metrics/metric.h"
 #include "api/test/simulated_network.h"
+#include "api/transport/bitrate_settings.h"
+#include "call/audio_receive_stream.h"
+#include "call/audio_send_stream.h"
 #include "call/call.h"
-#include "rtc_base/event.h"
+#include "call/flexfec_receive_stream.h"
+#include "call/video_receive_stream.h"
+#include "call/video_send_stream.h"
 #include "rtc_base/task_utils/repeating_task.h"
 #include "test/call_test.h"
+#include "test/rtp_rtcp_observer.h"
+#include "video/config/video_encoder_config.h"
 
 namespace webrtc {
 
diff --git a/call/receive_stream.h b/call/receive_stream.h
index 287ddc4..14655b7 100644
--- a/call/receive_stream.h
+++ b/call/receive_stream.h
@@ -11,11 +11,12 @@
 #ifndef CALL_RECEIVE_STREAM_H_
 #define CALL_RECEIVE_STREAM_H_
 
+#include <cstdint>
 #include <vector>
 
 #include "api/crypto/frame_decryptor_interface.h"
 #include "api/frame_transformer_interface.h"
-#include "api/media_types.h"
+#include "api/rtp_headers.h"
 #include "api/scoped_refptr.h"
 #include "api/transport/rtp/rtp_source.h"
 
diff --git a/call/receive_time_calculator.cc b/call/receive_time_calculator.cc
index 417168b..e73e5ff 100644
--- a/call/receive_time_calculator.cc
+++ b/call/receive_time_calculator.cc
@@ -10,10 +10,12 @@
 
 #include "call/receive_time_calculator.h"
 
+#include <cstdint>
 #include <memory>
 #include <string>
-#include <type_traits>
 
+#include "api/field_trials_view.h"
+#include "api/units/time_delta.h"
 #include "rtc_base/experiments/field_trial_parser.h"
 #include "rtc_base/numerics/safe_minmax.h"
 
diff --git a/call/rtp_bitrate_configurator.cc b/call/rtp_bitrate_configurator.cc
index f0a36ad..3e7912b 100644
--- a/call/rtp_bitrate_configurator.cc
+++ b/call/rtp_bitrate_configurator.cc
@@ -11,7 +11,10 @@
 #include "call/rtp_bitrate_configurator.h"
 
 #include <algorithm>
+#include <optional>
 
+#include "api/transport/bitrate_settings.h"
+#include "api/units/data_rate.h"
 #include "rtc_base/checks.h"
 
 namespace {
diff --git a/call/rtp_bitrate_configurator_unittest.cc b/call/rtp_bitrate_configurator_unittest.cc
index 0b019ce..a034e2c 100644
--- a/call/rtp_bitrate_configurator_unittest.cc
+++ b/call/rtp_bitrate_configurator_unittest.cc
@@ -10,7 +10,9 @@
 #include "call/rtp_bitrate_configurator.h"
 
 #include <memory>
+#include <optional>
 
+#include "api/transport/bitrate_settings.h"
 #include "test/gtest.h"
 
 namespace webrtc {
diff --git a/call/rtp_config.cc b/call/rtp_config.cc
index 43b615c..4c9afeb 100644
--- a/call/rtp_config.cc
+++ b/call/rtp_config.cc
@@ -10,10 +10,17 @@
 
 #include "call/rtp_config.h"
 
+#include <algorithm>
+#include <cstddef>
 #include <cstdint>
+#include <iterator>
+#include <optional>
+#include <string>
+#include <vector>
 
 #include "absl/algorithm/container.h"
 #include "api/array_view.h"
+#include "api/rtp_headers.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/strings/string_builder.h"
 
diff --git a/call/rtp_demuxer.cc b/call/rtp_demuxer.cc
index 525acf7..5dce864 100644
--- a/call/rtp_demuxer.cc
+++ b/call/rtp_demuxer.cc
@@ -10,11 +10,19 @@
 
 #include "call/rtp_demuxer.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
+#include <string>
+#include <utility>
+
 #include "absl/strings/string_view.h"
 #include "call/rtp_packet_sink_interface.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/containers/flat_set.h"
 #include "rtc_base/logging.h"
 #include "rtc_base/strings/string_builder.h"
 
diff --git a/call/rtp_demuxer.h b/call/rtp_demuxer.h
index 80427b8..ad0103e 100644
--- a/call/rtp_demuxer.h
+++ b/call/rtp_demuxer.h
@@ -11,10 +11,10 @@
 #ifndef CALL_RTP_DEMUXER_H_
 #define CALL_RTP_DEMUXER_H_
 
+#include <cstdint>
 #include <map>
 #include <string>
 #include <utility>
-#include <vector>
 
 #include "absl/strings/string_view.h"
 #include "rtc_base/containers/flat_map.h"
diff --git a/call/rtp_demuxer_unittest.cc b/call/rtp_demuxer_unittest.cc
index e460af8..40a615e 100644
--- a/call/rtp_demuxer_unittest.cc
+++ b/call/rtp_demuxer_unittest.cc
@@ -10,13 +10,14 @@
 
 #include "call/rtp_demuxer.h"
 
+#include <cstddef>
+#include <cstdint>
 #include <memory>
 #include <set>
 #include <string>
 
 #include "absl/strings/string_view.h"
 #include "call/test/mock_rtp_packet_sink_interface.h"
-#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
 #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "rtc_base/arraysize.h"
diff --git a/call/rtp_payload_params.cc b/call/rtp_payload_params.cc
index 00e7509..edcf3f7 100644
--- a/call/rtp_payload_params.cc
+++ b/call/rtp_payload_params.cc
@@ -13,16 +13,30 @@
 #include <stddef.h>
 
 #include <algorithm>
+#include <cstdint>
+#include <optional>
 
 #include "absl/container/inlined_vector.h"
 #include "absl/strings/match.h"
 #include "absl/types/variant.h"
+#include "api/field_trials_view.h"
+#include "api/transport/rtp/dependency_descriptor.h"
+#include "api/video/encoded_image.h"
+#include "api/video/render_resolution.h"
+#include "api/video/video_codec_constants.h"
+#include "api/video/video_codec_type.h"
+#include "api/video/video_frame_type.h"
 #include "api/video/video_timing.h"
+#include "call/rtp_config.h"
+#include "common_video/generic_frame_descriptor/generic_frame_info.h"
+#include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
+#include "modules/rtp_rtcp/source/rtp_video_header.h"
 #include "modules/video_coding/codecs/h264/include/h264_globals.h"
 #include "modules/video_coding/codecs/interface/common_constants.h"
 #include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
 #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
 #include "modules/video_coding/frame_dependencies_calculator.h"
+#include "modules/video_coding/include/video_codec_interface.h"
 #include "rtc_base/arraysize.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
diff --git a/call/rtp_payload_params.h b/call/rtp_payload_params.h
index 870e3c3..ea585c0 100644
--- a/call/rtp_payload_params.h
+++ b/call/rtp_payload_params.h
@@ -12,12 +12,17 @@
 #define CALL_RTP_PAYLOAD_PARAMS_H_
 
 #include <array>
+#include <cstddef>
+#include <cstdint>
 #include <optional>
 #include <vector>
 
 #include "api/field_trials_view.h"
+#include "api/transport/rtp/dependency_descriptor.h"
+#include "api/video/encoded_image.h"
 #include "api/video_codecs/video_encoder.h"
 #include "call/rtp_config.h"
+#include "common_video/generic_frame_descriptor/generic_frame_info.h"
 #include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
 #include "modules/rtp_rtcp/source/rtp_video_header.h"
 #include "modules/video_coding/chain_diff_calculator.h"
diff --git a/call/rtp_payload_params_unittest.cc b/call/rtp_payload_params_unittest.cc
index 15096cf..5c9f8eb 100644
--- a/call/rtp_payload_params_unittest.cc
+++ b/call/rtp_payload_params_unittest.cc
@@ -10,8 +10,7 @@
 
 #include "call/rtp_payload_params.h"
 
-#include <string.h>
-
+#include <cstdint>
 #include <map>
 #include <optional>
 #include <set>
@@ -19,14 +18,22 @@
 #include "absl/container/inlined_vector.h"
 #include "absl/types/variant.h"
 #include "api/transport/field_trial_based_config.h"
+#include "api/transport/rtp/dependency_descriptor.h"
+#include "api/video/color_space.h"
+#include "api/video/encoded_image.h"
+#include "api/video/video_codec_constants.h"
+#include "api/video/video_codec_type.h"
 #include "api/video/video_content_type.h"
+#include "api/video/video_frame_type.h"
 #include "api/video/video_rotation.h"
-#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+#include "call/rtp_config.h"
+#include "common_video/generic_frame_descriptor/generic_frame_info.h"
+#include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
+#include "modules/rtp_rtcp/source/rtp_video_header.h"
 #include "modules/video_coding/codecs/interface/common_constants.h"
 #include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
 #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
 #include "modules/video_coding/include/video_codec_interface.h"
-#include "test/explicit_key_value_config.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/scoped_key_value_config.h"
diff --git a/call/rtp_stream_receiver_controller.cc b/call/rtp_stream_receiver_controller.cc
index 993a4fc..9367b87 100644
--- a/call/rtp_stream_receiver_controller.cc
+++ b/call/rtp_stream_receiver_controller.cc
@@ -10,8 +10,12 @@
 
 #include "call/rtp_stream_receiver_controller.h"
 
+#include <cstdint>
 #include <memory>
 
+#include "api/sequence_checker.h"
+#include "call/rtp_packet_sink_interface.h"
+#include "call/rtp_stream_receiver_controller_interface.h"
 #include "rtc_base/logging.h"
 
 namespace webrtc {
diff --git a/call/rtp_stream_receiver_controller.h b/call/rtp_stream_receiver_controller.h
index 1040632..1954c4f 100644
--- a/call/rtp_stream_receiver_controller.h
+++ b/call/rtp_stream_receiver_controller.h
@@ -10,12 +10,14 @@
 #ifndef CALL_RTP_STREAM_RECEIVER_CONTROLLER_H_
 #define CALL_RTP_STREAM_RECEIVER_CONTROLLER_H_
 
+#include <cstdint>
 #include <memory>
 
 #include "api/sequence_checker.h"
 #include "call/rtp_demuxer.h"
 #include "call/rtp_stream_receiver_controller_interface.h"
 #include "modules/rtp_rtcp/include/recovered_packet_receiver.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 
diff --git a/call/rtp_stream_receiver_controller_interface.h b/call/rtp_stream_receiver_controller_interface.h
index 793d0bc..51ae655 100644
--- a/call/rtp_stream_receiver_controller_interface.h
+++ b/call/rtp_stream_receiver_controller_interface.h
@@ -10,6 +10,7 @@
 #ifndef CALL_RTP_STREAM_RECEIVER_CONTROLLER_INTERFACE_H_
 #define CALL_RTP_STREAM_RECEIVER_CONTROLLER_INTERFACE_H_
 
+#include <cstdint>
 #include <memory>
 
 #include "call/rtp_packet_sink_interface.h"
diff --git a/call/rtp_transport_config.h b/call/rtp_transport_config.h
index b310710..5664b62 100644
--- a/call/rtp_transport_config.h
+++ b/call/rtp_transport_config.h
@@ -11,7 +11,6 @@
 #ifndef CALL_RTP_TRANSPORT_CONFIG_H_
 #define CALL_RTP_TRANSPORT_CONFIG_H_
 
-#include <memory>
 #include <optional>
 
 #include "api/environment/environment.h"
diff --git a/call/rtp_transport_controller_send.cc b/call/rtp_transport_controller_send.cc
index 34cf06d..9ff82f4 100644
--- a/call/rtp_transport_controller_send.cc
+++ b/call/rtp_transport_controller_send.cc
@@ -9,30 +9,53 @@
  */
 #include "call/rtp_transport_controller_send.h"
 
+#include <cstddef>
 #include <cstdint>
+#include <map>
 #include <memory>
 #include <optional>
+#include <string>
 #include <utility>
 #include <vector>
 
-#include "absl/strings/match.h"
 #include "absl/strings/string_view.h"
+#include "api/array_view.h"
+#include "api/call/transport.h"
+#include "api/fec_controller.h"
+#include "api/frame_transformer_interface.h"
+#include "api/rtp_packet_sender.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
 #include "api/task_queue/pending_task_safety_flag.h"
 #include "api/task_queue/task_queue_base.h"
+#include "api/transport/bandwidth_estimation_settings.h"
+#include "api/transport/bitrate_settings.h"
 #include "api/transport/goog_cc_factory.h"
+#include "api/transport/network_control.h"
 #include "api/transport/network_types.h"
 #include "api/units/data_rate.h"
+#include "api/units/data_size.h"
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
+#include "call/rtp_config.h"
+#include "call/rtp_transport_config.h"
+#include "call/rtp_transport_controller_send_interface.h"
 #include "call/rtp_video_sender.h"
-#include "logging/rtc_event_log/events/rtc_event_remote_estimate.h"
+#include "call/rtp_video_sender_interface.h"
 #include "logging/rtc_event_log/events/rtc_event_route_change.h"
+#include "modules/congestion_controller/rtp/control_handler.h"
+#include "modules/pacing/packet_router.h"
+#include "modules/rtp_rtcp/include/report_block_data.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
-#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+#include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
 #include "rtc_base/checks.h"
+#include "rtc_base/experiments/field_trial_parser.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/network/sent_packet.h"
+#include "rtc_base/network_route.h"
 #include "rtc_base/rate_limiter.h"
+#include "rtc_base/task_utils/repeating_task.h"
 
 namespace webrtc {
 namespace {
diff --git a/call/rtp_transport_controller_send.h b/call/rtp_transport_controller_send.h
index 602feb3..4725b38 100644
--- a/call/rtp_transport_controller_send.h
+++ b/call/rtp_transport_controller_send.h
@@ -11,22 +11,33 @@
 #ifndef CALL_RTP_TRANSPORT_CONTROLLER_SEND_H_
 #define CALL_RTP_TRANSPORT_CONTROLLER_SEND_H_
 
-#include <atomic>
+#include <cstddef>
 #include <cstdint>
 #include <map>
 #include <memory>
+#include <optional>
 #include <string>
 #include <vector>
 
 #include "absl/strings/string_view.h"
+#include "api/array_view.h"
 #include "api/environment/environment.h"
-#include "api/network_state_predictor.h"
+#include "api/fec_controller.h"
+#include "api/frame_transformer_interface.h"
+#include "api/scoped_refptr.h"
 #include "api/sequence_checker.h"
+#include "api/task_queue/pending_task_safety_flag.h"
 #include "api/task_queue/task_queue_base.h"
-#include "api/task_queue/task_queue_factory.h"
+#include "api/transport/bandwidth_estimation_settings.h"
+#include "api/transport/bitrate_settings.h"
 #include "api/transport/network_control.h"
+#include "api/transport/network_types.h"
 #include "api/units/data_rate.h"
+#include "api/units/data_size.h"
+#include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
 #include "call/rtp_bitrate_configurator.h"
+#include "call/rtp_config.h"
 #include "call/rtp_transport_config.h"
 #include "call/rtp_transport_controller_send_interface.h"
 #include "call/rtp_video_sender.h"
@@ -34,12 +45,14 @@
 #include "modules/congestion_controller/rtp/transport_feedback_adapter.h"
 #include "modules/congestion_controller/rtp/transport_feedback_demuxer.h"
 #include "modules/pacing/packet_router.h"
-#include "modules/pacing/rtp_packet_pacer.h"
 #include "modules/pacing/task_queue_paced_sender.h"
+#include "modules/rtp_rtcp/include/report_block_data.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+#include "rtc_base/experiments/field_trial_parser.h"
 #include "rtc_base/network_route.h"
-#include "rtc_base/race_checker.h"
+#include "rtc_base/rate_limiter.h"
 #include "rtc_base/task_utils/repeating_task.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 class FrameEncryptorInterface;
diff --git a/call/rtp_transport_controller_send_factory.h b/call/rtp_transport_controller_send_factory.h
index cd5a3c5..2a1c2c8 100644
--- a/call/rtp_transport_controller_send_factory.h
+++ b/call/rtp_transport_controller_send_factory.h
@@ -12,10 +12,11 @@
 #define CALL_RTP_TRANSPORT_CONTROLLER_SEND_FACTORY_H_
 
 #include <memory>
-#include <utility>
 
+#include "call/rtp_transport_config.h"
 #include "call/rtp_transport_controller_send.h"
 #include "call/rtp_transport_controller_send_factory_interface.h"
+#include "call/rtp_transport_controller_send_interface.h"
 
 namespace webrtc {
 class RtpTransportControllerSendFactory
diff --git a/call/rtp_transport_controller_send_interface.h b/call/rtp_transport_controller_send_interface.h
index 13eede6..a80dd83 100644
--- a/call/rtp_transport_controller_send_interface.h
+++ b/call/rtp_transport_controller_send_interface.h
@@ -16,24 +16,23 @@
 #include <map>
 #include <memory>
 #include <optional>
-#include <string>
-#include <vector>
 
 #include "absl/strings/string_view.h"
 #include "api/crypto/crypto_options.h"
 #include "api/fec_controller.h"
 #include "api/frame_transformer_interface.h"
 #include "api/rtp_packet_sender.h"
+#include "api/scoped_refptr.h"
 #include "api/transport/bandwidth_estimation_settings.h"
 #include "api/transport/bitrate_settings.h"
 #include "api/transport/network_control.h"
+#include "api/transport/network_types.h"
 #include "api/units/timestamp.h"
 #include "call/rtp_config.h"
 #include "common_video/frame_counts.h"
 #include "modules/rtp_rtcp/include/report_block_data.h"
 #include "modules/rtp_rtcp/include/rtcp_statistics.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
-#include "modules/rtp_rtcp/source/rtp_packet_received.h"
 
 namespace rtc {
 struct SentPacket;
diff --git a/call/rtp_video_sender.cc b/call/rtp_video_sender.cc
index 431e5c0..e97112c 100644
--- a/call/rtp_video_sender.cc
+++ b/call/rtp_video_sender.cc
@@ -11,26 +11,62 @@
 #include "call/rtp_video_sender.h"
 
 #include <algorithm>
+#include <cmath>
+#include <cstddef>
+#include <cstdint>
+#include <map>
 #include <memory>
+#include <optional>
 #include <string>
 #include <utility>
+#include <vector>
 
 #include "absl/algorithm/container.h"
 #include "absl/strings/match.h"
 #include "absl/strings/string_view.h"
 #include "api/array_view.h"
-#include "api/task_queue/task_queue_factory.h"
-#include "api/transport/field_trial_based_config.h"
+#include "api/call/bitrate_allocation.h"
+#include "api/crypto/crypto_options.h"
+#include "api/environment/environment.h"
+#include "api/fec_controller.h"
+#include "api/field_trials_view.h"
+#include "api/frame_transformer_interface.h"
+#include "api/rtp_headers.h"
+#include "api/rtp_parameters.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "api/transport/rtp/dependency_descriptor.h"
+#include "api/units/data_rate.h"
+#include "api/units/data_size.h"
+#include "api/units/frequency.h"
 #include "api/units/time_delta.h"
+#include "api/video/encoded_image.h"
+#include "api/video/video_bitrate_allocation.h"
+#include "api/video/video_codec_type.h"
+#include "api/video/video_frame_type.h"
+#include "api/video/video_layers_allocation.h"
 #include "api/video_codecs/video_codec.h"
+#include "api/video_codecs/video_encoder.h"
+#include "call/rtp_config.h"
+#include "call/rtp_payload_params.h"
 #include "call/rtp_transport_controller_send_interface.h"
+#include "common_video/frame_counts.h"
+#include "common_video/generic_frame_descriptor/generic_frame_info.h"
+#include "modules/include/module_fec_types.h"
 #include "modules/pacing/packet_router.h"
+#include "modules/rtp_rtcp/include/flexfec_sender.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_rtcp_impl2.h"
 #include "modules/rtp_rtcp/source/rtp_sender.h"
+#include "modules/rtp_rtcp/source/rtp_sender_video.h"
+#include "modules/rtp_rtcp/source/rtp_sequence_number_map.h"
+#include "modules/rtp_rtcp/source/ulpfec_generator.h"
+#include "modules/rtp_rtcp/source/video_fec_generator.h"
 #include "modules/video_coding/include/video_codec_interface.h"
 #include "rtc_base/checks.h"
 #include "rtc_base/logging.h"
+#include "rtc_base/numerics/safe_conversions.h"
+#include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/trace_event.h"
 
 namespace webrtc {
diff --git a/call/rtp_video_sender.h b/call/rtp_video_sender.h
index 3cb2e9e..4ebd513 100644
--- a/call/rtp_video_sender.h
+++ b/call/rtp_video_sender.h
@@ -11,31 +11,43 @@
 #ifndef CALL_RTP_VIDEO_SENDER_H_
 #define CALL_RTP_VIDEO_SENDER_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <map>
 #include <memory>
 #include <optional>
-#include <unordered_set>
 #include <vector>
 
 #include "api/array_view.h"
+#include "api/call/bitrate_allocation.h"
 #include "api/call/transport.h"
+#include "api/crypto/crypto_options.h"
 #include "api/environment/environment.h"
 #include "api/fec_controller.h"
-#include "api/fec_controller_override.h"
+#include "api/frame_transformer_interface.h"
+#include "api/scoped_refptr.h"
 #include "api/sequence_checker.h"
+#include "api/units/data_rate.h"
+#include "api/units/data_size.h"
+#include "api/units/frequency.h"
+#include "api/video/encoded_image.h"
+#include "api/video/video_codec_type.h"
+#include "api/video/video_layers_allocation.h"
 #include "api/video_codecs/video_encoder.h"
 #include "call/rtp_config.h"
 #include "call/rtp_payload_params.h"
 #include "call/rtp_transport_controller_send_interface.h"
 #include "call/rtp_video_sender_interface.h"
-#include "modules/rtp_rtcp/include/flexfec_sender.h"
+#include "common_video/frame_counts.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_rtcp_impl2.h"
 #include "modules/rtp_rtcp/source/rtp_sender.h"
 #include "modules/rtp_rtcp/source/rtp_sender_video.h"
 #include "modules/rtp_rtcp/source/rtp_sequence_number_map.h"
-#include "modules/rtp_rtcp/source/rtp_video_header.h"
+#include "modules/rtp_rtcp/source/video_fec_generator.h"
 #include "rtc_base/rate_limiter.h"
 #include "rtc_base/synchronization/mutex.h"
+#include "rtc_base/system/no_unique_address.h"
 #include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
diff --git a/call/rtp_video_sender_interface.h b/call/rtp_video_sender_interface.h
index 76f7de7..5fe4ad3 100644
--- a/call/rtp_video_sender_interface.h
+++ b/call/rtp_video_sender_interface.h
@@ -11,18 +11,19 @@
 #ifndef CALL_RTP_VIDEO_SENDER_INTERFACE_H_
 #define CALL_RTP_VIDEO_SENDER_INTERFACE_H_
 
+#include <cstddef>
+#include <cstdint>
 #include <map>
-#include <optional>
 #include <vector>
 
 #include "api/array_view.h"
 #include "api/call/bitrate_allocation.h"
 #include "api/fec_controller_override.h"
 #include "api/video/video_layers_allocation.h"
+#include "api/video_codecs/video_encoder.h"
 #include "call/rtp_config.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_sequence_number_map.h"
-#include "modules/video_coding/include/video_codec_interface.h"
 
 namespace webrtc {
 class VideoBitrateAllocation;
diff --git a/call/rtp_video_sender_unittest.cc b/call/rtp_video_sender_unittest.cc
index 98cd307..2c8e9d3 100644
--- a/call/rtp_video_sender_unittest.cc
+++ b/call/rtp_video_sender_unittest.cc
@@ -10,31 +10,65 @@
 
 #include "call/rtp_video_sender.h"
 
-#include <atomic>
+#include <cstddef>
+#include <cstdint>
+#include <map>
 #include <memory>
-#include <string>
-#include <utility>
+#include <optional>
+#include <vector>
 
-#include "absl/functional/any_invocable.h"
+#include "api/array_view.h"
+#include "api/call/bitrate_allocation.h"
+#include "api/call/transport.h"
+#include "api/crypto/crypto_options.h"
 #include "api/environment/environment.h"
 #include "api/environment/environment_factory.h"
+#include "api/frame_transformer_interface.h"
+#include "api/make_ref_counted.h"
+#include "api/rtp_parameters.h"
+#include "api/scoped_refptr.h"
 #include "api/test/mock_frame_transformer.h"
+#include "api/test/network_emulation/network_emulation_interfaces.h"
+#include "api/transport/bitrate_settings.h"
+#include "api/transport/rtp/dependency_descriptor.h"
+#include "api/units/data_rate.h"
+#include "api/units/data_size.h"
+#include "api/units/time_delta.h"
+#include "api/units/timestamp.h"
+#include "api/video/encoded_image.h"
+#include "api/video/video_codec_type.h"
+#include "api/video/video_frame_type.h"
+#include "api/video_codecs/video_encoder.h"
+#include "call/rtp_config.h"
+#include "call/rtp_transport_config.h"
 #include "call/rtp_transport_controller_send.h"
+#include "call/rtp_transport_controller_send_interface.h"
+#include "call/video_send_stream.h"
+#include "common_video/frame_counts.h"
+#include "common_video/generic_frame_descriptor/generic_frame_info.h"
+#include "modules/rtp_rtcp/include/report_block_data.h"
+#include "modules/rtp_rtcp/include/rtcp_statistics.h"
+#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/byte_io.h"
 #include "modules/rtp_rtcp/source/rtcp_packet/nack.h"
 #include "modules/rtp_rtcp/source/rtp_dependency_descriptor_extension.h"
 #include "modules/rtp_rtcp/source/rtp_packet.h"
+#include "modules/rtp_rtcp/source/rtp_sender_video.h"
+#include "modules/video_coding/codecs/interface/common_constants.h"
 #include "modules/video_coding/fec_controller_default.h"
 #include "modules/video_coding/include/video_codec_interface.h"
+#include "rtc_base/buffer.h"
 #include "rtc_base/rate_limiter.h"
 #include "test/explicit_key_value_config.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/mock_transport.h"
 #include "test/scenario/scenario.h"
+#include "test/scenario/scenario_config.h"
 #include "test/scoped_key_value_config.h"
 #include "test/time_controller/simulated_time_controller.h"
+#include "video/config/video_encoder_config.h"
 #include "video/send_statistics_proxy.h"
 
 namespace webrtc {
diff --git a/call/rtx_receive_stream.cc b/call/rtx_receive_stream.cc
index 6c5fa3f..c7f5c7c 100644
--- a/call/rtx_receive_stream.cc
+++ b/call/rtx_receive_stream.cc
@@ -12,9 +12,13 @@
 
 #include <string.h>
 
+#include <cstdint>
+#include <map>
 #include <utility>
 
 #include "api/array_view.h"
+#include "api/sequence_checker.h"
+#include "call/rtp_packet_sink_interface.h"
 #include "modules/rtp_rtcp/include/receive_statistics.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
diff --git a/call/rtx_receive_stream.h b/call/rtx_receive_stream.h
index 79b03d3..e98055a 100644
--- a/call/rtx_receive_stream.h
+++ b/call/rtx_receive_stream.h
@@ -17,6 +17,7 @@
 #include "api/sequence_checker.h"
 #include "call/rtp_packet_sink_interface.h"
 #include "rtc_base/system/no_unique_address.h"
+#include "rtc_base/thread_annotations.h"
 
 namespace webrtc {
 
diff --git a/call/rtx_receive_stream_unittest.cc b/call/rtx_receive_stream_unittest.cc
index b069908..e6aee48 100644
--- a/call/rtx_receive_stream_unittest.cc
+++ b/call/rtx_receive_stream_unittest.cc
@@ -10,8 +10,17 @@
 
 #include "call/rtx_receive_stream.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <cstring>
+#include <map>
+
+#include "api/array_view.h"
+#include "api/units/timestamp.h"
+#include "api/video/video_rotation.h"
 #include "call/test/mock_rtp_packet_sink_interface.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
 #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
 #include "modules/rtp_rtcp/source/rtp_packet_received.h"
 #include "test/gmock.h"
diff --git a/call/simulated_packet_receiver.h b/call/simulated_packet_receiver.h
index e70937d..629ca10 100644
--- a/call/simulated_packet_receiver.h
+++ b/call/simulated_packet_receiver.h
@@ -11,7 +11,9 @@
 #ifndef CALL_SIMULATED_PACKET_RECEIVER_H_
 #define CALL_SIMULATED_PACKET_RECEIVER_H_
 
-#include "api/test/simulated_network.h"
+#include <cstdint>
+#include <optional>
+
 #include "call/packet_receiver.h"
 
 namespace webrtc {
diff --git a/call/video_receive_stream.cc b/call/video_receive_stream.cc
index 8d88ce2..c03b053 100644
--- a/call/video_receive_stream.cc
+++ b/call/video_receive_stream.cc
@@ -10,6 +10,14 @@
 
 #include "call/video_receive_stream.h"
 
+#include <cstddef>
+#include <cstdint>
+#include <string>
+#include <utility>
+
+#include "api/call/transport.h"
+#include "api/rtp_headers.h"
+#include "api/video_codecs/sdp_video_format.h"
 #include "rtc_base/strings/string_builder.h"
 
 namespace webrtc {
diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h
index 370bc16..08ac664 100644
--- a/call/video_receive_stream.h
+++ b/call/video_receive_stream.h
@@ -12,8 +12,10 @@
 #define CALL_VIDEO_RECEIVE_STREAM_H_
 
 #include <cstdint>
+#include <functional>
 #include <limits>
 #include <map>
+#include <optional>
 #include <set>
 #include <string>
 #include <utility>
@@ -21,8 +23,11 @@
 
 #include "api/call/transport.h"
 #include "api/crypto/crypto_options.h"
+#include "api/crypto/frame_decryptor_interface.h"
+#include "api/frame_transformer_interface.h"
 #include "api/rtp_headers.h"
-#include "api/rtp_parameters.h"
+#include "api/scoped_refptr.h"
+#include "api/units/time_delta.h"
 #include "api/video/recordable_encoded_frame.h"
 #include "api/video/video_content_type.h"
 #include "api/video/video_frame.h"
@@ -34,7 +39,6 @@
 #include "common_video/frame_counts.h"
 #include "modules/rtp_rtcp/include/rtcp_statistics.h"
 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
-#include "rtc_base/checks.h"
 
 namespace webrtc {
 
diff --git a/call/video_send_stream.cc b/call/video_send_stream.cc
index e8532a7..20f6cef 100644
--- a/call/video_send_stream.cc
+++ b/call/video_send_stream.cc
@@ -10,9 +10,13 @@
 
 #include "call/video_send_stream.h"
 
+#include <cstdint>
+#include <string>
 #include <utility>
 
-#include "api/crypto/frame_encryptor_interface.h"
+#include "api/call/transport.h"
+#include "api/video_codecs/video_encoder.h"
+#include "rtc_base/checks.h"
 #include "rtc_base/strings/string_builder.h"
 #include "rtc_base/strings/string_format.h"
 
diff --git a/call/video_send_stream.h b/call/video_send_stream.h
index bd22096..3bf13c5 100644
--- a/call/video_send_stream.h
+++ b/call/video_send_stream.h
@@ -27,10 +27,10 @@
 #include "api/scoped_refptr.h"
 #include "api/video/video_content_type.h"
 #include "api/video/video_frame.h"
-#include "api/video/video_sink_interface.h"
 #include "api/video/video_source_interface.h"
 #include "api/video/video_stream_encoder_settings.h"
 #include "api/video_codecs/scalability_mode.h"
+#include "api/video_codecs/video_encoder_factory.h"
 #include "call/rtp_config.h"
 #include "common_video/frame_counts.h"
 #include "common_video/include/quality_limitation_reason.h"
diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index 8f9234a..f055bbd 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -96,6 +96,7 @@
       "../../api/rtc_event_log",
       "../../api/rtc_event_log:rtc_event_log_factory",
       "../../api/task_queue",
+      "../../api/test/network_emulation",
       "../../api/test/video:function_video_factory",
       "../../api/transport:network_control",
       "../../api/units:data_rate",
@@ -133,7 +134,9 @@
       "../../modules/video_coding/svc:scalability_mode_util",
       "../../rtc_base:checks",
       "../../rtc_base:copy_on_write_buffer",
+      "../../rtc_base:macromagic",
       "../../rtc_base:net_helper",
+      "../../rtc_base:network_route",
       "../../rtc_base:refcount",
       "../../rtc_base:rtc_base_tests_utils",
       "../../rtc_base:rtc_event",
diff --git a/test/scenario/network_node.h b/test/scenario/network_node.h
index 57d683c..21ee5a1 100644
--- a/test/scenario/network_node.h
+++ b/test/scenario/network_node.h
@@ -10,18 +10,22 @@
 #ifndef TEST_SCENARIO_NETWORK_NODE_H_
 #define TEST_SCENARIO_NETWORK_NODE_H_
 
-#include <deque>
-#include <map>
+#include <cstdint>
+#include <functional>
 #include <memory>
-#include <utility>
-#include <vector>
 
+#include "api/array_view.h"
 #include "api/call/transport.h"
 #include "api/sequence_checker.h"
+#include "api/test/network_emulation/network_emulation_interfaces.h"
+#include "api/units/data_size.h"
 #include "api/units/timestamp.h"
 #include "call/call.h"
-#include "rtc_base/copy_on_write_buffer.h"
+#include "rtc_base/network_route.h"
+#include "rtc_base/socket_address.h"
 #include "rtc_base/synchronization/mutex.h"
+#include "rtc_base/thread_annotations.h"
+#include "system_wrappers/include/clock.h"
 #include "test/network/network_emulation.h"
 #include "test/network/simulated_network.h"
 #include "test/scenario/column_printer.h"