IWYU pc/
Bug: webrtc:42226242
Change-Id: Ia859c5d564b4a1b4b93bd963493316bee88ac5b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/384700
Reviewed-by: Evan Shrubsole <eshr@webrtc.org>
Commit-Queue: Evan Shrubsole <eshr@webrtc.org>
Auto-Submit: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#44317}
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index 6ae634f..75ed480 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -120,6 +120,7 @@
"../api:libjingle_peerconnection_api",
"../api:rtp_parameters",
"../media:media_channel",
+ "../media:stream_params",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -259,6 +260,7 @@
"../rtc_base:logging",
"../rtc_base:macromagic",
"../rtc_base/system:no_unique_address",
+ "//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -814,6 +816,7 @@
":proxy",
":sctp_utils",
"../api:libjingle_peerconnection_api",
+ "../api:make_ref_counted",
"../api:priority",
"../api:rtc_error",
"../api:scoped_refptr",
@@ -831,6 +834,7 @@
"../rtc_base/containers:flat_set",
"../rtc_base/system:no_unique_address",
"../rtc_base/system:unused",
+ "//third_party/abseil-cpp/absl/functional:any_invocable",
]
}
@@ -897,6 +901,7 @@
"../api:sequence_checker",
"../api/task_queue:pending_task_safety_flag",
"../api/transport:datagram_transport_interface",
+ "../media:rtc_data_sctp_transport_internal",
"../rtc_base:checks",
"../rtc_base:copy_on_write_buffer",
"../rtc_base:logging",
@@ -1010,6 +1015,7 @@
"../rtc_base/containers:flat_set",
"../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/functional:bind_front",
+ "//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -1144,6 +1150,7 @@
]
deps = [
"../api:audio_options_api",
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:scoped_refptr",
]
@@ -1332,6 +1339,7 @@
"../rtc_base:stringutils",
"../rtc_base:threading",
"../rtc_base:timeutils",
+ "//third_party/abseil-cpp/absl/strings",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -1440,6 +1448,7 @@
"../rtc_base:weak_ptr",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/functional:any_invocable",
+ "//third_party/abseil-cpp/absl/strings",
]
}
@@ -1452,6 +1461,7 @@
"ice_server_parsing.h",
]
deps = [
+ "../api:candidate",
"../api:libjingle_peerconnection_api",
"../api:rtc_error",
"../p2p:port",
@@ -1464,6 +1474,7 @@
"../rtc_base:socket_address",
"../rtc_base:stringutils",
"../rtc_base/system:rtc_export",
+ "//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -1561,6 +1572,7 @@
"../api:sequence_checker",
"../api/task_queue",
"../api/task_queue:pending_task_safety_flag",
+ "../api/units:time_delta",
"../rtc_base:checks",
]
}
@@ -1717,6 +1729,7 @@
"../api:dtls_transport_interface",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:rtp_parameters",
"../api:scoped_refptr",
@@ -1747,6 +1760,7 @@
"../api:dtls_transport_interface",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:rtp_parameters",
"../api:scoped_refptr",
@@ -1790,11 +1804,13 @@
"audio_track.h",
]
deps = [
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:scoped_refptr",
"../api:sequence_checker",
"../rtc_base:checks",
"../rtc_base/system:no_unique_address",
+ "//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -1806,6 +1822,7 @@
]
deps = [
":video_track_source_proxy",
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:scoped_refptr",
"../api:sequence_checker",
@@ -1815,6 +1832,7 @@
"../rtc_base:macromagic",
"../rtc_base:threading",
"../rtc_base/system:no_unique_address",
+ "//third_party/abseil-cpp/absl/strings:string_view",
]
}
@@ -1877,6 +1895,7 @@
"../api:field_trials_view",
"../api:frame_transformer_interface",
"../api:libjingle_peerconnection_api",
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:priority",
"../api:rtc_error",
@@ -1885,7 +1904,9 @@
"../api:sequence_checker",
"../api/crypto:frame_encryptor_interface",
"../api/environment",
+ "../api/video_codecs:video_codecs_api",
"../media:audio_source",
+ "../media:codec",
"../media:media_channel",
"../media:media_engine",
"../rtc_base:checks",
@@ -1893,6 +1914,7 @@
"../rtc_base:event_tracer",
"../rtc_base:logging",
"../rtc_base:macromagic",
+ "../rtc_base:rtc_event",
"../rtc_base:threading",
"../rtc_base/synchronization:mutex",
"//third_party/abseil-cpp/absl/algorithm:container",
@@ -1925,6 +1947,7 @@
deps = [
":proxy",
"../api:dtmf_sender_interface",
+ "../api:make_ref_counted",
"../api:scoped_refptr",
"../api:sequence_checker",
"../api/task_queue",
@@ -1944,6 +1967,7 @@
"media_stream.h",
]
deps = [
+ "../api:make_ref_counted",
"../api:media_stream_interface",
"../api:scoped_refptr",
"../rtc_base:checks",
@@ -2071,6 +2095,7 @@
"../api:ice_transport_interface",
"../api:libjingle_peerconnection_api",
"../api:make_ref_counted",
+ "../api:media_stream_interface",
"../api:priority",
"../api:rtc_error",
"../api:rtc_error_matchers",
@@ -2089,6 +2114,7 @@
"../api/transport:enums",
"../api/units:time_delta",
"../api/video:recordable_encoded_frame",
+ "../api/video:video_frame",
"../api/video/test:mock_recordable_encoded_frame",
"../api/video_codecs:video_codecs_api",
"../call:fake_payload_type_suggester",
@@ -2568,8 +2594,17 @@
":pc_test_utils",
":peer_connection_internal",
":sctp_data_channel",
+ "../api:libjingle_peerconnection_api",
+ "../api:make_ref_counted",
"../api:priority",
+ "../api:rtc_error",
+ "../api:scoped_refptr",
+ "../api/transport:datagram_transport_interface",
+ "../media:rtc_data_sctp_transport_internal",
+ "../rtc_base:copy_on_write_buffer",
"../rtc_base:null_socket_server",
+ "../rtc_base:ssl_adapter",
+ "../rtc_base:threading",
"../test:run_loop",
"../test:test_support",
]
diff --git a/pc/audio_rtp_receiver.cc b/pc/audio_rtp_receiver.cc
index eae2175..2faa4b2 100644
--- a/pc/audio_rtp_receiver.cc
+++ b/pc/audio_rtp_receiver.cc
@@ -12,14 +12,29 @@
#include <stddef.h>
+#include <cstdint>
+#include <optional>
#include <string>
#include <utility>
#include <vector>
+#include "api/crypto/frame_decryptor_interface.h"
+#include "api/dtls_transport_interface.h"
+#include "api/frame_transformer_interface.h"
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/rtp_parameters.h"
+#include "api/rtp_receiver_interface.h"
+#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
+#include "api/task_queue/pending_task_safety_flag.h"
+#include "api/transport/rtp/rtp_source.h"
+#include "media/base/media_channel.h"
#include "pc/audio_track.h"
#include "pc/media_stream_track_proxy.h"
+#include "pc/remote_audio_source.h"
#include "rtc_base/checks.h"
+#include "rtc_base/thread.h"
namespace webrtc {
diff --git a/pc/audio_track.cc b/pc/audio_track.cc
index c012442..7d6dc9a 100644
--- a/pc/audio_track.cc
+++ b/pc/audio_track.cc
@@ -10,7 +10,14 @@
#include "pc/audio_track.h"
-#include "rtc_base/checks.h"
+#include <string>
+
+#include "absl/strings/string_view.h"
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/media_stream_track.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
namespace webrtc {
diff --git a/pc/audio_track.h b/pc/audio_track.h
index 92c3141..d8e6eed 100644
--- a/pc/audio_track.h
+++ b/pc/audio_track.h
@@ -13,6 +13,7 @@
#include <string>
+#include "absl/strings/string_view.h"
#include "api/media_stream_interface.h"
#include "api/media_stream_track.h"
#include "api/scoped_refptr.h"
diff --git a/pc/channel_interface.h b/pc/channel_interface.h
index d875b6d..d1629e1 100644
--- a/pc/channel_interface.h
+++ b/pc/channel_interface.h
@@ -19,6 +19,7 @@
#include "api/jsep.h"
#include "api/media_types.h"
#include "media/base/media_channel.h"
+#include "media/base/stream_params.h"
#include "pc/rtp_transport_internal.h"
#include "pc/session_description.h"
diff --git a/pc/data_channel_controller.cc b/pc/data_channel_controller.cc
index 8c6aa02..2056959 100644
--- a/pc/data_channel_controller.cc
+++ b/pc/data_channel_controller.cc
@@ -10,17 +10,31 @@
#include "pc/data_channel_controller.h"
-#include <cstdint>
+#include <cstddef>
#include <optional>
+#include <string>
#include <utility>
+#include <vector>
#include "absl/algorithm/container.h"
+#include "api/data_channel_interface.h"
#include "api/peer_connection_interface.h"
#include "api/priority.h"
#include "api/rtc_error.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "api/task_queue/pending_task_safety_flag.h"
+#include "api/transport/data_channel_transport_interface.h"
+#include "media/sctp/sctp_transport_internal.h"
+#include "pc/data_channel_utils.h"
#include "pc/peer_connection_internal.h"
+#include "pc/sctp_data_channel.h"
#include "pc/sctp_utils.h"
+#include "rtc_base/checks.h"
+#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/logging.h"
+#include "rtc_base/ssl_stream_adapter.h"
+#include "rtc_base/thread.h"
namespace webrtc {
diff --git a/pc/data_channel_controller.h b/pc/data_channel_controller.h
index a54b5d0..49211dd 100644
--- a/pc/data_channel_controller.h
+++ b/pc/data_channel_controller.h
@@ -11,6 +11,9 @@
#ifndef PC_DATA_CHANNEL_CONTROLLER_H_
#define PC_DATA_CHANNEL_CONTROLLER_H_
+#include <cstddef>
+#include <cstdint>
+#include <optional>
#include <string>
#include <vector>
@@ -23,7 +26,7 @@
#include "api/transport/data_channel_transport_interface.h"
#include "pc/data_channel_utils.h"
#include "pc/sctp_data_channel.h"
-#include "rtc_base/checks.h"
+#include "pc/sctp_utils.h"
#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/ssl_stream_adapter.h"
#include "rtc_base/thread.h"
diff --git a/pc/data_channel_controller_unittest.cc b/pc/data_channel_controller_unittest.cc
index 994e43f..ced9a30 100644
--- a/pc/data_channel_controller_unittest.cc
+++ b/pc/data_channel_controller_unittest.cc
@@ -10,13 +10,24 @@
#include "pc/data_channel_controller.h"
+#include <cstddef>
#include <memory>
+#include <optional>
+#include "api/data_channel_interface.h"
+#include "api/make_ref_counted.h"
#include "api/priority.h"
+#include "api/rtc_error.h"
+#include "api/scoped_refptr.h"
+#include "api/transport/data_channel_transport_interface.h"
+#include "media/sctp/sctp_transport_internal.h"
#include "pc/peer_connection_internal.h"
#include "pc/sctp_data_channel.h"
#include "pc/test/mock_peer_connection_internal.h"
+#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/null_socket_server.h"
+#include "rtc_base/ssl_stream_adapter.h"
+#include "rtc_base/thread.h"
#include "test/gmock.h"
#include "test/gtest.h"
#include "test/run_loop.h"
diff --git a/pc/data_channel_integrationtest.cc b/pc/data_channel_integrationtest.cc
index e77722b..c18c1a2 100644
--- a/pc/data_channel_integrationtest.cc
+++ b/pc/data_channel_integrationtest.cc
@@ -34,6 +34,7 @@
#include "api/units/time_delta.h"
#include "p2p/base/transport_description.h"
#include "p2p/base/transport_info.h"
+#include "p2p/test/test_turn_server.h"
#include "pc/media_session.h"
#include "pc/session_description.h"
#include "pc/test/fake_rtc_certificate_generator.h"
@@ -45,8 +46,10 @@
#include "rtc_base/gunit.h"
#include "rtc_base/logging.h"
#include "rtc_base/numerics/safe_conversions.h"
+#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_stream_adapter.h"
#include "rtc_base/strings/string_builder.h"
+#include "rtc_base/task_queue_for_test.h"
#include "rtc_base/virtual_socket_server.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/data_channel_utils.cc b/pc/data_channel_utils.cc
index a772241..39a14b6 100644
--- a/pc/data_channel_utils.cc
+++ b/pc/data_channel_utils.cc
@@ -10,8 +10,11 @@
#include "pc/data_channel_utils.h"
+#include <cstddef>
+#include <memory>
#include <utility>
+#include "api/data_channel_interface.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/data_channel_utils.h b/pc/data_channel_utils.h
index 8681ba4..2558fcd 100644
--- a/pc/data_channel_utils.h
+++ b/pc/data_channel_utils.h
@@ -17,10 +17,8 @@
#include <deque>
#include <memory>
#include <string>
-#include <utility>
#include "api/data_channel_interface.h"
-#include "media/base/media_engine.h"
namespace webrtc {
diff --git a/pc/dtls_srtp_transport.cc b/pc/dtls_srtp_transport.cc
index 035defb..a51d24f 100644
--- a/pc/dtls_srtp_transport.cc
+++ b/pc/dtls_srtp_transport.cc
@@ -10,12 +10,18 @@
#include "pc/dtls_srtp_transport.h"
-#include <string.h>
-
+#include <cstdint>
+#include <functional>
#include <string>
#include <utility>
+#include <vector>
#include "api/dtls_transport_interface.h"
+#include "api/field_trials_view.h"
+#include "p2p/base/packet_transport_internal.h"
+#include "p2p/dtls/dtls_transport_internal.h"
+#include "pc/srtp_transport.h"
+#include "rtc_base/buffer.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/ssl_stream_adapter.h"
diff --git a/pc/dtls_srtp_transport_integrationtest.cc b/pc/dtls_srtp_transport_integrationtest.cc
index efa6084..e9f1956 100644
--- a/pc/dtls_srtp_transport_integrationtest.cc
+++ b/pc/dtls_srtp_transport_integrationtest.cc
@@ -14,6 +14,7 @@
#include <memory>
#include <optional>
+#include "absl/strings/str_cat.h"
#include "api/crypto/crypto_options.h"
#include "api/dtls_transport_interface.h"
#include "api/scoped_refptr.h"
@@ -36,7 +37,6 @@
#include "rtc_base/ssl_fingerprint.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/thread.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/dtls_transport.cc b/pc/dtls_transport.cc
index 004ea06..92c8227 100644
--- a/pc/dtls_transport.cc
+++ b/pc/dtls_transport.cc
@@ -10,16 +10,22 @@
#include "pc/dtls_transport.h"
+#include <memory>
#include <optional>
#include <utility>
#include "api/dtls_transport_interface.h"
+#include "api/ice_transport_interface.h"
#include "api/make_ref_counted.h"
+#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
+#include "p2p/dtls/dtls_transport_internal.h"
#include "pc/ice_transport.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/ssl_stream_adapter.h"
+#include "rtc_base/synchronization/mutex.h"
+#include "rtc_base/thread.h"
namespace webrtc {
diff --git a/pc/dtmf_sender.cc b/pc/dtmf_sender.cc
index 45a4a58..c1fba6e 100644
--- a/pc/dtmf_sender.cc
+++ b/pc/dtmf_sender.cc
@@ -13,6 +13,13 @@
#include <ctype.h>
#include <string.h>
+#include <cstdint>
+#include <string>
+
+#include "api/dtmf_sender_interface.h"
+#include "api/make_ref_counted.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/units/time_delta.h"
diff --git a/pc/dtmf_sender.h b/pc/dtmf_sender.h
index c99c7be..ecdb499 100644
--- a/pc/dtmf_sender.h
+++ b/pc/dtmf_sender.h
@@ -21,7 +21,6 @@
#include "api/task_queue/pending_task_safety_flag.h"
#include "api/task_queue/task_queue_base.h"
#include "pc/proxy.h"
-#include "rtc_base/ref_count.h"
#include "rtc_base/thread_annotations.h"
// DtmfSender is the native implementation of the RTCDTMFSender defined by
diff --git a/pc/external_hmac.cc b/pc/external_hmac.cc
index 27b5d0e..3b72e26 100644
--- a/pc/external_hmac.cc
+++ b/pc/external_hmac.cc
@@ -13,8 +13,11 @@
#include <stdlib.h> // For malloc/free.
#include <string.h>
+#include <cstdint>
+
#include "rtc_base/logging.h"
#include "rtc_base/zero_memory.h"
+#include "third_party/libsrtp/crypto/include/auth.h"
#include "third_party/libsrtp/include/srtp.h"
// Begin test case 0 */
diff --git a/pc/ice_server_parsing.cc b/pc/ice_server_parsing.cc
index 9ba28e7..e7d0ac1 100644
--- a/pc/ice_server_parsing.cc
+++ b/pc/ice_server_parsing.cc
@@ -13,9 +13,17 @@
#include <stddef.h>
#include <cctype> // For std::isdigit.
+#include <optional>
#include <string>
#include <tuple>
+#include <vector>
+#include "absl/strings/string_view.h"
+#include "api/candidate.h"
+#include "api/peer_connection_interface.h"
+#include "api/rtc_error.h"
+#include "p2p/base/port.h"
+#include "p2p/base/port_allocator.h"
#include "p2p/base/port_interface.h"
#include "rtc_base/arraysize.h"
#include "rtc_base/checks.h"
diff --git a/pc/ice_server_parsing_unittest.cc b/pc/ice_server_parsing_unittest.cc
index fbd9974..c2deb51 100644
--- a/pc/ice_server_parsing_unittest.cc
+++ b/pc/ice_server_parsing_unittest.cc
@@ -13,6 +13,9 @@
#include <string>
#include <vector>
+#include "api/peer_connection_interface.h"
+#include "p2p/base/port.h"
+#include "p2p/base/port_allocator.h"
#include "p2p/base/port_interface.h"
#include "rtc_base/ip_address.h"
#include "rtc_base/socket_address.h"
diff --git a/pc/jitter_buffer_delay.cc b/pc/jitter_buffer_delay.cc
index 5b9ab79..3e0f500 100644
--- a/pc/jitter_buffer_delay.cc
+++ b/pc/jitter_buffer_delay.cc
@@ -10,8 +10,9 @@
#include "pc/jitter_buffer_delay.h"
+#include <optional>
+
#include "api/sequence_checker.h"
-#include "rtc_base/checks.h"
#include "rtc_base/numerics/safe_conversions.h"
#include "rtc_base/numerics/safe_minmax.h"
diff --git a/pc/jsep_ice_candidate.cc b/pc/jsep_ice_candidate.cc
index 6923bf6..0b0a282 100644
--- a/pc/jsep_ice_candidate.cc
+++ b/pc/jsep_ice_candidate.cc
@@ -10,6 +10,11 @@
#include "api/jsep_ice_candidate.h"
+#include <cstddef>
+#include <memory>
+#include <string>
+
+#include "api/candidate.h"
#include "pc/webrtc_sdp.h"
// This file contains JsepIceCandidate-related functions that are not
diff --git a/pc/jsep_session_description.cc b/pc/jsep_session_description.cc
index 146618c..1e80d2c 100644
--- a/pc/jsep_session_description.cc
+++ b/pc/jsep_session_description.cc
@@ -31,6 +31,7 @@
#include "rtc_base/ip_address.h"
#include "rtc_base/logging.h"
#include "rtc_base/net_helper.h"
+#include "rtc_base/net_helpers.h"
#include "rtc_base/socket_address.h"
using cricket::Candidate;
diff --git a/pc/jsep_session_description_unittest.cc b/pc/jsep_session_description_unittest.cc
index 95faf4f..a65a5a5 100644
--- a/pc/jsep_session_description_unittest.cc
+++ b/pc/jsep_session_description_unittest.cc
@@ -18,6 +18,7 @@
#include <utility>
#include <vector>
+#include "absl/strings/str_cat.h"
#include "api/candidate.h"
#include "api/jsep.h"
#include "api/jsep_ice_candidate.h"
@@ -30,7 +31,6 @@
#include "rtc_base/crypto_random.h"
#include "rtc_base/net_helper.h"
#include "rtc_base/socket_address.h"
-#include "rtc_base/string_encode.h"
#include "test/gtest.h"
using ::testing::Values;
diff --git a/pc/jsep_transport_collection.cc b/pc/jsep_transport_collection.cc
index ae6b5ab..c0311e7 100644
--- a/pc/jsep_transport_collection.cc
+++ b/pc/jsep_transport_collection.cc
@@ -12,11 +12,20 @@
#include <algorithm>
#include <map>
+#include <memory>
#include <set>
-#include <type_traits>
+#include <string>
#include <utility>
+#include <vector>
+#include "absl/strings/string_view.h"
+#include "api/jsep.h"
+#include "api/peer_connection_interface.h"
+#include "api/sequence_checker.h"
#include "p2p/base/p2p_constants.h"
+#include "pc/jsep_transport.h"
+#include "pc/session_description.h"
+#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
namespace webrtc {
diff --git a/pc/jsep_transport_collection.h b/pc/jsep_transport_collection.h
index 8de972b..755d09f 100644
--- a/pc/jsep_transport_collection.h
+++ b/pc/jsep_transport_collection.h
@@ -15,15 +15,14 @@
#include <map>
#include <memory>
#include <string>
-#include <utility>
#include <vector>
+#include "absl/strings/string_view.h"
#include "api/jsep.h"
#include "api/peer_connection_interface.h"
#include "api/sequence_checker.h"
#include "pc/jsep_transport.h"
#include "pc/session_description.h"
-#include "rtc_base/checks.h"
#include "rtc_base/system/no_unique_address.h"
#include "rtc_base/thread_annotations.h"
diff --git a/pc/jsep_transport_controller.cc b/pc/jsep_transport_controller.cc
index f1ff2ce..87de9fb 100644
--- a/pc/jsep_transport_controller.cc
+++ b/pc/jsep_transport_controller.cc
@@ -43,6 +43,7 @@
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
#include "p2p/base/ice_transport_internal.h"
#include "p2p/base/p2p_constants.h"
+#include "p2p/base/packet_transport_internal.h"
#include "p2p/base/port.h"
#include "p2p/base/port_allocator.h"
#include "p2p/base/transport_description.h"
diff --git a/pc/jsep_transport_controller.h b/pc/jsep_transport_controller.h
index 493425e..93eb01a 100644
--- a/pc/jsep_transport_controller.h
+++ b/pc/jsep_transport_controller.h
@@ -47,7 +47,6 @@
#include "p2p/base/port_allocator.h"
#include "p2p/base/transport_description.h"
#include "p2p/base/transport_info.h"
-#include "p2p/dtls/dtls_transport.h"
#include "p2p/dtls/dtls_transport_factory.h"
#include "p2p/dtls/dtls_transport_internal.h"
#include "pc/dtls_srtp_transport.h"
diff --git a/pc/legacy_stats_collector.cc b/pc/legacy_stats_collector.cc
index da208a0..811771c 100644
--- a/pc/legacy_stats_collector.cc
+++ b/pc/legacy_stats_collector.cc
@@ -23,6 +23,7 @@
#include <utility>
#include <vector>
+#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "api/audio/audio_processing_statistics.h"
#include "api/audio_codecs/audio_encoder.h"
diff --git a/pc/legacy_stats_collector_unittest.cc b/pc/legacy_stats_collector_unittest.cc
index 0a24d71..f9ed789 100644
--- a/pc/legacy_stats_collector_unittest.cc
+++ b/pc/legacy_stats_collector_unittest.cc
@@ -20,6 +20,7 @@
#include <vector>
#include "absl/algorithm/container.h"
+#include "absl/strings/str_cat.h"
#include "api/audio/audio_processing_statistics.h"
#include "api/audio_codecs/audio_encoder.h"
#include "api/candidate.h"
@@ -55,7 +56,6 @@
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/third_party/base64/base64.h"
#include "rtc_base/thread.h"
#include "test/gmock.h"
diff --git a/pc/local_audio_source.cc b/pc/local_audio_source.cc
index 51949f7..707e194 100644
--- a/pc/local_audio_source.cc
+++ b/pc/local_audio_source.cc
@@ -10,6 +10,11 @@
#include "pc/local_audio_source.h"
+#include "api/audio_options.h"
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/scoped_refptr.h"
+
using webrtc::MediaSourceInterface;
namespace webrtc {
diff --git a/pc/local_audio_source_unittest.cc b/pc/local_audio_source_unittest.cc
index 72cc20b..6e2f371 100644
--- a/pc/local_audio_source_unittest.cc
+++ b/pc/local_audio_source_unittest.cc
@@ -12,6 +12,8 @@
#include <optional>
+#include "api/audio_options.h"
+#include "api/scoped_refptr.h"
#include "test/gtest.h"
using webrtc::LocalAudioSource;
diff --git a/pc/media_stream.cc b/pc/media_stream.cc
index 57be76c..b8366af 100644
--- a/pc/media_stream.cc
+++ b/pc/media_stream.cc
@@ -12,8 +12,12 @@
#include <stddef.h>
+#include <string>
#include <utility>
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/scoped_refptr.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/media_stream_observer.cc b/pc/media_stream_observer.cc
index 6264a76..86a32b7 100644
--- a/pc/media_stream_observer.cc
+++ b/pc/media_stream_observer.cc
@@ -16,6 +16,7 @@
#include <vector>
#include "absl/algorithm/container.h"
+#include "api/media_stream_interface.h"
namespace webrtc {
diff --git a/pc/media_stream_unittest.cc b/pc/media_stream_unittest.cc
index 56b714e..fd1192e 100644
--- a/pc/media_stream_unittest.cc
+++ b/pc/media_stream_unittest.cc
@@ -12,6 +12,8 @@
#include <stddef.h>
+#include "api/media_stream_interface.h"
+#include "api/scoped_refptr.h"
#include "pc/audio_track.h"
#include "pc/test/fake_video_track_source.h"
#include "pc/video_track.h"
diff --git a/pc/peer_connection_message_handler.cc b/pc/peer_connection_message_handler.cc
index 8ddedde..24ddc17 100644
--- a/pc/peer_connection_message_handler.cc
+++ b/pc/peer_connection_message_handler.cc
@@ -10,15 +10,17 @@
#include "pc/peer_connection_message_handler.h"
+#include <functional>
#include <utility>
#include "api/jsep.h"
#include "api/legacy_stats_types.h"
#include "api/media_stream_interface.h"
#include "api/peer_connection_interface.h"
+#include "api/rtc_error.h"
#include "api/scoped_refptr.h"
-#include "api/sequence_checker.h"
#include "api/task_queue/pending_task_safety_flag.h"
+#include "api/units/time_delta.h"
#include "pc/legacy_stats_collector_interface.h"
#include "rtc_base/checks.h"
diff --git a/pc/peer_connection_rampup_tests.cc b/pc/peer_connection_rampup_tests.cc
index d313c53..030d051 100644
--- a/pc/peer_connection_rampup_tests.cc
+++ b/pc/peer_connection_rampup_tests.cc
@@ -38,7 +38,6 @@
#include "api/video_codecs/video_encoder_factory_template_libvpx_vp8_adapter.h"
#include "api/video_codecs/video_encoder_factory_template_libvpx_vp9_adapter.h"
#include "api/video_codecs/video_encoder_factory_template_open_h264_adapter.h"
-#include "p2p/base/basic_packet_socket_factory.h"
#include "p2p/base/port_interface.h"
#include "p2p/test/test_turn_server.h"
#include "pc/peer_connection.h"
diff --git a/pc/peer_connection_signaling_unittest.cc b/pc/peer_connection_signaling_unittest.cc
index d9c9d7b..a406df1 100644
--- a/pc/peer_connection_signaling_unittest.cc
+++ b/pc/peer_connection_signaling_unittest.cc
@@ -23,6 +23,7 @@
#include <utility>
#include <vector>
+#include "absl/strings/str_cat.h"
#include "absl/strings/str_replace.h"
#include "api/audio/audio_device.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
diff --git a/pc/peer_connection_stability_integrationtest.cc b/pc/peer_connection_stability_integrationtest.cc
index c20689d..02cd30b 100644
--- a/pc/peer_connection_stability_integrationtest.cc
+++ b/pc/peer_connection_stability_integrationtest.cc
@@ -16,19 +16,28 @@
#include <stdint.h>
+#include <algorithm>
+#include <memory>
#include <string>
#include <vector>
#include "absl/strings/str_cat.h"
+#include "api/audio_codecs/audio_decoder_factory.h"
+#include "api/audio_codecs/audio_encoder_factory.h"
#include "api/audio_codecs/builtin_audio_decoder_factory.h"
#include "api/audio_codecs/builtin_audio_encoder_factory.h"
#include "api/jsep.h"
#include "api/peer_connection_interface.h"
+#include "api/scoped_refptr.h"
#include "api/test/rtc_error_matchers.h"
#include "api/video_codecs/builtin_video_decoder_factory.h"
#include "api/video_codecs/builtin_video_encoder_factory.h"
+#include "api/video_codecs/sdp_video_format.h"
+#include "api/video_codecs/video_decoder_factory.h"
+#include "api/video_codecs/video_encoder_factory.h"
#include "pc/session_description.h"
#include "pc/test/integration_test_helpers.h"
+#include "rtc_base/logging.h"
#include "rtc_base/strings/string_builder.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/proxy_unittest.cc b/pc/proxy_unittest.cc
index 865b041..c7bf3b8 100644
--- a/pc/proxy_unittest.cc
+++ b/pc/proxy_unittest.cc
@@ -14,9 +14,11 @@
#include <string>
#include "api/make_ref_counted.h"
-#include "rtc_base/gunit.h"
-#include "rtc_base/ref_count.h"
+#include "api/ref_count.h"
+#include "api/scoped_refptr.h"
+#include "rtc_base/thread.h"
#include "test/gmock.h"
+#include "test/gtest.h"
using ::testing::_;
using ::testing::DoAll;
diff --git a/pc/remote_audio_source.cc b/pc/remote_audio_source.cc
index e1c4d54..91bcb29 100644
--- a/pc/remote_audio_source.cc
+++ b/pc/remote_audio_source.cc
@@ -12,17 +12,22 @@
#include <stddef.h>
+#include <cstdint>
#include <memory>
-#include <string>
+#include <optional>
#include <utility>
#include "absl/algorithm/container.h"
+#include "api/call/audio_sink.h"
+#include "api/media_stream_interface.h"
#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
#include "api/task_queue/task_queue_base.h"
+#include "media/base/media_channel.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/strings/string_format.h"
+#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/trace_event.h"
namespace webrtc {
diff --git a/pc/rtc_stats_collector.cc b/pc/rtc_stats_collector.cc
index d490b8e..7c68d37 100644
--- a/pc/rtc_stats_collector.cc
+++ b/pc/rtc_stats_collector.cc
@@ -24,6 +24,7 @@
#include <vector>
#include "absl/functional/bind_front.h"
+#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/audio/audio_device.h"
@@ -75,7 +76,6 @@
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_certificate.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/strings/string_builder.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/thread.h"
diff --git a/pc/rtc_stats_collector_unittest.cc b/pc/rtc_stats_collector_unittest.cc
index 3598ac7..021c7ed 100644
--- a/pc/rtc_stats_collector_unittest.cc
+++ b/pc/rtc_stats_collector_unittest.cc
@@ -21,6 +21,7 @@
#include <utility>
#include <vector>
+#include "absl/strings/str_cat.h"
#include "absl/strings/str_replace.h"
#include "api/audio/audio_device.h"
#include "api/audio/audio_processing_statistics.h"
@@ -89,7 +90,6 @@
#include "rtc_base/ssl_fingerprint.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/synchronization/mutex.h"
#include "rtc_base/thread.h"
#include "rtc_base/time_utils.h"
diff --git a/pc/rtc_stats_traversal.cc b/pc/rtc_stats_traversal.cc
index aeaf244..de2475b 100644
--- a/pc/rtc_stats_traversal.cc
+++ b/pc/rtc_stats_traversal.cc
@@ -16,6 +16,9 @@
#include <utility>
#include <vector>
+#include "api/scoped_refptr.h"
+#include "api/stats/rtc_stats.h"
+#include "api/stats/rtc_stats_report.h"
#include "api/stats/rtcstats_objects.h"
#include "rtc_base/checks.h"
diff --git a/pc/rtc_stats_traversal_unittest.cc b/pc/rtc_stats_traversal_unittest.cc
index 8205ebe..c8f106f 100644
--- a/pc/rtc_stats_traversal_unittest.cc
+++ b/pc/rtc_stats_traversal_unittest.cc
@@ -11,9 +11,14 @@
#include "pc/rtc_stats_traversal.h"
#include <memory>
+#include <string>
#include <vector>
+#include "api/scoped_refptr.h"
+#include "api/stats/rtc_stats.h"
+#include "api/stats/rtc_stats_report.h"
#include "api/stats/rtcstats_objects.h"
+#include "api/units/timestamp.h"
#include "test/gtest.h"
// This file contains tests for TakeReferencedStats().
diff --git a/pc/rtcp_mux_filter.cc b/pc/rtcp_mux_filter.cc
index 939fbb2..b444658 100644
--- a/pc/rtcp_mux_filter.cc
+++ b/pc/rtcp_mux_filter.cc
@@ -10,6 +10,7 @@
#include "pc/rtcp_mux_filter.h"
+#include "pc/session_description.h"
#include "rtc_base/logging.h"
namespace webrtc {
diff --git a/pc/rtcp_mux_filter_unittest.cc b/pc/rtcp_mux_filter_unittest.cc
index e25fd2d..14586ab 100644
--- a/pc/rtcp_mux_filter_unittest.cc
+++ b/pc/rtcp_mux_filter_unittest.cc
@@ -10,6 +10,7 @@
#include "pc/rtcp_mux_filter.h"
+#include "pc/session_description.h"
#include "test/gtest.h"
TEST(RtcpMuxFilterTest, IsActiveSender) {
diff --git a/pc/rtp_media_utils.cc b/pc/rtp_media_utils.cc
index 52c5bb0..4246f56 100644
--- a/pc/rtp_media_utils.cc
+++ b/pc/rtp_media_utils.cc
@@ -10,6 +10,7 @@
#include "pc/rtp_media_utils.h"
+#include "api/rtp_transceiver_direction.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/rtp_media_utils_unittest.cc b/pc/rtp_media_utils_unittest.cc
index 5ee49e3..3ffebc3 100644
--- a/pc/rtp_media_utils_unittest.cc
+++ b/pc/rtp_media_utils_unittest.cc
@@ -12,6 +12,7 @@
#include <tuple>
+#include "api/rtp_transceiver_direction.h"
#include "test/gtest.h"
namespace webrtc {
diff --git a/pc/rtp_sender.cc b/pc/rtp_sender.cc
index a8e4fc2..df3316e 100644
--- a/pc/rtp_sender.cc
+++ b/pc/rtp_sender.cc
@@ -12,21 +12,42 @@
#include <algorithm>
#include <atomic>
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
+#include <memory>
+#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "absl/algorithm/container.h"
#include "api/audio_options.h"
+#include "api/crypto/frame_encryptor_interface.h"
+#include "api/dtmf_sender_interface.h"
#include "api/environment/environment.h"
+#include "api/frame_transformer_interface.h"
+#include "api/make_ref_counted.h"
#include "api/media_stream_interface.h"
#include "api/priority.h"
#include "api/rtc_error.h"
+#include "api/rtp_parameters.h"
+#include "api/rtp_sender_interface.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "api/video_codecs/video_encoder_factory.h"
+#include "media/base/audio_source.h"
+#include "media/base/codec.h"
+#include "media/base/media_channel.h"
#include "media/base/media_engine.h"
+#include "pc/dtmf_sender.h"
#include "pc/legacy_stats_collector_interface.h"
#include "rtc_base/checks.h"
#include "rtc_base/crypto_random.h"
+#include "rtc_base/event.h"
#include "rtc_base/logging.h"
+#include "rtc_base/synchronization/mutex.h"
+#include "rtc_base/thread.h"
#include "rtc_base/trace_event.h"
namespace webrtc {
diff --git a/pc/rtp_transport.cc b/pc/rtp_transport.cc
index aa58f29..a7aa42f 100644
--- a/pc/rtp_transport.cc
+++ b/pc/rtp_transport.cc
@@ -25,6 +25,7 @@
#include "media/base/rtp_utils.h"
#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+#include "p2p/base/packet_transport_internal.h"
#include "pc/session_description.h"
#include "rtc_base/checks.h"
#include "rtc_base/containers/flat_set.h"
diff --git a/pc/rtp_transport_unittest.cc b/pc/rtp_transport_unittest.cc
index b04c9ec..e2babb3 100644
--- a/pc/rtp_transport_unittest.cc
+++ b/pc/rtp_transport_unittest.cc
@@ -17,6 +17,7 @@
#include "api/test/rtc_error_matchers.h"
#include "api/units/time_delta.h"
#include "call/rtp_demuxer.h"
+#include "p2p/base/packet_transport_internal.h"
#include "p2p/test/fake_packet_transport.h"
#include "pc/test/rtp_transport_test_util.h"
#include "rtc_base/buffer.h"
diff --git a/pc/sctp_data_channel.cc b/pc/sctp_data_channel.cc
index d77f404..9e74104 100644
--- a/pc/sctp_data_channel.cc
+++ b/pc/sctp_data_channel.cc
@@ -10,18 +10,36 @@
#include "pc/sctp_data_channel.h"
+#include <atomic>
+#include <cstddef>
+#include <cstdint>
#include <limits>
#include <memory>
+#include <optional>
#include <string>
#include <utility>
+#include "absl/functional/any_invocable.h"
+#include "api/data_channel_interface.h"
+#include "api/make_ref_counted.h"
#include "api/priority.h"
+#include "api/rtc_error.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "api/task_queue/pending_task_safety_flag.h"
+#include "api/transport/data_channel_transport_interface.h"
#include "media/sctp/sctp_transport_internal.h"
+#include "pc/data_channel_utils.h"
#include "pc/proxy.h"
+#include "pc/sctp_utils.h"
#include "rtc_base/checks.h"
+#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/logging.h"
+#include "rtc_base/ssl_stream_adapter.h"
#include "rtc_base/system/unused.h"
#include "rtc_base/thread.h"
+#include "rtc_base/thread_annotations.h"
+#include "rtc_base/weak_ptr.h"
namespace webrtc {
diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc
index 727b44e..37bc76e 100644
--- a/pc/sdp_offer_answer.cc
+++ b/pc/sdp_offer_answer.cc
@@ -27,6 +27,7 @@
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
#include "absl/strings/match.h"
+#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
#include "api/candidate.h"
@@ -96,7 +97,6 @@
#include "rtc_base/rtc_certificate.h"
#include "rtc_base/rtc_certificate_generator.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/strings/string_builder.h"
#include "rtc_base/thread.h"
#include "rtc_base/trace_event.h"
diff --git a/pc/sdp_utils.cc b/pc/sdp_utils.cc
index f1179d5..010a3ae 100644
--- a/pc/sdp_utils.cc
+++ b/pc/sdp_utils.cc
@@ -10,10 +10,13 @@
#include "pc/sdp_utils.h"
+#include <memory>
#include <utility>
-#include <vector>
+#include "api/jsep.h"
#include "api/jsep_session_description.h"
+#include "p2p/base/transport_info.h"
+#include "pc/session_description.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/session_description.cc b/pc/session_description.cc
index 5f5a453..b295594 100644
--- a/pc/session_description.cc
+++ b/pc/session_description.cc
@@ -10,8 +10,16 @@
#include "pc/session_description.h"
+#include <cstddef>
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
+#include "absl/strings/string_view.h"
+#include "p2p/base/transport_info.h"
#include "rtc_base/checks.h"
#include "rtc_base/strings/string_builder.h"
diff --git a/pc/session_description_unittest.cc b/pc/session_description_unittest.cc
index e3eef7f..4bde571 100644
--- a/pc/session_description_unittest.cc
+++ b/pc/session_description_unittest.cc
@@ -9,6 +9,9 @@
*/
#include "pc/session_description.h"
+#include <memory>
+#include <utility>
+
#include "test/gtest.h"
namespace webrtc {
diff --git a/pc/simulcast_description.cc b/pc/simulcast_description.cc
index c827b15..87e4e20 100644
--- a/pc/simulcast_description.cc
+++ b/pc/simulcast_description.cc
@@ -10,6 +10,10 @@
#include "pc/simulcast_description.h"
+#include <cstddef>
+#include <vector>
+
+#include "absl/strings/string_view.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/simulcast_sdp_serializer_unittest.cc b/pc/simulcast_sdp_serializer_unittest.cc
index 7b39fac..ce3a96c 100644
--- a/pc/simulcast_sdp_serializer_unittest.cc
+++ b/pc/simulcast_sdp_serializer_unittest.cc
@@ -14,9 +14,12 @@
#include <map>
#include <string>
-#include <utility>
#include <vector>
+#include "media/base/codec.h"
+#include "media/base/rid_description.h"
+#include "pc/session_description.h"
+#include "pc/simulcast_description.h"
#include "test/gtest.h"
using cricket::RidDescription;
diff --git a/pc/srtp_transport.cc b/pc/srtp_transport.cc
index 53e96ed..ab02e73 100644
--- a/pc/srtp_transport.cc
+++ b/pc/srtp_transport.cc
@@ -20,6 +20,7 @@
#include "call/rtp_demuxer.h"
#include "media/base/rtp_utils.h"
#include "modules/rtp_rtcp/source/rtp_util.h"
+#include "p2p/base/packet_transport_internal.h"
#include "pc/rtp_transport.h"
#include "pc/srtp_session.h"
#include "rtc_base/async_packet_socket.h"
diff --git a/pc/transceiver_list.cc b/pc/transceiver_list.cc
index e9059f9..60474f0 100644
--- a/pc/transceiver_list.cc
+++ b/pc/transceiver_list.cc
@@ -10,8 +10,16 @@
#include "pc/transceiver_list.h"
+#include <cstddef>
+#include <optional>
#include <string>
+#include <vector>
+#include "api/rtp_parameters.h"
+#include "api/rtp_sender_interface.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "pc/rtp_transceiver.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/used_ids_unittest.cc b/pc/used_ids_unittest.cc
index 94b9960..fd73501 100644
--- a/pc/used_ids_unittest.cc
+++ b/pc/used_ids_unittest.cc
@@ -11,6 +11,8 @@
#include "pc/used_ids.h"
#include "absl/strings/string_view.h"
+#include "api/rtp_parameters.h"
+#include "rtc_base/checks.h"
#include "test/gtest.h"
using ::webrtc::UsedIds;
diff --git a/pc/video_rtp_receiver.cc b/pc/video_rtp_receiver.cc
index 2b740c0..5d1d9c7 100644
--- a/pc/video_rtp_receiver.cc
+++ b/pc/video_rtp_receiver.cc
@@ -12,14 +12,32 @@
#include <stddef.h>
+#include <cstdint>
+#include <optional>
#include <string>
#include <utility>
#include <vector>
+#include "api/crypto/frame_decryptor_interface.h"
+#include "api/dtls_transport_interface.h"
+#include "api/frame_transformer_interface.h"
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/rtp_parameters.h"
+#include "api/rtp_receiver_interface.h"
+#include "api/scoped_refptr.h"
+#include "api/sequence_checker.h"
+#include "api/transport/rtp/rtp_source.h"
#include "api/video/recordable_encoded_frame.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_sink_interface.h"
+#include "media/base/media_channel.h"
+#include "pc/media_stream_track_proxy.h"
+#include "pc/video_rtp_track_source.h"
#include "pc/video_track.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
+#include "rtc_base/thread.h"
namespace webrtc {
diff --git a/pc/video_rtp_receiver_unittest.cc b/pc/video_rtp_receiver_unittest.cc
index 3838385..3bf172d 100644
--- a/pc/video_rtp_receiver_unittest.cc
+++ b/pc/video_rtp_receiver_unittest.cc
@@ -10,15 +10,23 @@
#include "pc/video_rtp_receiver.h"
+#include <cstdint>
#include <functional>
#include <memory>
+#include <string>
+#include <vector>
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/scoped_refptr.h"
#include "api/task_queue/task_queue_base.h"
#include "api/video/recordable_encoded_frame.h"
#include "api/video/test/mock_recordable_encoded_frame.h"
+#include "api/video/video_sink_interface.h"
#include "media/base/fake_media_engine.h"
#include "media/base/media_channel.h"
#include "rtc_base/task_queue_for_test.h"
+#include "rtc_base/thread.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/video_rtp_track_source.cc b/pc/video_rtp_track_source.cc
index 83517d5..5979836 100644
--- a/pc/video_rtp_track_source.cc
+++ b/pc/video_rtp_track_source.cc
@@ -14,7 +14,14 @@
#include <algorithm>
+#include "api/sequence_checker.h"
+#include "api/video/recordable_encoded_frame.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_sink_interface.h"
+#include "api/video/video_source_interface.h"
+#include "pc/video_track_source.h"
#include "rtc_base/checks.h"
+#include "rtc_base/synchronization/mutex.h"
namespace webrtc {
diff --git a/pc/video_rtp_track_source_unittest.cc b/pc/video_rtp_track_source_unittest.cc
index de29114..a3ceffa 100644
--- a/pc/video_rtp_track_source_unittest.cc
+++ b/pc/video_rtp_track_source_unittest.cc
@@ -12,11 +12,14 @@
#include <optional>
+#include "api/make_ref_counted.h"
#include "api/scoped_refptr.h"
#include "api/units/timestamp.h"
#include "api/video/color_space.h"
#include "api/video/encoded_image.h"
+#include "api/video/recordable_encoded_frame.h"
#include "api/video/video_codec_type.h"
+#include "api/video/video_sink_interface.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/video_track.cc b/pc/video_track.cc
index 6693755..94bb5e7 100644
--- a/pc/video_track.cc
+++ b/pc/video_track.cc
@@ -10,12 +10,22 @@
#include "pc/video_track.h"
+#include <string>
#include <utility>
-#include <vector>
+#include "absl/strings/string_view.h"
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/media_stream_track.h"
#include "api/notifier.h"
+#include "api/scoped_refptr.h"
#include "api/sequence_checker.h"
-#include "rtc_base/checks.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_sink_interface.h"
+#include "api/video/video_source_interface.h"
+#include "media/base/video_source_base.h"
+#include "pc/video_track_source_proxy.h"
+#include "rtc_base/thread.h"
namespace webrtc {
diff --git a/pc/video_track_source.cc b/pc/video_track_source.cc
index 3f8d22d..d7d26c0 100644
--- a/pc/video_track_source.cc
+++ b/pc/video_track_source.cc
@@ -10,6 +10,11 @@
#include "pc/video_track_source.h"
+#include "api/media_stream_interface.h"
+#include "api/sequence_checker.h"
+#include "api/video/video_frame.h"
+#include "api/video/video_sink_interface.h"
+#include "api/video/video_source_interface.h"
#include "rtc_base/checks.h"
namespace webrtc {
diff --git a/pc/video_track_unittest.cc b/pc/video_track_unittest.cc
index a58d1d8..7a93fb3 100644
--- a/pc/video_track_unittest.cc
+++ b/pc/video_track_unittest.cc
@@ -12,10 +12,14 @@
#include <memory>
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
+#include "api/scoped_refptr.h"
#include "media/base/fake_frame_source.h"
#include "pc/test/fake_video_track_renderer.h"
#include "pc/test/fake_video_track_source.h"
#include "pc/video_track_source.h"
+#include "rtc_base/thread.h"
#include "rtc_base/time_utils.h"
#include "test/gtest.h"
diff --git a/pc/webrtc_sdp.cc b/pc/webrtc_sdp.cc
index 6892c70..b387628 100644
--- a/pc/webrtc_sdp.cc
+++ b/pc/webrtc_sdp.cc
@@ -28,6 +28,7 @@
#include "absl/algorithm/container.h"
#include "absl/strings/ascii.h"
#include "absl/strings/match.h"
+#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "api/candidate.h"
#include "api/jsep.h"
diff --git a/pc/webrtc_sdp_unittest.cc b/pc/webrtc_sdp_unittest.cc
index 7146eb7..990d800 100644
--- a/pc/webrtc_sdp_unittest.cc
+++ b/pc/webrtc_sdp_unittest.cc
@@ -22,6 +22,7 @@
#include "absl/algorithm/container.h"
#include "absl/memory/memory.h"
+#include "absl/strings/str_cat.h"
#include "absl/strings/str_replace.h"
#include "absl/strings/string_view.h"
#include "api/array_view.h"
@@ -47,7 +48,6 @@
#include "rtc_base/message_digest.h"
#include "rtc_base/socket_address.h"
#include "rtc_base/ssl_fingerprint.h"
-#include "rtc_base/string_encode.h"
#include "test/gmock.h"
#include "test/gtest.h"
diff --git a/pc/webrtc_session_description_factory.cc b/pc/webrtc_session_description_factory.cc
index 93eb8ab..eccfcbf 100644
--- a/pc/webrtc_session_description_factory.cc
+++ b/pc/webrtc_session_description_factory.cc
@@ -23,6 +23,7 @@
#include "absl/algorithm/container.h"
#include "absl/functional/any_invocable.h"
+#include "absl/strings/str_cat.h"
#include "api/field_trials_view.h"
#include "api/jsep.h"
#include "api/jsep_session_description.h"
@@ -42,7 +43,6 @@
#include "rtc_base/rtc_certificate_generator.h"
#include "rtc_base/ssl_identity.h"
#include "rtc_base/ssl_stream_adapter.h"
-#include "rtc_base/string_encode.h"
#include "rtc_base/unique_id_generator.h"
using rtc::UniqueRandomIdGenerator;