diff options
Diffstat (limited to 'third_party/libwebrtc/webrtc/call/BUILD.gn')
-rw-r--r-- | third_party/libwebrtc/webrtc/call/BUILD.gn | 292 |
1 files changed, 292 insertions, 0 deletions
diff --git a/third_party/libwebrtc/webrtc/call/BUILD.gn b/third_party/libwebrtc/webrtc/call/BUILD.gn new file mode 100644 index 0000000000..d6fdae506c --- /dev/null +++ b/third_party/libwebrtc/webrtc/call/BUILD.gn @@ -0,0 +1,292 @@ +# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +import("../webrtc.gni") + +rtc_source_set("call_interfaces") { + sources = [ + "audio_receive_stream.h", + "audio_send_stream.h", + "audio_state.h", + "call.h", + "callfactoryinterface.h", + "flexfec_receive_stream.h", + "syncable.cc", + "syncable.h", + ] + deps = [ + ":rtp_interfaces", + ":video_stream_api", + "..:webrtc_common", + "../api:audio_mixer_api", + "../api:optional", + "../api:transport_api", + "../api/audio_codecs:audio_codecs_api", + "../modules/audio_processing:audio_processing_statistics", + "../rtc_base:rtc_base", + "../rtc_base:rtc_base_approved", + ] + + if (!build_with_mozilla) { + deps += [ "../api:libjingle_peerconnection_api" ] + sources += [ "audio_send_stream.cc" ] + } else { + sources += [ "audio_send_stream_call.cc" ] + } +} + +# TODO(nisse): These RTP targets should be moved elsewhere +# when interfaces have stabilized. See also TODO for |mock_rtp_interfaces|. +rtc_source_set("rtp_interfaces") { + sources = [ + "rtcp_packet_sink_interface.h", + "rtp_config.cc", + "rtp_config.h", + "rtp_packet_sink_interface.h", + "rtp_stream_receiver_controller_interface.h", + "rtp_transport_controller_send_interface.h", + ] + deps = [ + "../api:array_view", + "../rtc_base:rtc_base_approved", + ] +} + +rtc_source_set("rtp_receiver") { + sources = [ + "rtcp_demuxer.cc", + "rtcp_demuxer.h", + "rtp_demuxer.cc", + "rtp_demuxer.h", + "rtp_rtcp_demuxer_helper.cc", + "rtp_rtcp_demuxer_helper.h", + "rtp_stream_receiver_controller.cc", + "rtp_stream_receiver_controller.h", + "rtx_receive_stream.cc", + "rtx_receive_stream.h", + "ssrc_binding_observer.h", + ] + deps = [ + ":rtp_interfaces", + "..:webrtc_common", + "../api:array_view", + "../api:optional", + "../modules/rtp_rtcp", + "../rtc_base:rtc_base_approved", + ] +} + +rtc_source_set("rtp_sender") { + sources = [ + "rtp_transport_controller_send.cc", + "rtp_transport_controller_send.h", + ] + deps = [ + ":rtp_interfaces", + "..:webrtc_common", + "../modules/congestion_controller", + "../modules/pacing", + "../rtc_base:rtc_base_approved", + ] +} + +rtc_source_set("bitrate_allocator") { + sources = [ + "bitrate_allocator.cc", + "bitrate_allocator.h", + ] + deps = [ + "../modules/bitrate_controller", + "../rtc_base:rtc_base_approved", + "../rtc_base:sequenced_task_checker", + "../system_wrappers", + ] + 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("call") { + sources = [ + "call.cc", + "callfactory.cc", + "callfactory.h", + "flexfec_receive_stream_impl.cc", + "flexfec_receive_stream_impl.h", + ] + + 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" ] + } + + public_deps = [ + ":call_interfaces", + "../api:call_api", + ] + + if (!build_with_mozilla) { + public_deps += [ "../api:libjingle_peerconnection_api" ] + } + + deps = [ + ":bitrate_allocator", + ":call_interfaces", + ":rtp_interfaces", + ":rtp_receiver", + ":rtp_sender", + ":video_stream_api", + "..:webrtc_common", + "../api:optional", + "../api:transport_api", + "../audio", + "../logging:rtc_event_log_api", + "../logging:rtc_event_log_impl", + "../modules/bitrate_controller", + "../modules/congestion_controller", + "../modules/pacing", + "../modules/rtp_rtcp", + "../modules/utility", + "../rtc_base:rtc_base_approved", + "../rtc_base:rtc_task_queue", + "../rtc_base:sequenced_task_checker", + "../system_wrappers", + "../video", + ] +} + +rtc_source_set("video_stream_api") { + sources = [ + "video_config.cc", + "video_config.h", + "video_receive_stream.cc", + "video_receive_stream.h", + "video_send_stream.cc", + "video_send_stream.h", + ] + deps = [ + ":rtp_interfaces", + "../:webrtc_common", + "../api:optional", + "../api:transport_api", + "../common_video:common_video", + "../rtc_base:rtc_base_approved", + ] + + if (!build_with_mozilla) { + deps += [ "../api:libjingle_peerconnection_api" ] + } +} + +if (rtc_include_tests) { + rtc_source_set("call_tests") { + testonly = true + + sources = [ + "bitrate_allocator_unittest.cc", + "bitrate_estimator_tests.cc", + "call_unittest.cc", + "flexfec_receive_stream_unittest.cc", + "rtcp_demuxer_unittest.cc", + "rtp_demuxer_unittest.cc", + "rtp_rtcp_demuxer_helper_unittest.cc", + "rtx_receive_stream_unittest.cc", + ] + deps = [ + ":bitrate_allocator", + ":call", + ":mock_rtp_interfaces", + ":rtp_interfaces", + ":rtp_receiver", + ":rtp_sender", + "..:webrtc_common", + "../api:array_view", + "../api:mock_audio_mixer", + "../api/audio_codecs:builtin_audio_decoder_factory", + "../logging:rtc_event_log_api", + "../modules/audio_device:mock_audio_device", + "../modules/audio_mixer", + "../modules/bitrate_controller", + "../modules/congestion_controller", + "../modules/congestion_controller:mock_congestion_controller", + "../modules/pacing", + "../modules/pacing:mock_paced_sender", + "../modules/rtp_rtcp", + "../modules/rtp_rtcp:mock_rtp_rtcp", + "../modules/utility:mock_process_thread", + "../rtc_base:rtc_base_approved", + "../system_wrappers", + "../test:audio_codec_mocks", + "../test:direct_transport", + "../test:test_common", + "../test:test_support", + "../test:video_test_common", + "//testing/gmock", + "//testing/gtest", + ] + 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_source_set("call_perf_tests") { + testonly = true + + sources = [ + "call_perf_tests.cc", + "rampup_tests.cc", + "rampup_tests.h", + ] + deps = [ + ":call_interfaces", + ":video_stream_api", + "..:webrtc_common", + "../api/audio_codecs:builtin_audio_encoder_factory", + "../logging:rtc_event_log_api", + "../modules/audio_coding", + "../modules/audio_mixer:audio_mixer_impl", + "../modules/rtp_rtcp", + "../rtc_base:rtc_base_approved", + "../system_wrappers", + "../system_wrappers:metrics_default", + "../test:direct_transport", + "../test:fake_audio_device", + "../test:field_trial", + "../test:test_common", + "../test:test_support", + "../test:video_test_common", + "../video", + "../voice_engine", + "//testing/gtest", + ] + 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" ] + } + } + + # TODO(eladalon): This should be moved, as with the TODO for |rtp_interfaces|. + rtc_source_set("mock_rtp_interfaces") { + testonly = true + + sources = [ + "fake_rtp_transport_controller_send.h", + "test/mock_rtp_packet_sink_interface.h", + ] + deps = [ + ":rtp_interfaces", + "..:webrtc_common", + "../modules/congestion_controller:congestion_controller", + "../modules/pacing:pacing", + "../test:test_support", + "//testing/gmock", + ] + } +} |