IWYU everything again

using
  git ls-files | xargs tools_webrtc/iwyu/apply-include-cleaner
followed by
  tools_webrtc/gn_check_autofix.py
followed by
  git cl format

Bug: webrtc:42226242
Change-Id: I885a45b8fe48830c228b7d9c6fb02c32210347fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/402900
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@meta.com>
Cr-Commit-Position: refs/heads/main@{#45264}
diff --git a/api/test/metrics/metrics_set_proto_file_exporter_test.cc b/api/test/metrics/metrics_set_proto_file_exporter_test.cc
index cc9ecde..58af31b 100644
--- a/api/test/metrics/metrics_set_proto_file_exporter_test.cc
+++ b/api/test/metrics/metrics_set_proto_file_exporter_test.cc
@@ -19,7 +19,6 @@
 #include "api/test/metrics/metric.h"
 #include "api/test/metrics/proto/metric.pb.h"
 #include "api/units/timestamp.h"
-#include "rtc_base/protobuf_utils.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
 #include "test/testsupport/file_utils.h"
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index ff47dc6..5a06418 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -558,7 +558,15 @@
   sources = [ "rtp_sender_proxy.h" ]
   deps = [
     ":proxy",
+    "../api:dtls_transport_interface",
+    "../api:frame_transformer_interface",
     "../api:libjingle_peerconnection_api",
+    "../api:media_stream_interface",
+    "../api:rtc_error",
+    "../api:rtp_parameters",
+    "../api:scoped_refptr",
+    "../api/crypto:frame_encryptor_interface",
+    "../api/video_codecs:video_codecs_api",
   ]
 }
 
@@ -605,6 +613,7 @@
     ":session_description",
     "../call:rtp_receiver",
     "../p2p:ice_transport_internal",
+    "../rtc_base:async_packet_socket",
     "../rtc_base:callback_list",
     "../rtc_base:copy_on_write_buffer",
     "../rtc_base:network_route",
@@ -1373,7 +1382,12 @@
 rtc_source_set("stream_collection") {
   visibility = [ ":*" ]
   sources = [ "stream_collection.h" ]
-  deps = [ "../api:libjingle_peerconnection_api" ]
+  deps = [
+    "../api:libjingle_peerconnection_api",
+    "../api:make_ref_counted",
+    "../api:media_stream_interface",
+    "../api:scoped_refptr",
+  ]
 }
 rtc_library("track_media_info_map") {
   visibility = [ ":*" ]
@@ -1602,6 +1616,7 @@
     "../api/task_queue:pending_task_safety_flag",
     "../api/units:time_delta",
     "../rtc_base:checks",
+    "../rtc_base:threading",
   ]
 }
 
@@ -1717,6 +1732,7 @@
     "../api:libjingle_peerconnection_api",
     "../api:rtc_error",
     "../api:rtp_parameters",
+    "../api:rtp_transceiver_direction",
     "../api:scoped_refptr",
     "../api:sequence_checker",
     "../rtc_base:checks",
