1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2*d9f75844SAndroid Build Coastguard Worker# 3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 8*d9f75844SAndroid Build Coastguard Worker 9*d9f75844SAndroid Build Coastguard Workerimport("//build/config/linux/pkg_config.gni") 10*d9f75844SAndroid Build Coastguard Workerimport("//third_party/libaom/options.gni") 11*d9f75844SAndroid Build Coastguard Workerimport("../webrtc.gni") 12*d9f75844SAndroid Build Coastguard Worker 13*d9f75844SAndroid Build Coastguard Workergroup("media") { 14*d9f75844SAndroid Build Coastguard Worker deps = [] 15*d9f75844SAndroid Build Coastguard Worker if (!build_with_mozilla) { 16*d9f75844SAndroid Build Coastguard Worker deps += [ 17*d9f75844SAndroid Build Coastguard Worker ":rtc_media", 18*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 19*d9f75844SAndroid Build Coastguard Worker ] 20*d9f75844SAndroid Build Coastguard Worker } 21*d9f75844SAndroid Build Coastguard Worker} 22*d9f75844SAndroid Build Coastguard Worker 23*d9f75844SAndroid Build Coastguard Workerconfig("rtc_media_defines_config") { 24*d9f75844SAndroid Build Coastguard Worker defines = [ "HAVE_WEBRTC_VIDEO" ] 25*d9f75844SAndroid Build Coastguard Worker} 26*d9f75844SAndroid Build Coastguard Worker 27*d9f75844SAndroid Build Coastguard Workerrtc_source_set("rtc_media_config") { 28*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 29*d9f75844SAndroid Build Coastguard Worker sources = [ "base/media_config.h" ] 30*d9f75844SAndroid Build Coastguard Worker} 31*d9f75844SAndroid Build Coastguard Worker 32*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_sdp_video_format_utils") { 33*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 34*d9f75844SAndroid Build Coastguard Worker sources = [ 35*d9f75844SAndroid Build Coastguard Worker "base/sdp_video_format_utils.cc", 36*d9f75844SAndroid Build Coastguard Worker "base/sdp_video_format_utils.h", 37*d9f75844SAndroid Build Coastguard Worker ] 38*d9f75844SAndroid Build Coastguard Worker 39*d9f75844SAndroid Build Coastguard Worker deps = [ 40*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 41*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 42*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 43*d9f75844SAndroid Build Coastguard Worker ] 44*d9f75844SAndroid Build Coastguard Worker absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 45*d9f75844SAndroid Build Coastguard Worker} 46*d9f75844SAndroid Build Coastguard Worker 47*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_media_base") { 48*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 49*d9f75844SAndroid Build Coastguard Worker defines = [] 50*d9f75844SAndroid Build Coastguard Worker libs = [] 51*d9f75844SAndroid Build Coastguard Worker deps = [ 52*d9f75844SAndroid Build Coastguard Worker ":rtc_media_config", 53*d9f75844SAndroid Build Coastguard Worker "../api:array_view", 54*d9f75844SAndroid Build Coastguard Worker "../api:audio_options_api", 55*d9f75844SAndroid Build Coastguard Worker "../api:field_trials_view", 56*d9f75844SAndroid Build Coastguard Worker "../api:frame_transformer_interface", 57*d9f75844SAndroid Build Coastguard Worker "../api:media_stream_interface", 58*d9f75844SAndroid Build Coastguard Worker "../api:rtc_error", 59*d9f75844SAndroid Build Coastguard Worker "../api:rtp_parameters", 60*d9f75844SAndroid Build Coastguard Worker "../api:rtp_sender_interface", 61*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 62*d9f75844SAndroid Build Coastguard Worker "../api:sequence_checker", 63*d9f75844SAndroid Build Coastguard Worker "../api/audio:audio_frame_processor", 64*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:audio_codecs_api", 65*d9f75844SAndroid Build Coastguard Worker "../api/crypto:frame_decryptor_interface", 66*d9f75844SAndroid Build Coastguard Worker "../api/crypto:frame_encryptor_interface", 67*d9f75844SAndroid Build Coastguard Worker "../api/crypto:options", 68*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:pending_task_safety_flag", 69*d9f75844SAndroid Build Coastguard Worker "../api/transport:datagram_transport_interface", 70*d9f75844SAndroid Build Coastguard Worker "../api/transport:stun_types", 71*d9f75844SAndroid Build Coastguard Worker "../api/transport/rtp:rtp_source", 72*d9f75844SAndroid Build Coastguard Worker "../api/units:time_delta", 73*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 74*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocator_factory", 75*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 76*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 77*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 78*d9f75844SAndroid Build Coastguard Worker "../call:call_interfaces", 79*d9f75844SAndroid Build Coastguard Worker "../call:video_stream_api", 80*d9f75844SAndroid Build Coastguard Worker "../common_video", 81*d9f75844SAndroid Build Coastguard Worker "../modules/async_audio_processing", 82*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:audio_processing_statistics", 83*d9f75844SAndroid Build Coastguard Worker "../modules/rtp_rtcp:rtp_rtcp_format", 84*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 85*d9f75844SAndroid Build Coastguard Worker "../rtc_base:buffer", 86*d9f75844SAndroid Build Coastguard Worker "../rtc_base:byte_order", 87*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 88*d9f75844SAndroid Build Coastguard Worker "../rtc_base:copy_on_write_buffer", 89*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 90*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 91*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_task_queue", 92*d9f75844SAndroid Build Coastguard Worker "../rtc_base:sanitizer", 93*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket", 94*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 95*d9f75844SAndroid Build Coastguard Worker "../rtc_base:timeutils", 96*d9f75844SAndroid Build Coastguard Worker "../rtc_base/synchronization:mutex", 97*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:file_wrapper", 98*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:no_unique_address", 99*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 100*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/sigslot", 101*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 102*d9f75844SAndroid Build Coastguard Worker "../video/config:encoder_config", 103*d9f75844SAndroid Build Coastguard Worker ] 104*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 105*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 106*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/container:inlined_vector", 107*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 108*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 109*d9f75844SAndroid Build Coastguard Worker ] 110*d9f75844SAndroid Build Coastguard Worker sources = [ 111*d9f75844SAndroid Build Coastguard Worker "base/adapted_video_track_source.cc", 112*d9f75844SAndroid Build Coastguard Worker "base/adapted_video_track_source.h", 113*d9f75844SAndroid Build Coastguard Worker "base/audio_source.h", 114*d9f75844SAndroid Build Coastguard Worker "base/codec.cc", 115*d9f75844SAndroid Build Coastguard Worker "base/codec.h", 116*d9f75844SAndroid Build Coastguard Worker "base/delayable.h", 117*d9f75844SAndroid Build Coastguard Worker "base/media_channel.cc", 118*d9f75844SAndroid Build Coastguard Worker "base/media_channel.h", 119*d9f75844SAndroid Build Coastguard Worker "base/media_constants.cc", 120*d9f75844SAndroid Build Coastguard Worker "base/media_constants.h", 121*d9f75844SAndroid Build Coastguard Worker "base/media_engine.cc", 122*d9f75844SAndroid Build Coastguard Worker "base/media_engine.h", 123*d9f75844SAndroid Build Coastguard Worker "base/rid_description.cc", 124*d9f75844SAndroid Build Coastguard Worker "base/rid_description.h", 125*d9f75844SAndroid Build Coastguard Worker "base/rtp_utils.cc", 126*d9f75844SAndroid Build Coastguard Worker "base/rtp_utils.h", 127*d9f75844SAndroid Build Coastguard Worker "base/stream_params.cc", 128*d9f75844SAndroid Build Coastguard Worker "base/stream_params.h", 129*d9f75844SAndroid Build Coastguard Worker "base/turn_utils.cc", 130*d9f75844SAndroid Build Coastguard Worker "base/turn_utils.h", 131*d9f75844SAndroid Build Coastguard Worker "base/video_adapter.cc", 132*d9f75844SAndroid Build Coastguard Worker "base/video_adapter.h", 133*d9f75844SAndroid Build Coastguard Worker "base/video_broadcaster.cc", 134*d9f75844SAndroid Build Coastguard Worker "base/video_broadcaster.h", 135*d9f75844SAndroid Build Coastguard Worker "base/video_common.cc", 136*d9f75844SAndroid Build Coastguard Worker "base/video_common.h", 137*d9f75844SAndroid Build Coastguard Worker "base/video_source_base.cc", 138*d9f75844SAndroid Build Coastguard Worker "base/video_source_base.h", 139*d9f75844SAndroid Build Coastguard Worker ] 140*d9f75844SAndroid Build Coastguard Worker} 141*d9f75844SAndroid Build Coastguard Worker 142*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_simulcast_encoder_adapter") { 143*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 144*d9f75844SAndroid Build Coastguard Worker defines = [] 145*d9f75844SAndroid Build Coastguard Worker libs = [] 146*d9f75844SAndroid Build Coastguard Worker sources = [ 147*d9f75844SAndroid Build Coastguard Worker "engine/simulcast_encoder_adapter.cc", 148*d9f75844SAndroid Build Coastguard Worker "engine/simulcast_encoder_adapter.h", 149*d9f75844SAndroid Build Coastguard Worker ] 150*d9f75844SAndroid Build Coastguard Worker deps = [ 151*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 152*d9f75844SAndroid Build Coastguard Worker "../api:fec_controller_api", 153*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 154*d9f75844SAndroid Build Coastguard Worker "../api:sequence_checker", 155*d9f75844SAndroid Build Coastguard Worker "../api/video:video_codec_constants", 156*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 157*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 158*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:rtc_software_fallback_wrappers", 159*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 160*d9f75844SAndroid Build Coastguard Worker "../call:video_stream_api", 161*d9f75844SAndroid Build Coastguard Worker "../common_video", 162*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 163*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_coding_utility", 164*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 165*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 166*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:encoder_info_settings", 167*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:rate_control_settings", 168*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:no_unique_address", 169*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 170*d9f75844SAndroid Build Coastguard Worker "../system_wrappers", 171*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 172*d9f75844SAndroid Build Coastguard Worker ] 173*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 174*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 175*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 176*d9f75844SAndroid Build Coastguard Worker ] 177*d9f75844SAndroid Build Coastguard Worker} 178*d9f75844SAndroid Build Coastguard Worker 179*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_encoder_simulcast_proxy") { 180*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 181*d9f75844SAndroid Build Coastguard Worker defines = [] 182*d9f75844SAndroid Build Coastguard Worker libs = [] 183*d9f75844SAndroid Build Coastguard Worker sources = [ 184*d9f75844SAndroid Build Coastguard Worker "engine/encoder_simulcast_proxy.cc", 185*d9f75844SAndroid Build Coastguard Worker "engine/encoder_simulcast_proxy.h", 186*d9f75844SAndroid Build Coastguard Worker ] 187*d9f75844SAndroid Build Coastguard Worker deps = [ 188*d9f75844SAndroid Build Coastguard Worker ":rtc_simulcast_encoder_adapter", 189*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 190*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 191*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 192*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 193*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 194*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 195*d9f75844SAndroid Build Coastguard Worker ] 196*d9f75844SAndroid Build Coastguard Worker} 197*d9f75844SAndroid Build Coastguard Worker 198*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_internal_video_codecs") { 199*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 200*d9f75844SAndroid Build Coastguard Worker allow_poison = [ "software_video_codecs" ] 201*d9f75844SAndroid Build Coastguard Worker defines = [] 202*d9f75844SAndroid Build Coastguard Worker libs = [] 203*d9f75844SAndroid Build Coastguard Worker deps = [ 204*d9f75844SAndroid Build Coastguard Worker ":rtc_encoder_simulcast_proxy", 205*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 206*d9f75844SAndroid Build Coastguard Worker ":rtc_simulcast_encoder_adapter", 207*d9f75844SAndroid Build Coastguard Worker "../api/video:encoded_image", 208*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 209*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 210*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 211*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:rtc_software_fallback_wrappers", 212*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 213*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_encoder_factory_template", 214*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter", 215*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter", 216*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_encoder_factory_template_open_h264_adapter", 217*d9f75844SAndroid Build Coastguard Worker "../call:call_interfaces", 218*d9f75844SAndroid Build Coastguard Worker "../call:video_stream_api", 219*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 220*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_h264", 221*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_multiplex", 222*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_vp8", 223*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_vp9", 224*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 225*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 226*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 227*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 228*d9f75844SAndroid Build Coastguard Worker "../test:fake_video_codecs", 229*d9f75844SAndroid Build Coastguard Worker ] 230*d9f75844SAndroid Build Coastguard Worker 231*d9f75844SAndroid Build Coastguard Worker if (enable_libaom) { 232*d9f75844SAndroid Build Coastguard Worker defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ] 233*d9f75844SAndroid Build Coastguard Worker deps += [ 234*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter", 235*d9f75844SAndroid Build Coastguard Worker ] 236*d9f75844SAndroid Build Coastguard Worker } 237*d9f75844SAndroid Build Coastguard Worker 238*d9f75844SAndroid Build Coastguard Worker if (rtc_include_dav1d_in_internal_decoder_factory) { 239*d9f75844SAndroid Build Coastguard Worker deps += [ "../modules/video_coding/codecs/av1:dav1d_decoder" ] 240*d9f75844SAndroid Build Coastguard Worker } 241*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 242*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 243*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 244*d9f75844SAndroid Build Coastguard Worker ] 245*d9f75844SAndroid Build Coastguard Worker sources = [ 246*d9f75844SAndroid Build Coastguard Worker "engine/fake_video_codec_factory.cc", 247*d9f75844SAndroid Build Coastguard Worker "engine/fake_video_codec_factory.h", 248*d9f75844SAndroid Build Coastguard Worker "engine/internal_decoder_factory.cc", 249*d9f75844SAndroid Build Coastguard Worker "engine/internal_decoder_factory.h", 250*d9f75844SAndroid Build Coastguard Worker "engine/internal_encoder_factory.cc", 251*d9f75844SAndroid Build Coastguard Worker "engine/internal_encoder_factory.h", 252*d9f75844SAndroid Build Coastguard Worker "engine/multiplex_codec_factory.cc", 253*d9f75844SAndroid Build Coastguard Worker "engine/multiplex_codec_factory.h", 254*d9f75844SAndroid Build Coastguard Worker 255*d9f75844SAndroid Build Coastguard Worker # TODO(bugs.webrtc.org/7925): stop exporting this header once downstream 256*d9f75844SAndroid Build Coastguard Worker # targets depend on :rtc_encoder_simulcast_proxy directly. 257*d9f75844SAndroid Build Coastguard Worker "engine/encoder_simulcast_proxy.h", 258*d9f75844SAndroid Build Coastguard Worker ] 259*d9f75844SAndroid Build Coastguard Worker} 260*d9f75844SAndroid Build Coastguard Worker 261*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_audio_video") { 262*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 263*d9f75844SAndroid Build Coastguard Worker allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. 264*d9f75844SAndroid Build Coastguard Worker defines = [] 265*d9f75844SAndroid Build Coastguard Worker libs = [] 266*d9f75844SAndroid Build Coastguard Worker deps = [ 267*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 268*d9f75844SAndroid Build Coastguard Worker "../api:array_view", 269*d9f75844SAndroid Build Coastguard Worker "../api:call_api", 270*d9f75844SAndroid Build Coastguard Worker "../api:field_trials_view", 271*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 272*d9f75844SAndroid Build Coastguard Worker "../api:media_stream_interface", 273*d9f75844SAndroid Build Coastguard Worker "../api:rtp_parameters", 274*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 275*d9f75844SAndroid Build Coastguard Worker "../api:sequence_checker", 276*d9f75844SAndroid Build Coastguard Worker "../api:transport_api", 277*d9f75844SAndroid Build Coastguard Worker "../api/audio:audio_frame_processor", 278*d9f75844SAndroid Build Coastguard Worker "../api/audio:audio_mixer_api", 279*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:audio_codecs_api", 280*d9f75844SAndroid Build Coastguard Worker "../api/task_queue", 281*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:pending_task_safety_flag", 282*d9f75844SAndroid Build Coastguard Worker "../api/transport:bitrate_settings", 283*d9f75844SAndroid Build Coastguard Worker "../api/transport:field_trial_based_config", 284*d9f75844SAndroid Build Coastguard Worker "../api/transport/rtp:rtp_source", 285*d9f75844SAndroid Build Coastguard Worker "../api/units:data_rate", 286*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 287*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocator_factory", 288*d9f75844SAndroid Build Coastguard Worker "../api/video:video_codec_constants", 289*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 290*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 291*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:rtc_software_fallback_wrappers", 292*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 293*d9f75844SAndroid Build Coastguard Worker "../call", 294*d9f75844SAndroid Build Coastguard Worker "../call:call_interfaces", 295*d9f75844SAndroid Build Coastguard Worker "../call:video_stream_api", 296*d9f75844SAndroid Build Coastguard Worker "../common_video", 297*d9f75844SAndroid Build Coastguard Worker "../modules/async_audio_processing:async_audio_processing", 298*d9f75844SAndroid Build Coastguard Worker "../modules/audio_device", 299*d9f75844SAndroid Build Coastguard Worker "../modules/audio_device:audio_device_impl", 300*d9f75844SAndroid Build Coastguard Worker "../modules/audio_mixer:audio_mixer_impl", 301*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 302*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing/aec_dump", 303*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing/agc:gain_control_interface", 304*d9f75844SAndroid Build Coastguard Worker "../modules/rtp_rtcp:rtp_rtcp_format", 305*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding", 306*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 307*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_coding_utility", 308*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_vp9_helpers", 309*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding/svc:scalability_mode_util", 310*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 311*d9f75844SAndroid Build Coastguard Worker "../rtc_base:audio_format_to_string", 312*d9f75844SAndroid Build Coastguard Worker "../rtc_base:buffer", 313*d9f75844SAndroid Build Coastguard Worker "../rtc_base:byte_order", 314*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 315*d9f75844SAndroid Build Coastguard Worker "../rtc_base:copy_on_write_buffer", 316*d9f75844SAndroid Build Coastguard Worker "../rtc_base:event_tracer", 317*d9f75844SAndroid Build Coastguard Worker "../rtc_base:ignore_wundef", 318*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 319*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 320*d9f75844SAndroid Build Coastguard Worker "../rtc_base:race_checker", 321*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_task_queue", 322*d9f75844SAndroid Build Coastguard Worker "../rtc_base:safe_conversions", 323*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 324*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 325*d9f75844SAndroid Build Coastguard Worker "../rtc_base:timeutils", 326*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:field_trial_parser", 327*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:min_video_bitrate_experiment", 328*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:normalize_simulcast_size_experiment", 329*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:rate_control_settings", 330*d9f75844SAndroid Build Coastguard Worker "../rtc_base/synchronization:mutex", 331*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:no_unique_address", 332*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 333*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/base64", 334*d9f75844SAndroid Build Coastguard Worker "../system_wrappers", 335*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:metrics", 336*d9f75844SAndroid Build Coastguard Worker ] 337*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 338*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 339*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 340*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 341*d9f75844SAndroid Build Coastguard Worker ] 342*d9f75844SAndroid Build Coastguard Worker 343*d9f75844SAndroid Build Coastguard Worker sources = [ 344*d9f75844SAndroid Build Coastguard Worker "engine/adm_helpers.cc", 345*d9f75844SAndroid Build Coastguard Worker "engine/adm_helpers.h", 346*d9f75844SAndroid Build Coastguard Worker "engine/null_webrtc_video_engine.h", 347*d9f75844SAndroid Build Coastguard Worker "engine/payload_type_mapper.cc", 348*d9f75844SAndroid Build Coastguard Worker "engine/payload_type_mapper.h", 349*d9f75844SAndroid Build Coastguard Worker "engine/unhandled_packets_buffer.cc", 350*d9f75844SAndroid Build Coastguard Worker "engine/unhandled_packets_buffer.h", 351*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_media_engine.cc", 352*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_media_engine.h", 353*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_video_engine.cc", 354*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_video_engine.h", 355*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_voice_engine.cc", 356*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_voice_engine.h", 357*d9f75844SAndroid Build Coastguard Worker ] 358*d9f75844SAndroid Build Coastguard Worker 359*d9f75844SAndroid Build Coastguard Worker public_configs = [] 360*d9f75844SAndroid Build Coastguard Worker if (!build_with_chromium) { 361*d9f75844SAndroid Build Coastguard Worker public_configs += [ ":rtc_media_defines_config" ] 362*d9f75844SAndroid Build Coastguard Worker deps += [ "../modules/video_capture:video_capture_internal_impl" ] 363*d9f75844SAndroid Build Coastguard Worker } 364*d9f75844SAndroid Build Coastguard Worker if (rtc_enable_protobuf) { 365*d9f75844SAndroid Build Coastguard Worker deps += [ 366*d9f75844SAndroid Build Coastguard Worker "../modules/audio_coding:ana_config_proto", 367*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing/aec_dump:aec_dump_impl", 368*d9f75844SAndroid Build Coastguard Worker ] 369*d9f75844SAndroid Build Coastguard Worker } else { 370*d9f75844SAndroid Build Coastguard Worker deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ] 371*d9f75844SAndroid Build Coastguard Worker } 372*d9f75844SAndroid Build Coastguard Worker} 373*d9f75844SAndroid Build Coastguard Worker 374*d9f75844SAndroid Build Coastguard Worker# Heavy but optional helper for unittests and webrtc users who prefer to use 375*d9f75844SAndroid Build Coastguard Worker# defaults factories or do not worry about extra dependencies and binary size. 376*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_media_engine_defaults") { 377*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 378*d9f75844SAndroid Build Coastguard Worker allow_poison = [ 379*d9f75844SAndroid Build Coastguard Worker "audio_codecs", 380*d9f75844SAndroid Build Coastguard Worker "default_task_queue", 381*d9f75844SAndroid Build Coastguard Worker "software_video_codecs", 382*d9f75844SAndroid Build Coastguard Worker ] 383*d9f75844SAndroid Build Coastguard Worker sources = [ 384*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_media_engine_defaults.cc", 385*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_media_engine_defaults.h", 386*d9f75844SAndroid Build Coastguard Worker ] 387*d9f75844SAndroid Build Coastguard Worker deps = [ 388*d9f75844SAndroid Build Coastguard Worker ":rtc_audio_video", 389*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_decoder_factory", 390*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_encoder_factory", 391*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:default_task_queue_factory", 392*d9f75844SAndroid Build Coastguard Worker "../api/video:builtin_video_bitrate_allocator_factory", 393*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_decoder_factory", 394*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_encoder_factory", 395*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 396*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 397*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:rtc_export", 398*d9f75844SAndroid Build Coastguard Worker ] 399*d9f75844SAndroid Build Coastguard Worker} 400*d9f75844SAndroid Build Coastguard Worker 401*d9f75844SAndroid Build Coastguard Workerrtc_source_set("rtc_data_sctp_transport_internal") { 402*d9f75844SAndroid Build Coastguard Worker sources = [ "sctp/sctp_transport_internal.h" ] 403*d9f75844SAndroid Build Coastguard Worker deps = [ 404*d9f75844SAndroid Build Coastguard Worker "../api/transport:datagram_transport_interface", 405*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media_base", 406*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 407*d9f75844SAndroid Build Coastguard Worker "../rtc_base:copy_on_write_buffer", 408*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 409*d9f75844SAndroid Build Coastguard Worker ] 410*d9f75844SAndroid Build Coastguard Worker} 411*d9f75844SAndroid Build Coastguard Worker 412*d9f75844SAndroid Build Coastguard Workerif (rtc_build_dcsctp) { 413*d9f75844SAndroid Build Coastguard Worker rtc_library("rtc_data_dcsctp_transport") { 414*d9f75844SAndroid Build Coastguard Worker sources = [ 415*d9f75844SAndroid Build Coastguard Worker "sctp/dcsctp_transport.cc", 416*d9f75844SAndroid Build Coastguard Worker "sctp/dcsctp_transport.h", 417*d9f75844SAndroid Build Coastguard Worker ] 418*d9f75844SAndroid Build Coastguard Worker deps = [ 419*d9f75844SAndroid Build Coastguard Worker ":rtc_data_sctp_transport_internal", 420*d9f75844SAndroid Build Coastguard Worker "../api:array_view", 421*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:pending_task_safety_flag", 422*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:task_queue", 423*d9f75844SAndroid Build Coastguard Worker "../media:rtc_media_base", 424*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:factory", 425*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:socket", 426*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:types", 427*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:utils", 428*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/timer:task_queue_timeout", 429*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 430*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 431*d9f75844SAndroid Build Coastguard Worker "../rtc_base:copy_on_write_buffer", 432*d9f75844SAndroid Build Coastguard Worker "../rtc_base:event_tracer", 433*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 434*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 435*d9f75844SAndroid Build Coastguard Worker "../rtc_base:random", 436*d9f75844SAndroid Build Coastguard Worker "../rtc_base:socket", 437*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 438*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 439*d9f75844SAndroid Build Coastguard Worker "../rtc_base/containers:flat_map", 440*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/sigslot:sigslot", 441*d9f75844SAndroid Build Coastguard Worker "../system_wrappers", 442*d9f75844SAndroid Build Coastguard Worker ] 443*d9f75844SAndroid Build Coastguard Worker absl_deps += [ 444*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings:strings", 445*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 446*d9f75844SAndroid Build Coastguard Worker ] 447*d9f75844SAndroid Build Coastguard Worker } 448*d9f75844SAndroid Build Coastguard Worker} 449*d9f75844SAndroid Build Coastguard Worker 450*d9f75844SAndroid Build Coastguard Workerrtc_library("rtc_data_sctp_transport_factory") { 451*d9f75844SAndroid Build Coastguard Worker defines = [] 452*d9f75844SAndroid Build Coastguard Worker sources = [ 453*d9f75844SAndroid Build Coastguard Worker "sctp/sctp_transport_factory.cc", 454*d9f75844SAndroid Build Coastguard Worker "sctp/sctp_transport_factory.h", 455*d9f75844SAndroid Build Coastguard Worker ] 456*d9f75844SAndroid Build Coastguard Worker deps = [ 457*d9f75844SAndroid Build Coastguard Worker ":rtc_data_sctp_transport_internal", 458*d9f75844SAndroid Build Coastguard Worker "../api/transport:sctp_transport_factory_interface", 459*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 460*d9f75844SAndroid Build Coastguard Worker "../rtc_base/system:unused", 461*d9f75844SAndroid Build Coastguard Worker ] 462*d9f75844SAndroid Build Coastguard Worker 463*d9f75844SAndroid Build Coastguard Worker if (rtc_enable_sctp) { 464*d9f75844SAndroid Build Coastguard Worker assert(rtc_build_dcsctp, "An SCTP backend is required to enable SCTP") 465*d9f75844SAndroid Build Coastguard Worker } 466*d9f75844SAndroid Build Coastguard Worker 467*d9f75844SAndroid Build Coastguard Worker if (rtc_build_dcsctp) { 468*d9f75844SAndroid Build Coastguard Worker defines += [ "WEBRTC_HAVE_DCSCTP" ] 469*d9f75844SAndroid Build Coastguard Worker deps += [ 470*d9f75844SAndroid Build Coastguard Worker ":rtc_data_dcsctp_transport", 471*d9f75844SAndroid Build Coastguard Worker "../system_wrappers", 472*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 473*d9f75844SAndroid Build Coastguard Worker ] 474*d9f75844SAndroid Build Coastguard Worker } 475*d9f75844SAndroid Build Coastguard Worker} 476*d9f75844SAndroid Build Coastguard Worker 477*d9f75844SAndroid Build Coastguard Workerrtc_source_set("rtc_media") { 478*d9f75844SAndroid Build Coastguard Worker visibility = [ "*" ] 479*d9f75844SAndroid Build Coastguard Worker allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove. 480*d9f75844SAndroid Build Coastguard Worker deps = [ ":rtc_audio_video" ] 481*d9f75844SAndroid Build Coastguard Worker} 482*d9f75844SAndroid Build Coastguard Worker 483*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) { 484*d9f75844SAndroid Build Coastguard Worker rtc_library("rtc_media_tests_utils") { 485*d9f75844SAndroid Build Coastguard Worker testonly = true 486*d9f75844SAndroid Build Coastguard Worker 487*d9f75844SAndroid Build Coastguard Worker defines = [] 488*d9f75844SAndroid Build Coastguard Worker deps = [ 489*d9f75844SAndroid Build Coastguard Worker ":rtc_audio_video", 490*d9f75844SAndroid Build Coastguard Worker ":rtc_internal_video_codecs", 491*d9f75844SAndroid Build Coastguard Worker ":rtc_media", 492*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 493*d9f75844SAndroid Build Coastguard Worker ":rtc_simulcast_encoder_adapter", 494*d9f75844SAndroid Build Coastguard Worker "../api:call_api", 495*d9f75844SAndroid Build Coastguard Worker "../api:fec_controller_api", 496*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 497*d9f75844SAndroid Build Coastguard Worker "../api/task_queue", 498*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:pending_task_safety_flag", 499*d9f75844SAndroid Build Coastguard Worker "../api/transport:field_trial_based_config", 500*d9f75844SAndroid Build Coastguard Worker "../api/video:encoded_image", 501*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 502*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 503*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 504*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 505*d9f75844SAndroid Build Coastguard Worker "../call:call_interfaces", 506*d9f75844SAndroid Build Coastguard Worker "../call:mock_rtp_interfaces", 507*d9f75844SAndroid Build Coastguard Worker "../call:video_stream_api", 508*d9f75844SAndroid Build Coastguard Worker "../common_video", 509*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing", 510*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 511*d9f75844SAndroid Build Coastguard Worker "../modules/rtp_rtcp:rtp_rtcp_format", 512*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 513*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_coding_utility", 514*d9f75844SAndroid Build Coastguard Worker "../p2p:rtc_p2p", 515*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 516*d9f75844SAndroid Build Coastguard Worker "../rtc_base:buffer", 517*d9f75844SAndroid Build Coastguard Worker "../rtc_base:byte_order", 518*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 519*d9f75844SAndroid Build Coastguard Worker "../rtc_base:copy_on_write_buffer", 520*d9f75844SAndroid Build Coastguard Worker "../rtc_base:gunit_helpers", 521*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 522*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_event", 523*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_task_queue", 524*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 525*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 526*d9f75844SAndroid Build Coastguard Worker "../rtc_base:timeutils", 527*d9f75844SAndroid Build Coastguard Worker "../rtc_base/synchronization:mutex", 528*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/sigslot", 529*d9f75844SAndroid Build Coastguard Worker "../test:scoped_key_value_config", 530*d9f75844SAndroid Build Coastguard Worker "../test:test_support", 531*d9f75844SAndroid Build Coastguard Worker "../video/config:streams_config", 532*d9f75844SAndroid Build Coastguard Worker "//testing/gtest", 533*d9f75844SAndroid Build Coastguard Worker ] 534*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 535*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 536*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 537*d9f75844SAndroid Build Coastguard Worker ] 538*d9f75844SAndroid Build Coastguard Worker sources = [ 539*d9f75844SAndroid Build Coastguard Worker "base/fake_frame_source.cc", 540*d9f75844SAndroid Build Coastguard Worker "base/fake_frame_source.h", 541*d9f75844SAndroid Build Coastguard Worker "base/fake_media_engine.cc", 542*d9f75844SAndroid Build Coastguard Worker "base/fake_media_engine.h", 543*d9f75844SAndroid Build Coastguard Worker "base/fake_network_interface.h", 544*d9f75844SAndroid Build Coastguard Worker "base/fake_rtp.cc", 545*d9f75844SAndroid Build Coastguard Worker "base/fake_rtp.h", 546*d9f75844SAndroid Build Coastguard Worker "base/fake_video_renderer.cc", 547*d9f75844SAndroid Build Coastguard Worker "base/fake_video_renderer.h", 548*d9f75844SAndroid Build Coastguard Worker "base/test_utils.cc", 549*d9f75844SAndroid Build Coastguard Worker "base/test_utils.h", 550*d9f75844SAndroid Build Coastguard Worker "engine/fake_webrtc_call.cc", 551*d9f75844SAndroid Build Coastguard Worker "engine/fake_webrtc_call.h", 552*d9f75844SAndroid Build Coastguard Worker "engine/fake_webrtc_video_engine.cc", 553*d9f75844SAndroid Build Coastguard Worker "engine/fake_webrtc_video_engine.h", 554*d9f75844SAndroid Build Coastguard Worker ] 555*d9f75844SAndroid Build Coastguard Worker } 556*d9f75844SAndroid Build Coastguard Worker 557*d9f75844SAndroid Build Coastguard Worker if (!build_with_chromium) { 558*d9f75844SAndroid Build Coastguard Worker rtc_media_unittests_resources = [ 559*d9f75844SAndroid Build Coastguard Worker "../resources/media/captured-320x240-2s-48.frames", 560*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces.1280x720_P420.yuv", 561*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces_I400.jpg", 562*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces_I411.jpg", 563*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces_I420.jpg", 564*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces_I422.jpg", 565*d9f75844SAndroid Build Coastguard Worker "../resources/media/faces_I444.jpg", 566*d9f75844SAndroid Build Coastguard Worker ] 567*d9f75844SAndroid Build Coastguard Worker 568*d9f75844SAndroid Build Coastguard Worker if (is_ios) { 569*d9f75844SAndroid Build Coastguard Worker bundle_data("rtc_media_unittests_bundle_data") { 570*d9f75844SAndroid Build Coastguard Worker testonly = true 571*d9f75844SAndroid Build Coastguard Worker sources = rtc_media_unittests_resources 572*d9f75844SAndroid Build Coastguard Worker outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 573*d9f75844SAndroid Build Coastguard Worker } 574*d9f75844SAndroid Build Coastguard Worker } 575*d9f75844SAndroid Build Coastguard Worker 576*d9f75844SAndroid Build Coastguard Worker rtc_test("rtc_media_unittests") { 577*d9f75844SAndroid Build Coastguard Worker testonly = true 578*d9f75844SAndroid Build Coastguard Worker 579*d9f75844SAndroid Build Coastguard Worker defines = [] 580*d9f75844SAndroid Build Coastguard Worker deps = [ 581*d9f75844SAndroid Build Coastguard Worker ":rtc_audio_video", 582*d9f75844SAndroid Build Coastguard Worker ":rtc_encoder_simulcast_proxy", 583*d9f75844SAndroid Build Coastguard Worker ":rtc_internal_video_codecs", 584*d9f75844SAndroid Build Coastguard Worker ":rtc_media", 585*d9f75844SAndroid Build Coastguard Worker ":rtc_media_base", 586*d9f75844SAndroid Build Coastguard Worker ":rtc_media_engine_defaults", 587*d9f75844SAndroid Build Coastguard Worker ":rtc_media_tests_utils", 588*d9f75844SAndroid Build Coastguard Worker ":rtc_sdp_video_format_utils", 589*d9f75844SAndroid Build Coastguard Worker ":rtc_simulcast_encoder_adapter", 590*d9f75844SAndroid Build Coastguard Worker "../api:create_simulcast_test_fixture_api", 591*d9f75844SAndroid Build Coastguard Worker "../api:libjingle_peerconnection_api", 592*d9f75844SAndroid Build Coastguard Worker "../api:mock_encoder_selector", 593*d9f75844SAndroid Build Coastguard Worker "../api:mock_video_bitrate_allocator", 594*d9f75844SAndroid Build Coastguard Worker "../api:mock_video_bitrate_allocator_factory", 595*d9f75844SAndroid Build Coastguard Worker "../api:mock_video_codec_factory", 596*d9f75844SAndroid Build Coastguard Worker "../api:mock_video_encoder", 597*d9f75844SAndroid Build Coastguard Worker "../api:rtp_parameters", 598*d9f75844SAndroid Build Coastguard Worker "../api:scoped_refptr", 599*d9f75844SAndroid Build Coastguard Worker "../api:simulcast_test_fixture_api", 600*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_decoder_factory", 601*d9f75844SAndroid Build Coastguard Worker "../api/audio_codecs:builtin_audio_encoder_factory", 602*d9f75844SAndroid Build Coastguard Worker "../api/rtc_event_log", 603*d9f75844SAndroid Build Coastguard Worker "../api/task_queue", 604*d9f75844SAndroid Build Coastguard Worker "../api/task_queue:default_task_queue_factory", 605*d9f75844SAndroid Build Coastguard Worker "../api/test/video:function_video_factory", 606*d9f75844SAndroid Build Coastguard Worker "../api/transport:field_trial_based_config", 607*d9f75844SAndroid Build Coastguard Worker "../api/units:time_delta", 608*d9f75844SAndroid Build Coastguard Worker "../api/units:timestamp", 609*d9f75844SAndroid Build Coastguard Worker "../api/video:builtin_video_bitrate_allocator_factory", 610*d9f75844SAndroid Build Coastguard Worker "../api/video:resolution", 611*d9f75844SAndroid Build Coastguard Worker "../api/video:video_bitrate_allocation", 612*d9f75844SAndroid Build Coastguard Worker "../api/video:video_codec_constants", 613*d9f75844SAndroid Build Coastguard Worker "../api/video:video_frame", 614*d9f75844SAndroid Build Coastguard Worker "../api/video:video_rtp_headers", 615*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_decoder_factory", 616*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:builtin_video_encoder_factory", 617*d9f75844SAndroid Build Coastguard Worker "../api/video_codecs:video_codecs_api", 618*d9f75844SAndroid Build Coastguard Worker "../audio", 619*d9f75844SAndroid Build Coastguard Worker "../call:call_interfaces", 620*d9f75844SAndroid Build Coastguard Worker "../common_video", 621*d9f75844SAndroid Build Coastguard Worker "../modules/audio_device:mock_audio_device", 622*d9f75844SAndroid Build Coastguard Worker "../modules/audio_mixer:audio_mixer_impl", 623*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing", 624*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:api", 625*d9f75844SAndroid Build Coastguard Worker "../modules/audio_processing:mocks", 626*d9f75844SAndroid Build Coastguard Worker "../modules/rtp_rtcp", 627*d9f75844SAndroid Build Coastguard Worker "../modules/rtp_rtcp:rtp_rtcp_format", 628*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:simulcast_test_fixture_impl", 629*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:video_codec_interface", 630*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_h264", 631*d9f75844SAndroid Build Coastguard Worker "../modules/video_coding:webrtc_vp8", 632*d9f75844SAndroid Build Coastguard Worker "../p2p:p2p_test_utils", 633*d9f75844SAndroid Build Coastguard Worker "../rtc_base", 634*d9f75844SAndroid Build Coastguard Worker "../rtc_base:byte_order", 635*d9f75844SAndroid Build Coastguard Worker "../rtc_base:checks", 636*d9f75844SAndroid Build Coastguard Worker "../rtc_base:gunit_helpers", 637*d9f75844SAndroid Build Coastguard Worker "../rtc_base:logging", 638*d9f75844SAndroid Build Coastguard Worker "../rtc_base:macromagic", 639*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_base_tests_utils", 640*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_event", 641*d9f75844SAndroid Build Coastguard Worker "../rtc_base:rtc_task_queue", 642*d9f75844SAndroid Build Coastguard Worker "../rtc_base:safe_conversions", 643*d9f75844SAndroid Build Coastguard Worker "../rtc_base:stringutils", 644*d9f75844SAndroid Build Coastguard Worker "../rtc_base:threading", 645*d9f75844SAndroid Build Coastguard Worker "../rtc_base:timeutils", 646*d9f75844SAndroid Build Coastguard Worker "../rtc_base/experiments:min_video_bitrate_experiment", 647*d9f75844SAndroid Build Coastguard Worker "../rtc_base/synchronization:mutex", 648*d9f75844SAndroid Build Coastguard Worker "../rtc_base/third_party/sigslot", 649*d9f75844SAndroid Build Coastguard Worker "../system_wrappers:field_trial", 650*d9f75844SAndroid Build Coastguard Worker "../test:audio_codec_mocks", 651*d9f75844SAndroid Build Coastguard Worker "../test:fake_video_codecs", 652*d9f75844SAndroid Build Coastguard Worker "../test:field_trial", 653*d9f75844SAndroid Build Coastguard Worker "../test:rtp_test_utils", 654*d9f75844SAndroid Build Coastguard Worker "../test:scoped_key_value_config", 655*d9f75844SAndroid Build Coastguard Worker "../test:test_main", 656*d9f75844SAndroid Build Coastguard Worker "../test:test_support", 657*d9f75844SAndroid Build Coastguard Worker "../test:video_test_common", 658*d9f75844SAndroid Build Coastguard Worker "../test/time_controller", 659*d9f75844SAndroid Build Coastguard Worker "../video/config:streams_config", 660*d9f75844SAndroid Build Coastguard Worker ] 661*d9f75844SAndroid Build Coastguard Worker 662*d9f75844SAndroid Build Coastguard Worker if (enable_libaom) { 663*d9f75844SAndroid Build Coastguard Worker defines += [ "RTC_USE_LIBAOM_AV1_ENCODER" ] 664*d9f75844SAndroid Build Coastguard Worker } 665*d9f75844SAndroid Build Coastguard Worker 666*d9f75844SAndroid Build Coastguard Worker absl_deps = [ 667*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/algorithm:container", 668*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/memory", 669*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/strings", 670*d9f75844SAndroid Build Coastguard Worker "//third_party/abseil-cpp/absl/types:optional", 671*d9f75844SAndroid Build Coastguard Worker ] 672*d9f75844SAndroid Build Coastguard Worker sources = [ 673*d9f75844SAndroid Build Coastguard Worker "base/codec_unittest.cc", 674*d9f75844SAndroid Build Coastguard Worker "base/media_engine_unittest.cc", 675*d9f75844SAndroid Build Coastguard Worker "base/rtp_utils_unittest.cc", 676*d9f75844SAndroid Build Coastguard Worker "base/sdp_video_format_utils_unittest.cc", 677*d9f75844SAndroid Build Coastguard Worker "base/stream_params_unittest.cc", 678*d9f75844SAndroid Build Coastguard Worker "base/turn_utils_unittest.cc", 679*d9f75844SAndroid Build Coastguard Worker "base/video_adapter_unittest.cc", 680*d9f75844SAndroid Build Coastguard Worker "base/video_broadcaster_unittest.cc", 681*d9f75844SAndroid Build Coastguard Worker "base/video_common_unittest.cc", 682*d9f75844SAndroid Build Coastguard Worker "engine/encoder_simulcast_proxy_unittest.cc", 683*d9f75844SAndroid Build Coastguard Worker "engine/internal_decoder_factory_unittest.cc", 684*d9f75844SAndroid Build Coastguard Worker "engine/internal_encoder_factory_unittest.cc", 685*d9f75844SAndroid Build Coastguard Worker "engine/multiplex_codec_factory_unittest.cc", 686*d9f75844SAndroid Build Coastguard Worker "engine/null_webrtc_video_engine_unittest.cc", 687*d9f75844SAndroid Build Coastguard Worker "engine/payload_type_mapper_unittest.cc", 688*d9f75844SAndroid Build Coastguard Worker "engine/simulcast_encoder_adapter_unittest.cc", 689*d9f75844SAndroid Build Coastguard Worker "engine/unhandled_packets_buffer_unittest.cc", 690*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_media_engine_unittest.cc", 691*d9f75844SAndroid Build Coastguard Worker "engine/webrtc_video_engine_unittest.cc", 692*d9f75844SAndroid Build Coastguard Worker ] 693*d9f75844SAndroid Build Coastguard Worker 694*d9f75844SAndroid Build Coastguard Worker # TODO(kthelgason): Reenable this test on iOS. 695*d9f75844SAndroid Build Coastguard Worker # See bugs.webrtc.org/5569 696*d9f75844SAndroid Build Coastguard Worker if (!is_ios) { 697*d9f75844SAndroid Build Coastguard Worker sources += [ "engine/webrtc_voice_engine_unittest.cc" ] 698*d9f75844SAndroid Build Coastguard Worker } 699*d9f75844SAndroid Build Coastguard Worker 700*d9f75844SAndroid Build Coastguard Worker if (rtc_opus_support_120ms_ptime) { 701*d9f75844SAndroid Build Coastguard Worker defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=1" ] 702*d9f75844SAndroid Build Coastguard Worker } else { 703*d9f75844SAndroid Build Coastguard Worker defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=0" ] 704*d9f75844SAndroid Build Coastguard Worker } 705*d9f75844SAndroid Build Coastguard Worker 706*d9f75844SAndroid Build Coastguard Worker data = rtc_media_unittests_resources 707*d9f75844SAndroid Build Coastguard Worker 708*d9f75844SAndroid Build Coastguard Worker if (is_android) { 709*d9f75844SAndroid Build Coastguard Worker deps += [ "//testing/android/native_test:native_test_support" ] 710*d9f75844SAndroid Build Coastguard Worker shard_timeout = 900 711*d9f75844SAndroid Build Coastguard Worker } 712*d9f75844SAndroid Build Coastguard Worker 713*d9f75844SAndroid Build Coastguard Worker if (is_ios) { 714*d9f75844SAndroid Build Coastguard Worker deps += [ ":rtc_media_unittests_bundle_data" ] 715*d9f75844SAndroid Build Coastguard Worker } 716*d9f75844SAndroid Build Coastguard Worker 717*d9f75844SAndroid Build Coastguard Worker if (rtc_build_dcsctp) { 718*d9f75844SAndroid Build Coastguard Worker sources += [ "sctp/dcsctp_transport_unittest.cc" ] 719*d9f75844SAndroid Build Coastguard Worker deps += [ 720*d9f75844SAndroid Build Coastguard Worker ":rtc_data_dcsctp_transport", 721*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:factory", 722*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:mocks", 723*d9f75844SAndroid Build Coastguard Worker "../net/dcsctp/public:socket", 724*d9f75844SAndroid Build Coastguard Worker ] 725*d9f75844SAndroid Build Coastguard Worker } 726*d9f75844SAndroid Build Coastguard Worker } 727*d9f75844SAndroid Build Coastguard Worker } 728*d9f75844SAndroid Build Coastguard Worker} 729