From 29d7292a34c9f745a2f36af7e24ce41960ddc39c Mon Sep 17 00:00:00 2001 From: Evan Shrubsole Date: Tue, 16 Aug 2022 11:01:46 +0000 Subject: [PATCH] Clean VideoReceiveStream2 includes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Moves FrameBuffer2 to its own GN target to reduce the binary size of the video target. Bug: None Change-Id: I40e86a1eabc0c9e8e6fada3dcdb4e3a043c61c6c Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271286 Commit-Queue: Evan Shrubsole Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/main@{#37803} --- modules/video_coding/BUILD.gn | 39 ++++++++++++++++++++++++++++++++-- test/fuzzers/BUILD.gn | 2 +- video/BUILD.gn | 23 +++----------------- video/video_receive_stream2.cc | 12 +---------- video/video_receive_stream2.h | 1 - 5 files changed, 42 insertions(+), 35 deletions(-) diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index fa56f6a35e..731ef211bd 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -160,6 +160,42 @@ rtc_library("frame_helpers") { absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] } +rtc_library("frame_buffer2") { + sources = [ + "frame_buffer2.cc", + "frame_buffer2.h", + ] + deps = [ + ":frame_helpers", + ":video_codec_interface", + ":video_coding_utility", + "../../api:field_trials_view", + "../../api:sequence_checker", + "../../api/task_queue", + "../../api/units:data_size", + "../../api/units:time_delta", + "../../api/video:encoded_frame", + "../../api/video:encoded_image", + "../../api/video:video_rtp_headers", + "../../rtc_base:checks", + "../../rtc_base:event_tracer", + "../../rtc_base:logging", + "../../rtc_base:macromagic", + "../../rtc_base:rtc_event", + "../../rtc_base:rtc_numerics", + "../../rtc_base/experiments:field_trial_parser", + "../../rtc_base/experiments:rtt_mult_experiment", + "../../rtc_base/synchronization:mutex", + "../../rtc_base/system:no_unique_address", + "../../rtc_base/task_utils:repeating_task", + "../../system_wrappers", + "timing:inter_frame_delay", + "timing:jitter_estimator", + "timing:timing_module", + ] + absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] +} + rtc_library("video_coding") { visibility = [ "*" ] sources = [ @@ -168,8 +204,6 @@ rtc_library("video_coding") { "fec_controller_default.cc", "fec_controller_default.h", "fec_rate_table.h", - "frame_buffer2.cc", - "frame_buffer2.h", "frame_object.cc", "frame_object.h", "generic_decoder.cc", @@ -1128,6 +1162,7 @@ if (rtc_include_tests) { ":chain_diff_calculator", ":codec_globals_headers", ":encoded_frame", + ":frame_buffer2", ":frame_dependencies_calculator", ":h264_packet_buffer", ":nack_requester", diff --git a/test/fuzzers/BUILD.gn b/test/fuzzers/BUILD.gn index 526931b02e..42a46acc38 100644 --- a/test/fuzzers/BUILD.gn +++ b/test/fuzzers/BUILD.gn @@ -621,7 +621,7 @@ webrtc_fuzzer_test("frame_buffer2_fuzzer") { sources = [ "frame_buffer2_fuzzer.cc" ] deps = [ "../../api/task_queue", - "../../modules/video_coding/", + "../../modules/video_coding:frame_buffer2", "../../modules/video_coding/timing:timing_module", "../../test:scoped_key_value_config", "../time_controller:time_controller", diff --git a/video/BUILD.gn b/video/BUILD.gn index dbffa2b71a..8033802460 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -54,31 +54,26 @@ rtc_library("video") { deps = [ ":frame_cadence_adapter", - ":frame_decode_scheduler", ":frame_dumping_decoder", ":unique_timestamp_counter", - ":video_receive_stream_timeout_tracker", ":video_stream_buffer_controller", ":video_stream_encoder_impl", "../api:array_view", "../api:fec_controller_api", "../api:field_trials_view", "../api:frame_transformer_interface", - "../api:libjingle_peerconnection_api", "../api:rtp_parameters", "../api:scoped_refptr", "../api:sequence_checker", "../api:transport_api", "../api/crypto:frame_decryptor_interface", "../api/crypto:options", - "../api/rtc_event_log", "../api/task_queue", "../api/task_queue:pending_task_safety_flag", "../api/units:frequency", "../api/units:time_delta", "../api/units:timestamp", "../api/video:encoded_image", - "../api/video:frame_buffer", "../api/video:recordable_encoded_frame", "../api/video:video_bitrate_allocation", "../api/video:video_bitrate_allocator", @@ -90,7 +85,7 @@ rtc_library("video") { "../call:bitrate_allocator", "../call:call_interfaces", "../call:rtp_interfaces", - "../call:rtp_receiver", # For RtxReceiveStream. + "../call:rtp_receiver", "../call:rtp_sender", "../call:video_stream_api", "../common_video", @@ -102,15 +97,11 @@ rtc_library("video") { "../modules/rtp_rtcp:rtp_rtcp_format", "../modules/rtp_rtcp:rtp_video_header", "../modules/video_coding", - "../modules/video_coding:codec_globals_headers", - "../modules/video_coding:frame_helpers", "../modules/video_coding:nack_requester", "../modules/video_coding:packet_buffer", "../modules/video_coding:video_codec_interface", "../modules/video_coding:video_coding_utility", - "../modules/video_coding/timing:inter_frame_delay", "../modules/video_coding/timing:timing_module", - "../modules/video_processing", "../rtc_base:checks", "../rtc_base:event_tracer", "../rtc_base:histogram_percentile_counter", @@ -120,10 +111,8 @@ rtc_library("video") { "../rtc_base:mod_ops", "../rtc_base:moving_max_counter", "../rtc_base:platform_thread", - "../rtc_base:rate_limiter", "../rtc_base:rate_statistics", "../rtc_base:rate_tracker", - "../rtc_base:rtc_base", "../rtc_base:rtc_event", "../rtc_base:rtc_numerics", "../rtc_base:rtc_task_queue", @@ -132,28 +121,21 @@ rtc_library("video") { "../rtc_base:stringutils", "../rtc_base:threading", "../rtc_base:timeutils", - "../rtc_base:weak_ptr", "../rtc_base/experiments:alr_experiment", "../rtc_base/experiments:field_trial_parser", "../rtc_base/experiments:keyframe_interval_settings_experiment", "../rtc_base/experiments:min_video_bitrate_experiment", - "../rtc_base/experiments:quality_scaling_experiment", "../rtc_base/experiments:rate_control_settings", - "../rtc_base/experiments:rtt_mult_experiment", "../rtc_base/synchronization:mutex", "../rtc_base/system:no_unique_address", "../rtc_base/task_utils:repeating_task", - "../rtc_base/time:timestamp_extrapolator", "../system_wrappers", "../system_wrappers:field_trial", "../system_wrappers:metrics", - "./adaptation:video_adaptation", + "adaptation:video_adaptation", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", - "//third_party/abseil-cpp/absl/base:core_headers", - "//third_party/abseil-cpp/absl/container:inlined_vector", - "//third_party/abseil-cpp/absl/functional:bind_front", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", @@ -183,6 +165,7 @@ rtc_library("video_stream_decoder_impl") { "../api/video:video_stream_decoder", "../api/video_codecs:video_codecs_api", "../modules/video_coding", + "../modules/video_coding:frame_buffer2", "../modules/video_coding/timing:timing_module", "../rtc_base:logging", "../rtc_base:mod_ops", diff --git a/video/video_receive_stream2.cc b/video/video_receive_stream2.cc index 1189ea61e7..553f6b4345 100644 --- a/video/video_receive_stream2.cc +++ b/video/video_receive_stream2.cc @@ -20,8 +20,6 @@ #include #include "absl/algorithm/container.h" -#include "absl/container/inlined_vector.h" -#include "absl/functional/bind_front.h" #include "absl/types/optional.h" #include "api/array_view.h" #include "api/crypto/frame_decryptor_interface.h" @@ -33,25 +31,19 @@ #include "api/units/time_delta.h" #include "api/units/timestamp.h" #include "api/video/encoded_image.h" -#include "api/video/frame_buffer.h" -#include "api/video_codecs/h264_profile_level_id.h" #include "api/video_codecs/sdp_video_format.h" #include "api/video_codecs/video_codec.h" #include "api/video_codecs/video_decoder_factory.h" -#include "api/video_codecs/video_encoder.h" #include "call/rtp_stream_receiver_controller_interface.h" #include "call/rtx_receive_stream.h" #include "common_video/include/incoming_video_stream.h" -#include "modules/video_coding/frame_buffer2.h" -#include "modules/video_coding/frame_helpers.h" #include "modules/video_coding/include/video_codec_interface.h" #include "modules/video_coding/include/video_coding_defines.h" #include "modules/video_coding/include/video_error_codes.h" #include "modules/video_coding/timing/timing.h" #include "modules/video_coding/utility/vp8_header_parser.h" #include "rtc_base/checks.h" -#include "rtc_base/experiments/rtt_mult_experiment.h" -#include "rtc_base/location.h" +#include "rtc_base/event.h" #include "rtc_base/logging.h" #include "rtc_base/strings/string_builder.h" #include "rtc_base/synchronization/mutex.h" @@ -60,10 +52,8 @@ #include "rtc_base/trace_event.h" #include "system_wrappers/include/clock.h" #include "video/call_stats2.h" -#include "video/frame_decode_scheduler.h" #include "video/frame_dumping_decoder.h" #include "video/receive_statistics_proxy2.h" -#include "video/video_receive_stream_timeout_tracker.h" namespace webrtc { diff --git a/video/video_receive_stream2.h b/video/video_receive_stream2.h index 06eab029bb..4fbb66d1f0 100644 --- a/video/video_receive_stream2.h +++ b/video/video_receive_stream2.h @@ -26,7 +26,6 @@ #include "call/rtp_packet_sink_interface.h" #include "call/syncable.h" #include "call/video_receive_stream.h" -#include "modules/rtp_rtcp/include/flexfec_receiver.h" #include "modules/rtp_rtcp/source/source_tracker.h" #include "modules/video_coding/nack_requester.h" #include "modules/video_coding/video_receiver2.h"