@@ -1868,7 +1884,10 @@
 rtc_source_set("sdp_state_provider") {
   visibility = [ ":*" ]
   sources = [ "sdp_state_provider.h" ]
-  deps = [ "../api:libjingle_peerconnection_api" ]
+  deps = [
+    "../api:libjingle_peerconnection_api",
+    "../rtc_base:ssl_adapter",
+  ]
 }
 
 rtc_library("jitter_buffer_delay") {
diff --git a/pc/channel_interface.h b/pc/channel_interface.h
index dc047f4..c1c05e9 100644
--- a/pc/channel_interface.h
+++ b/pc/channel_interface.h
@@ -19,7 +19,6 @@
 #include "api/jsep.h"
 #include "api/media_types.h"
 #include "media/base/media_channel.h"
-#include "media/base/media_config.h"
 #include "media/base/stream_params.h"
 #include "pc/rtp_transport_internal.h"
 #include "pc/session_description.h"
diff --git a/pc/peer_connection_message_handler.h b/pc/peer_connection_message_handler.h
index b9498e8..652d697 100644
--- a/pc/peer_connection_message_handler.h
+++ b/pc/peer_connection_message_handler.h
@@ -14,13 +14,13 @@
 #include <functional>
 
 #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/task_queue/pending_task_safety_flag.h"
 #include "api/task_queue/task_queue_base.h"
 #include "pc/legacy_stats_collector_interface.h"
+#include "rtc_base/thread.h"
 
 namespace webrtc {
 
diff --git a/pc/proxy.h b/pc/proxy.h
index fbc6634..7adcdd9 100644
--- a/pc/proxy.h
+++ b/pc/proxy.h
@@ -56,20 +56,13 @@
 #ifndef PC_PROXY_H_
 #define PC_PROXY_H_
 
-#include <stddef.h>
-
-#include <memory>
-#include <string>
+#include <cstddef>
+#include <string>  // IWYU pragma: keep
 #include <tuple>
-#include <type_traits>
 #include <utility>
 
-#include "api/make_ref_counted.h"
-#include "api/scoped_refptr.h"
-#include "api/task_queue/task_queue_base.h"
 #include "rtc_base/event.h"
-#include "rtc_base/string_utils.h"
-#include "rtc_base/system/rtc_export.h"
+#include "rtc_base/string_utils.h"  // IWYU pragma: keep
 #include "rtc_base/thread.h"
 #include "rtc_base/trace_event.h"
 
diff --git a/pc/remote_audio_source.h b/pc/remote_audio_source.h
index 7b54dca..a18c31c 100644
--- a/pc/remote_audio_source.h
+++ b/pc/remote_audio_source.h
@@ -15,7 +15,6 @@
 
 #include <list>
 #include <optional>
-#include <string>
 
 #include "api/call/audio_sink.h"
 #include "api/media_stream_interface.h"
diff --git a/pc/rtp_parameters_conversion.h b/pc/rtp_parameters_conversion.h
index e32bc2e..2b83117 100644
--- a/pc/rtp_parameters_conversion.h
+++ b/pc/rtp_parameters_conversion.h
@@ -14,10 +14,8 @@
 #include <optional>
 #include <vector>
 
-#include "api/rtc_error.h"
 #include "api/rtp_parameters.h"
 #include "media/base/codec.h"
-#include "media/base/stream_params.h"
 #include "pc/session_description.h"
 
 namespace webrtc {
diff --git a/pc/rtp_sender.h b/pc/rtp_sender.h
index ef7310f..09c2b7a 100644
--- a/pc/rtp_sender.h
+++ b/pc/rtp_sender.h
@@ -27,7 +27,6 @@
 #include "api/dtls_transport_interface.h"
 #include "api/dtmf_sender_interface.h"
 #include "api/environment/environment.h"
-#include "api/field_trials_view.h"
 #include "api/frame_transformer_interface.h"
 #include "api/media_stream_interface.h"
 #include "api/media_types.h"
@@ -36,11 +35,12 @@
 #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 "pc/dtmf_sender.h"
 #include "pc/legacy_stats_collector_interface.h"
-#include "rtc_base/checks.h"
 #include "rtc_base/synchronization/mutex.h"
 #include "rtc_base/thread.h"
 #include "rtc_base/thread_annotations.h"
diff --git a/pc/rtp_sender_proxy.h b/pc/rtp_sender_proxy.h
index ec2f8a9..68caa3b 100644
--- a/pc/rtp_sender_proxy.h
+++ b/pc/rtp_sender_proxy.h
@@ -11,11 +11,22 @@
 #ifndef PC_RTP_SENDER_PROXY_H_
 #define PC_RTP_SENDER_PROXY_H_
 
+#include <cstdint>
 #include <memory>
 #include <string>
 #include <vector>
 
+#include "api/crypto/frame_encryptor_interface.h"
+#include "api/dtls_transport_interface.h"
+#include "api/dtmf_sender_interface.h"
+#include "api/frame_transformer_interface.h"
+#include "api/media_stream_interface.h"
+#include "api/media_types.h"
+#include "api/rtc_error.h"
+#include "api/rtp_parameters.h"
 #include "api/rtp_sender_interface.h"
+#include "api/scoped_refptr.h"
+#include "api/video_codecs/video_encoder_factory.h"
 #include "pc/proxy.h"
 
 namespace webrtc {
diff --git a/pc/rtp_transport_internal.h b/pc/rtp_transport_internal.h
index faac226..1bcb5c9 100644
--- a/pc/rtp_transport_internal.h
+++ b/pc/rtp_transport_internal.h
@@ -19,6 +19,7 @@
 #include "absl/functional/any_invocable.h"
 #include "call/rtp_demuxer.h"
 #include "pc/session_description.h"
+#include "rtc_base/async_packet_socket.h"
 #include "rtc_base/callback_list.h"
 #include "rtc_base/copy_on_write_buffer.h"
 #include "rtc_base/network/sent_packet.h"
diff --git a/pc/sctp_data_channel.h b/pc/sctp_data_channel.h
index 71ccd2c..b8b954d 100644
--- a/pc/sctp_data_channel.h
+++ b/pc/sctp_data_channel.h
@@ -11,13 +11,13 @@
 #ifndef PC_SCTP_DATA_CHANNEL_H_
 #define PC_SCTP_DATA_CHANNEL_H_
 
-#include <stdint.h>
-
+#include <cstddef>
+#include <cstdint>
 #include <memory>
 #include <optional>
-#include <set>
 #include <string>
 
+#include "absl/functional/any_invocable.h"
 #include "api/data_channel_interface.h"
 #include "api/priority.h"
 #include "api/rtc_error.h"
diff --git a/pc/sctp_utils.h b/pc/sctp_utils.h
index 098f6e9..1189123 100644
--- a/pc/sctp_utils.h
+++ b/pc/sctp_utils.h
@@ -11,16 +11,14 @@
 #ifndef PC_SCTP_UTILS_H_
 #define PC_SCTP_UTILS_H_
 
+#include <cstdint>
+#include <optional>
 #include <string>
 
 #include "api/data_channel_interface.h"
 #include "api/priority.h"
-#include "api/transport/data_channel_transport_interface.h"
-#include "media/base/media_channel.h"
-#include "media/sctp/sctp_transport_internal.h"
 #include "net/dcsctp/public/types.h"
 #include "rtc_base/copy_on_write_buffer.h"
-#include "rtc_base/ssl_stream_adapter.h"  // For SSLRole
 
 namespace webrtc {
 class CopyOnWriteBuffer;
diff --git a/pc/sdp_state_provider.h b/pc/sdp_state_provider.h
index 85c2e19..00f759b 100644
--- a/pc/sdp_state_provider.h
+++ b/pc/sdp_state_provider.h
@@ -11,10 +11,12 @@
 #ifndef PC_SDP_STATE_PROVIDER_H_
 #define PC_SDP_STATE_PROVIDER_H_
 
+#include <optional>
 #include <string>
 
 #include "api/jsep.h"
 #include "api/peer_connection_interface.h"
+#include "rtc_base/ssl_stream_adapter.h"
 
 namespace webrtc {
 
diff --git a/pc/sdp_utils.h b/pc/sdp_utils.h
index 14f5a1c..78f5a20 100644
--- a/pc/sdp_utils.h
+++ b/pc/sdp_utils.h
@@ -13,7 +13,6 @@
 
 #include <functional>
 #include <memory>
-#include <string>
 
 #include "api/jsep.h"
 #include "p2p/base/transport_info.h"
diff --git a/pc/stream_collection.h b/pc/stream_collection.h
index d417b77..648dff2 100644
--- a/pc/stream_collection.h
+++ b/pc/stream_collection.h
@@ -11,11 +11,15 @@
 #ifndef PC_STREAM_COLLECTION_H_
 #define PC_STREAM_COLLECTION_H_
 
+#include <cstddef>
 #include <string>
 #include <utility>
 #include <vector>
 
+#include "api/make_ref_counted.h"
+#include "api/media_stream_interface.h"
 #include "api/peer_connection_interface.h"
+#include "api/scoped_refptr.h"
 
 namespace webrtc {
 
diff --git a/pc/test/mock_channel_interface.h b/pc/test/mock_channel_interface.h
index 9359770..ffcc528 100644
--- a/pc/test/mock_channel_interface.h
+++ b/pc/test/mock_channel_interface.h
@@ -22,6 +22,7 @@
 #include "media/base/stream_params.h"
 #include "pc/channel_interface.h"
 #include "pc/rtp_transport_internal.h"
+#include "pc/session_description.h"
 #include "test/gmock.h"
 
 namespace webrtc {
diff --git a/pc/track_media_info_map.h b/pc/track_media_info_map.h
index eb20255..64a2cba 100644
--- a/pc/track_media_info_map.h
+++ b/pc/track_media_info_map.h
@@ -11,13 +11,9 @@
 #ifndef PC_TRACK_MEDIA_INFO_MAP_H_
 #define PC_TRACK_MEDIA_INFO_MAP_H_
 
-#include <stdint.h>
-
+#include <cstdint>
 #include <map>
-#include <memory>
 #include <optional>
-#include <string>
-#include <vector>
 
 #include "api/array_view.h"
 #include "api/media_stream_interface.h"
@@ -25,7 +21,7 @@
 #include "media/base/media_channel.h"
 #include "pc/rtp_receiver.h"
 #include "pc/rtp_sender.h"
-#include "rtc_base/ref_count.h"
+#include "rtc_base/checks.h"
 
 namespace webrtc {
 
diff --git a/pc/transceiver_list.h b/pc/transceiver_list.h
index 1abb7d2..9916b62 100644
--- a/pc/transceiver_list.h
+++ b/pc/transceiver_list.h
@@ -11,18 +11,16 @@
 #ifndef PC_TRANSCEIVER_LIST_H_
 #define PC_TRANSCEIVER_LIST_H_
 
-#include <stddef.h>
-
 #include <algorithm>
+#include <cstddef>
 #include <map>
 #include <optional>
 #include <string>
 #include <vector>
 
-#include "api/media_types.h"
-#include "api/rtc_error.h"
 #include "api/rtp_parameters.h"
 #include "api/rtp_sender_interface.h"
+#include "api/rtp_transceiver_direction.h"
 #include "api/scoped_refptr.h"
 #include "api/sequence_checker.h"
 #include "pc/rtp_transceiver.h"
diff --git a/pc/used_ids.h b/pc/used_ids.h
index 93cac85..ac8f118 100644
--- a/pc/used_ids.h
+++ b/pc/used_ids.h
@@ -16,7 +16,6 @@
 #include "api/rtp_parameters.h"
 #include "media/base/codec.h"
 #include "rtc_base/checks.h"
-#include "rtc_base/logging.h"
 
 namespace webrtc {
 template <typename IdStruct>
diff --git a/pc/video_rtp_track_source_unittest.cc b/pc/video_rtp_track_source_unittest.cc
index 4aefb17..e941e22 100644
--- a/pc/video_rtp_track_source_unittest.cc
+++ b/pc/video_rtp_track_source_unittest.cc
@@ -19,6 +19,7 @@
 #include "api/video/encoded_image.h"
 #include "api/video/recordable_encoded_frame.h"
 #include "api/video/video_codec_type.h"
+#include "api/video/video_rotation.h"
 #include "api/video/video_sink_interface.h"
 #include "test/gmock.h"
 #include "test/gtest.h"
diff --git a/pc/video_track.h b/pc/video_track.h
index 4c41550..7e5f2db 100644
--- a/pc/video_track.h
+++ b/pc/video_track.h
@@ -11,9 +11,9 @@
 #ifndef PC_VIDEO_TRACK_H_
 #define PC_VIDEO_TRACK_H_
 
-#include <optional>
 #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/video_track_source.h b/pc/video_track_source.h
index 644c11f..4b8c6cc 100644
--- a/pc/video_track_source.h
+++ b/pc/video_track_source.h
@@ -21,7 +21,6 @@
 #include "api/video/video_sink_interface.h"
 #include "api/video/video_source_interface.h"
 #include "media/base/media_channel.h"
-#include "rtc_base/checks.h"
 #include "rtc_base/system/no_unique_address.h"
 #include "rtc_base/system/rtc_export.h"
 #include "rtc_base/thread_annotations.h"
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 06d085e..cd90d6d 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -46,6 +46,7 @@
   sources = [ "media_constraints_unittest.cc" ]
   deps = [
     ":media_constraints",
+    "../api:libjingle_peerconnection_api",
     "../test:test_support",
   ]
 }
diff --git a/sdk/media_constraints.h b/sdk/media_constraints.h
index c1d9423..e72588c 100644
--- a/sdk/media_constraints.h
+++ b/sdk/media_constraints.h
@@ -16,8 +16,8 @@
 #ifndef SDK_MEDIA_CONSTRAINTS_H_
 #define SDK_MEDIA_CONSTRAINTS_H_
 
-#include <stddef.h>
-
+#include <cstddef>
+#include <initializer_list>
 #include <string>
 #include <utility>
 #include <vector>
diff --git a/sdk/media_constraints_unittest.cc b/sdk/media_constraints_unittest.cc
index 5e6b157..1b0af08 100644
--- a/sdk/media_constraints_unittest.cc
+++ b/sdk/media_constraints_unittest.cc
@@ -10,6 +10,7 @@
 
 #include "sdk/media_constraints.h"
 
+#include "api/peer_connection_interface.h"
 #include "test/gtest.h"
 
 namespace webrtc {