blob: 647079a38257934bc633187f5a65051214764586 [file] [log] [blame]
Stefan Holmer80e12072016-02-23 13:30:42 +01001# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
Stefan Holmer80e12072016-02-23 13:30:42 +010010
kjellanderb62dbbe2016-09-23 00:38:52 -070011rtc_static_library("congestion_controller") {
Stefan Holmer80e12072016-02-23 13:30:42 +010012 sources = [
13 "congestion_controller.cc",
philipel863a8262016-06-17 09:21:34 -070014 "delay_based_bwe.cc",
15 "delay_based_bwe.h",
Stefan Holmer80e12072016-02-23 13:30:42 +010016 "include/congestion_controller.h",
nisse559af382017-03-21 06:41:12 -070017 "include/receive_side_congestion_controller.h",
18 "include/send_side_congestion_controller.h",
terelius5a388362016-12-09 05:50:01 -080019 "median_slope_estimator.cc",
20 "median_slope_estimator.h",
philipel233c4ba2016-08-01 08:49:04 -070021 "probe_bitrate_estimator.cc",
22 "probe_bitrate_estimator.h",
Irfan Sheriffb2540bb2016-09-12 12:28:54 -070023 "probe_controller.cc",
24 "probe_controller.h",
nisse559af382017-03-21 06:41:12 -070025 "receive_side_congestion_controller.cc",
26 "send_side_congestion_controller.cc",
Stefan Holmer280de9e2016-09-30 10:06:51 +020027 "transport_feedback_adapter.cc",
28 "transport_feedback_adapter.h",
tereliusafaef8b2016-11-17 03:48:18 -080029 "trendline_estimator.cc",
30 "trendline_estimator.h",
Stefan Holmer80e12072016-02-23 13:30:42 +010031 ]
32
tereliusafaef8b2016-11-17 03:48:18 -080033 if (rtc_enable_bwe_test_logging) {
34 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
35 } else {
36 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
37 }
38
kjellander8f4419b2016-06-02 02:09:52 -070039 # TODO(jschuh): Bug 1348: fix this warning.
40 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
41
kjellandere40a7ee2016-10-16 23:56:12 -070042 if (!build_with_chromium && is_clang) {
43 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
ehmaldonado38a21322016-09-02 04:10:34 -070044 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
Stefan Holmer80e12072016-02-23 13:30:42 +010045 }
46
47 deps = [
mbonadei49f465f2016-12-28 04:43:46 -080048 "../..:webrtc_common",
mbonadei49f465f2016-12-28 04:43:46 -080049 "../../base:rtc_base",
50 "../../base:rtc_base_approved",
tereliusbc5d9212017-01-13 09:14:33 -080051 "../../base:rtc_numerics",
terelius0baf55d2017-02-17 03:38:28 -080052 "../../logging:rtc_event_log_api",
mbonadei49f465f2016-12-28 04:43:46 -080053 "../../system_wrappers",
Stefan Holmer80e12072016-02-23 13:30:42 +010054 "../bitrate_controller",
55 "../pacing",
mbonadei49f465f2016-12-28 04:43:46 -080056 "../remote_bitrate_estimator",
57 "../rtp_rtcp",
58 "../utility",
Stefan Holmer80e12072016-02-23 13:30:42 +010059 ]
60}
ehmaldonado36268652017-01-19 08:27:11 -080061
62if (rtc_include_tests) {
63 rtc_source_set("congestion_controller_unittests") {
64 testonly = true
kjellandere0629c02017-04-25 04:04:50 -070065
66 # Skip restricting visibility on mobile platforms since the tests on those
67 # gets additional generated targets which would require many lines here to
68 # cover (which would be confusing to read and hard to maintain).
69 if (!is_android && !is_ios) {
70 visibility = [ "//webrtc/modules:modules_unittests" ]
71 }
ehmaldonado36268652017-01-19 08:27:11 -080072 sources = [
73 "congestion_controller_unittest.cc",
elad.alon5bbf43f2017-03-09 06:40:08 -080074 "congestion_controller_unittests_helper.cc",
75 "congestion_controller_unittests_helper.h",
ehmaldonado36268652017-01-19 08:27:11 -080076 "delay_based_bwe_unittest.cc",
77 "delay_based_bwe_unittest_helper.cc",
78 "delay_based_bwe_unittest_helper.h",
79 "median_slope_estimator_unittest.cc",
80 "probe_bitrate_estimator_unittest.cc",
81 "probe_controller_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -080082 "transport_feedback_adapter_unittest.cc",
83 "trendline_estimator_unittest.cc",
84 ]
85 deps = [
86 ":congestion_controller",
87 "../../base:rtc_base_approved",
88 "../../system_wrappers:system_wrappers",
89 "../../test:field_trial",
90 "../../test:test_support",
91 "../bitrate_controller:bitrate_controller",
92 "../pacing:pacing",
kjellandere0629c02017-04-25 04:04:50 -070093 "../remote_bitrate_estimator:mock_remote_bitrate_observer",
ehmaldonado36268652017-01-19 08:27:11 -080094 "../remote_bitrate_estimator:remote_bitrate_estimator",
ehmaldonado36268652017-01-19 08:27:11 -080095 "../rtp_rtcp:rtp_rtcp",
96 "//testing/gmock",
97 ]
98 if (!build_with_chromium && is_clang) {
99 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
100 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
101 }
102 }
103}