# Copyright (c) 2014 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") config("bwe_test_logging") { if (rtc_enable_bwe_test_logging) { defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ] } else { defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ] } } rtc_static_library("congestion_controller") { visibility = [ "*" ] configs += [ ":bwe_test_logging" ] sources = [ "include/send_side_congestion_controller.h", "pacer_controller.cc", "pacer_controller.h", "send_side_congestion_controller.cc", ] 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" ] } deps = [ ":transport_feedback", "../:congestion_controller", "../..:module_api", "../../..:webrtc_common", "../../../api/transport:network_control", "../../../rtc_base:checks", "../../../rtc_base:rate_limiter", "../../../rtc_base:rtc_task_queue_api", "../../../rtc_base:safe_minmax", "../../../rtc_base:sequenced_task_checker", "../../../rtc_base/experiments:congestion_controller_experiment", "../../../system_wrappers", "../../../system_wrappers:field_trial_api", "../../../system_wrappers:metrics_api", "../../../system_wrappers:runtime_enabled_features_api", "../../pacing", "../../remote_bitrate_estimator", "../../rtp_rtcp:rtp_rtcp_format", "../goog_cc", "//third_party/abseil-cpp/absl/memory", ] if (!build_with_mozilla) { deps += [ "../../../rtc_base:rtc_base" ] } } rtc_static_library("transport_feedback") { visibility = [ "*" ] sources = [ "send_time_history.cc", "send_time_history.h", "transport_feedback_adapter.cc", "transport_feedback_adapter.h", ] deps = [ "../..:module_api", "../../../rtc_base:checks", "../../../rtc_base:rtc_base_approved", "../../../system_wrappers", "../../rtp_rtcp:rtp_rtcp_format", ] } if (rtc_include_tests) { rtc_source_set("congestion_controller_unittests") { testonly = true sources = [ "congestion_controller_unittests_helper.cc", "congestion_controller_unittests_helper.h", "send_side_congestion_controller_unittest.cc", "send_time_history_unittest.cc", "transport_feedback_adapter_unittest.cc", ] deps = [ ":congestion_controller", ":transport_feedback", "../:congestion_controller", "../:mock_congestion_controller", "../../../api/transport:network_control", "../../../logging:mocks", "../../../rtc_base:checks", "../../../rtc_base:rtc_base", "../../../rtc_base:rtc_base_approved", "../../../rtc_base:rtc_base_tests_utils", "../../../system_wrappers", "../../../test:field_trial", "../../../test:test_support", "../../bitrate_controller:mocks", "../../pacing:mock_paced_sender", "../../pacing:pacing", "../../remote_bitrate_estimator:remote_bitrate_estimator", "../../rtp_rtcp:rtp_rtcp_format", "//testing/gmock", ] 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" ] } } }