diff --git a/media/BUILD.gn b/media/BUILD.gn index c01660f1ce..5ea7b1e7e6 100644 --- a/media/BUILD.gn +++ b/media/BUILD.gn @@ -162,6 +162,34 @@ rtc_static_library("rtc_constants") { ] } +rtc_static_library("rtc_simulcast_encoder_adapter") { + visibility = [ "*" ] + defines = [] + libs = [] + sources = [ + "engine/simulcast_encoder_adapter.cc", + "engine/simulcast_encoder_adapter.h", + ] + deps = [ + "../api/video:video_bitrate_allocation", + "../api/video:video_frame_i420", + "../api/video_codecs:video_codecs_api", + "../modules/video_coding:video_codec_interface", + "../modules/video_coding:video_coding_utility", + "../rtc_base:checks", + "../rtc_base:rtc_base_approved", + "../rtc_base:sequenced_task_checker", + "../system_wrappers", + "../system_wrappers:field_trial", + "//third_party/abseil-cpp/absl/types:optional", + "//third_party/libyuv", + ] + if (!build_with_chromium && is_clang) { + # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163). + suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] + } +} + rtc_static_library("rtc_internal_video_codecs") { visibility = [ "*" ] allow_poison = [ "software_video_codecs" ] @@ -169,8 +197,8 @@ rtc_static_library("rtc_internal_video_codecs") { libs = [] deps = [ ":rtc_h264_profile_id", + ":rtc_simulcast_encoder_adapter", "../modules/video_coding:video_codec_interface", - "../system_wrappers:field_trial", "//third_party/abseil-cpp/absl/memory", ] sources = [ @@ -186,7 +214,10 @@ rtc_static_library("rtc_internal_video_codecs") { "engine/scopedvideodecoder.h", "engine/scopedvideoencoder.cc", "engine/scopedvideoencoder.h", - "engine/simulcast_encoder_adapter.cc", + + # TODO(bugs.webrtc.org/7925): When downstream projects depend directly on + # :rtc_simulcast_encoder_adapter, remove it from this target's deps, remove + # its deps from this target's deps, and stop exporting this header here. "engine/simulcast_encoder_adapter.h", "engine/vp8_encoder_simulcast_proxy.cc", "engine/vp8_encoder_simulcast_proxy.h", @@ -207,12 +238,10 @@ rtc_static_library("rtc_internal_video_codecs") { ":rtc_media_base", "..:webrtc_common", "../api/video:video_bitrate_allocation", - "../api/video:video_frame_i420", "../api/video_codecs:rtc_software_fallback_wrappers", "../api/video_codecs:video_codecs_api", "../call:call_interfaces", "../call:video_stream_api", - "../modules/video_coding:video_coding_utility", "../modules/video_coding:webrtc_h264", "../modules/video_coding:webrtc_multiplex", "../modules/video_coding:webrtc_vp8", @@ -221,9 +250,7 @@ rtc_static_library("rtc_internal_video_codecs") { "../rtc_base:rtc_base_approved", "../rtc_base:sequenced_task_checker", "../rtc_base/system:rtc_export", - "../system_wrappers", "//third_party/abseil-cpp/absl/types:optional", - "//third_party/libyuv", ] } @@ -398,6 +425,7 @@ if (rtc_include_tests) { include_dirs = [] deps = [ ":rtc_audio_video", + ":rtc_simulcast_encoder_adapter", "../api:libjingle_peerconnection_api", "../api/video:video_frame_i420", "../call:video_stream_api", @@ -576,6 +604,7 @@ if (rtc_include_tests) { ":rtc_media", ":rtc_media_base", ":rtc_media_tests_utils", + ":rtc_simulcast_encoder_adapter", ":rtc_vp9_profile", "../api:create_simulcast_test_fixture_api", "../api:libjingle_peerconnection_api", diff --git a/media/engine/simulcast_encoder_adapter.cc b/media/engine/simulcast_encoder_adapter.cc index 30da68ec85..80c2ef2f3c 100644 --- a/media/engine/simulcast_encoder_adapter.cc +++ b/media/engine/simulcast_encoder_adapter.cc @@ -17,7 +17,6 @@ #include "api/video/i420_buffer.h" #include "api/video/video_bitrate_allocation.h" #include "api/video_codecs/video_encoder_factory.h" -#include "media/engine/scopedvideoencoder.h" #include "modules/video_coding/utility/simulcast_rate_allocator.h" #include "rtc_base/checks.h" #include "system_wrappers/include/clock.h" diff --git a/media/engine/simulcast_encoder_adapter.h b/media/engine/simulcast_encoder_adapter.h index 52643aa79b..20afefaf49 100644 --- a/media/engine/simulcast_encoder_adapter.h +++ b/media/engine/simulcast_encoder_adapter.h @@ -19,7 +19,7 @@ #include #include "absl/types/optional.h" -#include "media/engine/webrtcvideoencoderfactory.h" +#include "api/video_codecs/sdp_video_format.h" #include "modules/video_coding/include/video_codec_interface.h" #include "rtc_base/atomicops.h" #include "rtc_base/sequenced_task_checker.h" diff --git a/media/engine/simulcast_encoder_adapter_unittest.cc b/media/engine/simulcast_encoder_adapter_unittest.cc index bd39595f0c..91d83e9729 100644 --- a/media/engine/simulcast_encoder_adapter_unittest.cc +++ b/media/engine/simulcast_encoder_adapter_unittest.cc @@ -18,6 +18,7 @@ #include "api/video_codecs/sdp_video_format.h" #include "api/video_codecs/video_encoder_factory.h" #include "common_video/include/video_frame_buffer.h" +#include "media/base/mediaconstants.h" #include "media/engine/internalencoderfactory.h" #include "media/engine/simulcast_encoder_adapter.h" #include "modules/video_coding/codecs/vp8/include/vp8.h" diff --git a/media/engine/vp8_encoder_simulcast_proxy.cc b/media/engine/vp8_encoder_simulcast_proxy.cc index 4d858630b5..3279bdd7b4 100644 --- a/media/engine/vp8_encoder_simulcast_proxy.cc +++ b/media/engine/vp8_encoder_simulcast_proxy.cc @@ -10,7 +10,6 @@ #include "media/engine/vp8_encoder_simulcast_proxy.h" -#include "media/engine/scopedvideoencoder.h" #include "media/engine/simulcast_encoder_adapter.h" #include "rtc_base/checks.h" diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 6ff9bc4e30..f09c91f753 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -777,6 +777,7 @@ if (rtc_include_tests) { "../../media:rtc_h264_profile_id", "../../media:rtc_internal_video_codecs", "../../media:rtc_media_base", + "../../media:rtc_simulcast_encoder_adapter", "../../media:rtc_vp9_profile", "../../rtc_base:rtc_base", "../../test:field_trial", diff --git a/video/BUILD.gn b/video/BUILD.gn index 5ac2383cc3..08aa53ee31 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -445,6 +445,7 @@ if (rtc_include_tests) { "../media:rtc_media", "../media:rtc_media_base", "../media:rtc_media_tests_utils", + "../media:rtc_simulcast_encoder_adapter", "../modules:module_api", "../modules/pacing", "../modules/rtp_rtcp",