diff --git a/api/BUILD.gn b/api/BUILD.gn index f25db96db8..b0f95ebcf8 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -393,11 +393,16 @@ rtc_source_set("frame_transformer_interface") { "frame_transformer_interface.h", ] deps = [ + ":array_view", ":make_ref_counted", ":ref_count", ":scoped_refptr", + "../rtc_base:refcount", + "../rtc_base/system:rtc_export", + "units:timestamp", "video:encoded_frame", "video:video_frame_metadata", + "//third_party/abseil-cpp/absl/types:optional", ] } diff --git a/api/frame_transformer_interface.h b/api/frame_transformer_interface.h index 03f7b482b8..6f632bcb72 100644 --- a/api/frame_transformer_interface.h +++ b/api/frame_transformer_interface.h @@ -11,13 +11,17 @@ #ifndef API_FRAME_TRANSFORMER_INTERFACE_H_ #define API_FRAME_TRANSFORMER_INTERFACE_H_ +#include #include #include +#include "absl/types/optional.h" +#include "api/array_view.h" #include "api/ref_count.h" #include "api/scoped_refptr.h" -#include "api/video/encoded_frame.h" +#include "api/units/timestamp.h" #include "api/video/video_frame_metadata.h" +#include "rtc_base/system/rtc_export.h" namespace webrtc { @@ -104,7 +108,7 @@ class TransformableAudioFrameInterface : public TransformableFrameInterface { }; // Objects implement this interface to be notified with the transformed frame. -class TransformedFrameCallback : public rtc::RefCountInterface { +class TransformedFrameCallback : public RefCountInterface { public: virtual void OnTransformedFrame( std::unique_ptr frame) = 0; @@ -121,7 +125,7 @@ class TransformedFrameCallback : public rtc::RefCountInterface { // Transforms encoded frames. The transformed frame is sent in a callback using // the TransformedFrameCallback interface (see above). -class FrameTransformerInterface : public rtc::RefCountInterface { +class FrameTransformerInterface : public RefCountInterface { public: // Transforms `frame` using the implementing class' processing logic. virtual void Transform( diff --git a/api/rtp_receiver_interface.cc b/api/rtp_receiver_interface.cc index ffa421683a..4868f2c3aa 100644 --- a/api/rtp_receiver_interface.cc +++ b/api/rtp_receiver_interface.cc @@ -10,6 +10,16 @@ #include "api/rtp_receiver_interface.h" +#include +#include + +#include "api/crypto/frame_decryptor_interface.h" +#include "api/dtls_transport_interface.h" +#include "api/frame_transformer_interface.h" +#include "api/media_stream_interface.h" +#include "api/scoped_refptr.h" +#include "api/transport/rtp/rtp_source.h" + namespace webrtc { std::vector RtpReceiverInterface::stream_ids() const { diff --git a/audio/BUILD.gn b/audio/BUILD.gn index 688a7adbc6..fb9e904d83 100644 --- a/audio/BUILD.gn +++ b/audio/BUILD.gn @@ -161,12 +161,16 @@ if (rtc_include_tests) { ":audio", ":audio_end_to_end_test", ":channel_receive_unittest", + "../api:array_view", + "../api:frame_transformer_interface", "../api:libjingle_peerconnection_api", + "../api:make_ref_counted", "../api:mock_audio_mixer", "../api:mock_frame_decryptor", "../api:mock_frame_encryptor", "../api:mock_frame_transformer", "../api:mock_transformable_audio_frame", + "../api:rtp_headers", "../api:scoped_refptr", "../api/audio:audio_frame_api", "../api/audio:audio_processing_statistics", @@ -189,6 +193,7 @@ if (rtc_include_tests) { "../call:rtp_sender", "../common_audio", "../logging:mocks", + "../modules/audio_coding:audio_coding_module_typedefs", "../modules/audio_device:audio_device_impl", # For TestAudioDeviceModule "../modules/audio_device:mock_audio_device", "../modules/audio_mixer:audio_mixer_impl", @@ -220,6 +225,7 @@ if (rtc_include_tests) { "utility:utility_tests", "//testing/gtest", "//third_party/abseil-cpp/absl/memory", + "//third_party/abseil-cpp/absl/types:optional", ] } diff --git a/audio/channel_receive_frame_transformer_delegate.cc b/audio/channel_receive_frame_transformer_delegate.cc index 814127b914..0b8eacf96e 100644 --- a/audio/channel_receive_frame_transformer_delegate.cc +++ b/audio/channel_receive_frame_transformer_delegate.cc @@ -10,9 +10,18 @@ #include "audio/channel_receive_frame_transformer_delegate.h" +#include +#include #include #include +#include "absl/types/optional.h" +#include "api/array_view.h" +#include "api/frame_transformer_interface.h" +#include "api/rtp_headers.h" +#include "api/scoped_refptr.h" +#include "api/sequence_checker.h" +#include "api/task_queue/task_queue_base.h" #include "rtc_base/buffer.h" namespace webrtc { diff --git a/audio/channel_receive_frame_transformer_delegate.h b/audio/channel_receive_frame_transformer_delegate.h index d572ffe8d1..0502458c55 100644 --- a/audio/channel_receive_frame_transformer_delegate.h +++ b/audio/channel_receive_frame_transformer_delegate.h @@ -15,6 +15,7 @@ #include #include "api/frame_transformer_interface.h" +#include "api/rtp_headers.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_base.h" #include "rtc_base/system/no_unique_address.h" diff --git a/audio/channel_receive_frame_transformer_delegate_unittest.cc b/audio/channel_receive_frame_transformer_delegate_unittest.cc index 8b819f1a9a..3ab2b49baf 100644 --- a/audio/channel_receive_frame_transformer_delegate_unittest.cc +++ b/audio/channel_receive_frame_transformer_delegate_unittest.cc @@ -10,12 +10,19 @@ #include "audio/channel_receive_frame_transformer_delegate.h" +#include #include #include +#include "api/array_view.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 "audio/channel_send_frame_transformer_delegate.h" +#include "rtc_base/thread.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/audio/channel_send_frame_transformer_delegate_unittest.cc b/audio/channel_send_frame_transformer_delegate_unittest.cc index e8b7aef29d..0ed8677ae1 100644 --- a/audio/channel_send_frame_transformer_delegate_unittest.cc +++ b/audio/channel_send_frame_transformer_delegate_unittest.cc @@ -10,13 +10,20 @@ #include "audio/channel_send_frame_transformer_delegate.h" +#include #include #include #include #include "absl/memory/memory.h" +#include "absl/types/optional.h" +#include "api/array_view.h" +#include "api/frame_transformer_interface.h" +#include "api/make_ref_counted.h" +#include "api/scoped_refptr.h" #include "api/test/mock_frame_transformer.h" #include "api/test/mock_transformable_audio_frame.h" +#include "modules/audio_coding/include/audio_coding_module_typedefs.h" #include "rtc_base/task_queue_for_test.h" #include "test/gmock.h" #include "test/gtest.h" diff --git a/media/BUILD.gn b/media/BUILD.gn index 6244b6b4f0..8b5fd93338 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -358,6 +358,7 @@ rtc_library("codec") { ":media_constants", "../api:rtp_parameters", "../api/audio_codecs:audio_codecs_api", + "../api/video_codecs:scalability_mode", "../api/video_codecs:video_codecs_api", "../rtc_base:checks", "../rtc_base:logging", diff --git a/media/base/codec.cc b/media/base/codec.cc index 2e7cc6ac8c..820cb97980 100644 --- a/media/base/codec.cc +++ b/media/base/codec.cc @@ -10,11 +10,21 @@ #include "media/base/codec.h" +#include +#include +#include +#include +#include + #include "absl/algorithm/container.h" #include "absl/strings/match.h" +#include "absl/types/optional.h" #include "api/audio_codecs/audio_format.h" +#include "api/media_types.h" +#include "api/rtp_parameters.h" #include "api/video_codecs/av1_profile.h" #include "api/video_codecs/h264_profile_level_id.h" +#include "api/video_codecs/sdp_video_format.h" #ifdef RTC_ENABLE_H265 #include "api/video_codecs/h265_profile_tier_level.h" #endif diff --git a/media/base/codec.h b/media/base/codec.h index 99a6852462..5230779635 100644 --- a/media/base/codec.h +++ b/media/base/codec.h @@ -11,8 +11,7 @@ #ifndef MEDIA_BASE_CODEC_H_ #define MEDIA_BASE_CODEC_H_ -#include -#include +#include #include #include @@ -21,6 +20,7 @@ #include "absl/types/optional.h" #include "api/audio_codecs/audio_format.h" #include "api/rtp_parameters.h" +#include "api/video_codecs/scalability_mode.h" #include "api/video_codecs/sdp_video_format.h" #include "media/base/media_constants.h" #include "rtc_base/system/rtc_export.h" diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 0c878a5c16..58317c1291 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -308,6 +308,7 @@ rtc_library("rtp_rtcp") { "../../api/video:video_frame_type", "../../api/video:video_layers_allocation", "../../api/video:video_rtp_headers", + "../../api/video_codecs:video_codecs_api", "../../call:rtp_interfaces", "../../call:video_stream_api", "../../common_video", diff --git a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc index ae80f7678f..8c24160f38 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc +++ b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.cc @@ -10,15 +10,31 @@ #include "modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h" +#include +#include +#include #include #include #include +#include "absl/types/optional.h" +#include "api/array_view.h" +#include "api/frame_transformer_interface.h" +#include "api/scoped_refptr.h" #include "api/sequence_checker.h" #include "api/task_queue/task_queue_factory.h" -#include "modules/rtp_rtcp/source/rtp_descriptor_authentication.h" +#include "api/transport/rtp/dependency_descriptor.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_metadata.h" +#include "api/video/video_frame_type.h" +#include "api/video/video_layers_allocation.h" +#include "api/video_codecs/video_codec.h" +#include "modules/rtp_rtcp/source/rtp_video_header.h" #include "rtc_base/checks.h" -#include "rtc_base/logging.h" +#include "rtc_base/synchronization/mutex.h" namespace webrtc { namespace { diff --git a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h index 243f22ca9f..a32c7084ea 100644 --- a/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h +++ b/modules/rtp_rtcp/source/rtp_sender_video_frame_transformer_delegate.h @@ -21,7 +21,9 @@ #include "api/task_queue/task_queue_factory.h" #include "api/units/time_delta.h" #include "api/units/timestamp.h" +#include "api/video/encoded_image.h" #include "api/video/video_layers_allocation.h" +#include "modules/rtp_rtcp/source/rtp_video_header.h" #include "rtc_base/synchronization/mutex.h" namespace webrtc { diff --git a/pc/BUILD.gn b/pc/BUILD.gn index d1b6b297da..25dd280a8a 100644 --- a/pc/BUILD.gn +++ b/pc/BUILD.gn @@ -451,7 +451,15 @@ rtc_source_set("rtp_receiver_proxy") { sources = [ "rtp_receiver_proxy.h" ] deps = [ ":proxy", + "../api:dtls_transport_interface", + "../api:frame_transformer_interface", "../api:libjingle_peerconnection_api", + "../api:media_stream_interface", + "../api:rtp_parameters", + "../api:scoped_refptr", + "../api/crypto:frame_decryptor_interface", + "../api/transport/rtp:rtp_source", + "//third_party/abseil-cpp/absl/types:optional", ] } @@ -988,6 +996,7 @@ rtc_source_set("sdp_offer_answer") { "../api:dtls_transport_interface", "../api:field_trials_view", "../api:libjingle_peerconnection_api", + "../api:make_ref_counted", "../api:media_stream_interface", "../api:rtc_error", "../api:rtp_parameters", @@ -998,8 +1007,10 @@ rtc_source_set("sdp_offer_answer") { "../api/crypto:options", "../api/video:builtin_video_bitrate_allocator_factory", "../api/video:video_bitrate_allocator_factory", + "../api/video:video_codec_constants", "../media:codec", "../media:media_channel", + "../media:media_engine", "../media:rid_description", "../media:stream_params", "../p2p:connection", @@ -1517,6 +1528,7 @@ rtc_library("rtp_transceiver") { "../api/task_queue", "../api/task_queue:pending_task_safety_flag", "../api/video:video_bitrate_allocator_factory", + "../api/video_codecs:scalability_mode", "../media:codec", "../media:media_channel", "../media:media_channel_impl", @@ -2399,6 +2411,7 @@ if (rtc_include_tests && !build_with_chromium) { "../test:run_loop", "../test:scoped_key_value_config", "../test/pc/sctp:fake_sctp_transport", + "//testing/gtest", "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", diff --git a/pc/rtp_receiver.cc b/pc/rtp_receiver.cc index 9431aab10a..ce221a266d 100644 --- a/pc/rtp_receiver.cc +++ b/pc/rtp_receiver.cc @@ -13,9 +13,12 @@ #include #include +#include #include #include +#include "api/media_stream_interface.h" +#include "api/scoped_refptr.h" #include "pc/media_stream.h" #include "pc/media_stream_proxy.h" #include "rtc_base/thread.h" diff --git a/pc/rtp_receiver.h b/pc/rtp_receiver.h index 16ab011f14..53451a3333 100644 --- a/pc/rtp_receiver.h +++ b/pc/rtp_receiver.h @@ -21,20 +21,11 @@ #include #include "absl/types/optional.h" -#include "api/crypto/frame_decryptor_interface.h" #include "api/dtls_transport_interface.h" #include "api/media_stream_interface.h" -#include "api/media_types.h" -#include "api/rtp_parameters.h" #include "api/rtp_receiver_interface.h" #include "api/scoped_refptr.h" -#include "api/video/video_frame.h" -#include "api/video/video_sink_interface.h" -#include "api/video/video_source_interface.h" #include "media/base/media_channel.h" -#include "media/base/video_broadcaster.h" -#include "pc/video_track_source.h" -#include "rtc_base/thread.h" namespace webrtc { diff --git a/pc/rtp_receiver_proxy.h b/pc/rtp_receiver_proxy.h index db677d818a..0cdf6ff528 100644 --- a/pc/rtp_receiver_proxy.h +++ b/pc/rtp_receiver_proxy.h @@ -14,7 +14,16 @@ #include #include +#include "absl/types/optional.h" +#include "api/crypto/frame_decryptor_interface.h" +#include "api/dtls_transport_interface.h" +#include "api/frame_transformer_interface.h" +#include "api/media_stream_interface.h" +#include "api/media_types.h" +#include "api/rtp_parameters.h" #include "api/rtp_receiver_interface.h" +#include "api/scoped_refptr.h" +#include "api/transport/rtp/rtp_source.h" #include "pc/proxy.h" namespace webrtc { diff --git a/pc/rtp_sender_receiver_unittest.cc b/pc/rtp_sender_receiver_unittest.cc index c6c342e940..b73edf5ca9 100644 --- a/pc/rtp_sender_receiver_unittest.cc +++ b/pc/rtp_sender_receiver_unittest.cc @@ -18,14 +18,15 @@ #include #include "absl/algorithm/container.h" -#include "absl/memory/memory.h" #include "absl/types/optional.h" +#include "api/audio_codecs/audio_codec_pair_id.h" #include "api/audio_options.h" #include "api/crypto/crypto_options.h" #include "api/crypto/frame_decryptor_interface.h" #include "api/crypto/frame_encryptor_interface.h" #include "api/dtmf_sender_interface.h" #include "api/environment/environment_factory.h" +#include "api/make_ref_counted.h" #include "api/media_stream_interface.h" #include "api/rtc_error.h" #include "api/rtc_event_log/rtc_event_log.h" @@ -51,7 +52,6 @@ #include "p2p/base/p2p_constants.h" #include "pc/audio_rtp_receiver.h" #include "pc/audio_track.h" -#include "pc/channel.h" #include "pc/dtls_srtp_transport.h" #include "pc/local_audio_source.h" #include "pc/media_stream.h" @@ -63,6 +63,7 @@ #include "rtc_base/checks.h" #include "rtc_base/gunit.h" #include "rtc_base/thread.h" +#include "rtc_base/unique_id_generator.h" #include "test/gmock.h" #include "test/gtest.h" #include "test/run_loop.h" diff --git a/pc/rtp_transceiver.cc b/pc/rtp_transceiver.cc index e585667843..f0a09ce1a5 100644 --- a/pc/rtp_transceiver.cc +++ b/pc/rtp_transceiver.cc @@ -12,25 +12,50 @@ #include +#include +#include +#include #include +#include #include #include #include #include #include "absl/algorithm/container.h" -#include "absl/memory/memory.h" +#include "absl/strings/string_view.h" +#include "absl/types/optional.h" +#include "api/array_view.h" #include "api/audio_codecs/audio_codec_pair_id.h" +#include "api/audio_options.h" +#include "api/crypto/crypto_options.h" #include "api/field_trials_view.h" +#include "api/jsep.h" +#include "api/media_types.h" +#include "api/rtc_error.h" #include "api/rtp_parameters.h" +#include "api/rtp_receiver_interface.h" +#include "api/rtp_sender_interface.h" +#include "api/rtp_transceiver_direction.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/video/video_bitrate_allocator_factory.h" +#include "api/video_codecs/scalability_mode.h" #include "media/base/codec.h" #include "media/base/media_channel.h" -#include "media/base/media_channel_impl.h" -#include "media/base/media_constants.h" +#include "media/base/media_config.h" #include "media/base/media_engine.h" #include "pc/channel.h" +#include "pc/channel_interface.h" +#include "pc/connection_context.h" #include "pc/rtp_media_utils.h" +#include "pc/rtp_receiver.h" +#include "pc/rtp_receiver_proxy.h" +#include "pc/rtp_sender.h" +#include "pc/rtp_sender_proxy.h" +#include "pc/rtp_transport_internal.h" #include "pc/session_description.h" #include "rtc_base/checks.h" #include "rtc_base/logging.h" diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc index 68d89e439f..8b348ba1cf 100644 --- a/pc/sdp_offer_answer.cc +++ b/pc/sdp_offer_answer.cc @@ -12,56 +12,90 @@ #include #include +#include +#include #include #include #include #include +#include #include #include +#include #include "absl/algorithm/container.h" #include "absl/memory/memory.h" #include "absl/strings/match.h" #include "absl/strings/string_view.h" +#include "absl/types/optional.h" #include "api/array_view.h" +#include "api/candidate.h" #include "api/crypto/crypto_options.h" -#include "api/dtls_transport_interface.h" -#include "api/field_trials_view.h" +#include "api/jsep.h" +#include "api/jsep_ice_candidate.h" +#include "api/make_ref_counted.h" +#include "api/media_stream_interface.h" +#include "api/media_types.h" +#include "api/peer_connection_interface.h" +#include "api/rtc_error.h" #include "api/rtp_parameters.h" #include "api/rtp_receiver_interface.h" #include "api/rtp_sender_interface.h" +#include "api/rtp_transceiver_direction.h" +#include "api/rtp_transceiver_interface.h" +#include "api/scoped_refptr.h" +#include "api/sequence_checker.h" +#include "api/set_local_description_observer_interface.h" +#include "api/set_remote_description_observer_interface.h" +#include "api/uma_metrics.h" #include "api/video/builtin_video_bitrate_allocator_factory.h" +#include "api/video/video_codec_constants.h" #include "media/base/codec.h" +#include "media/base/media_engine.h" #include "media/base/rid_description.h" +#include "media/base/stream_params.h" #include "p2p/base/ice_transport_internal.h" #include "p2p/base/p2p_constants.h" #include "p2p/base/p2p_transport_channel.h" -#include "p2p/base/port.h" +#include "p2p/base/port_allocator.h" #include "p2p/base/transport_description.h" #include "p2p/base/transport_description_factory.h" #include "p2p/base/transport_info.h" #include "pc/channel_interface.h" +#include "pc/connection_context.h" #include "pc/dtls_transport.h" +#include "pc/jsep_transport_controller.h" #include "pc/legacy_stats_collector.h" +#include "pc/media_session.h" #include "pc/media_stream.h" +#include "pc/media_stream_observer.h" #include "pc/media_stream_proxy.h" #include "pc/peer_connection_internal.h" #include "pc/peer_connection_message_handler.h" #include "pc/rtp_media_utils.h" -#include "pc/rtp_receiver_proxy.h" +#include "pc/rtp_receiver.h" #include "pc/rtp_sender.h" #include "pc/rtp_sender_proxy.h" +#include "pc/rtp_transceiver.h" +#include "pc/rtp_transmission_manager.h" +#include "pc/session_description.h" #include "pc/simulcast_description.h" +#include "pc/stream_collection.h" +#include "pc/transceiver_list.h" #include "pc/usage_pattern.h" #include "pc/used_ids.h" #include "pc/webrtc_session_description_factory.h" +#include "rtc_base/checks.h" #include "rtc_base/helpers.h" #include "rtc_base/logging.h" +#include "rtc_base/operations_chain.h" #include "rtc_base/rtc_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/thread.h" #include "rtc_base/trace_event.h" +#include "rtc_base/weak_ptr.h" #include "system_wrappers/include/metrics.h" using cricket::ContentInfo; diff --git a/pc/sdp_offer_answer.h b/pc/sdp_offer_answer.h index 88ddfe0332..8b845f46ef 100644 --- a/pc/sdp_offer_answer.h +++ b/pc/sdp_offer_answer.h @@ -55,7 +55,6 @@ #include "pc/stream_collection.h" #include "pc/transceiver_list.h" #include "pc/webrtc_session_description_factory.h" -#include "rtc_base/checks.h" #include "rtc_base/operations_chain.h" #include "rtc_base/ssl_stream_adapter.h" #include "rtc_base/thread.h"