blob: a82ba9abb56f7af8a11c42f8cd069e736297a94a [file] [log] [blame]
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +01001# Copyright (c) 2018 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
9import("../../../webrtc.gni")
10
11config("bwe_test_logging") {
12 if (rtc_enable_bwe_test_logging) {
13 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
14 } else {
15 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
16 }
17}
18
19rtc_static_library("goog_cc") {
20 configs += [ ":bwe_test_logging" ]
21 sources = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010022 "goog_cc_factory.cc",
23 "goog_cc_network_control.cc",
24 "goog_cc_network_control.h",
25 "include/goog_cc_factory.h",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010026 ]
27
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010028 if (!build_with_chromium && is_clang) {
29 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
30 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
31 }
32
33 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020034 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010035 ":delay_based_bwe",
36 ":estimators",
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +020037 ":probe_controller",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010038 "../..:module_api",
39 "../../..:webrtc_common",
Sebastian Janssonc6c44262018-05-09 10:33:39 +020040 "../../../api/transport:network_control",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010041 "../../../logging:rtc_event_log_api",
42 "../../../logging:rtc_event_pacing",
43 "../../../rtc_base:checks",
44 "../../../rtc_base:rtc_base_approved",
45 "../../../rtc_base/experiments:alr_experiment",
46 "../../../system_wrappers",
47 "../../../system_wrappers:field_trial_api",
48 "../../../system_wrappers:metrics_api",
49 "../../bitrate_controller",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010050 "../../remote_bitrate_estimator",
51 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +020052 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +020053 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010054 ]
55}
56
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020057rtc_source_set("alr_detector") {
58 sources = [
59 "alr_detector.cc",
60 "alr_detector.h",
61 ]
62 if (!build_with_chromium && is_clang) {
63 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
64 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
65 }
66 deps = [
67 "../../..:webrtc_common",
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020068 "../../../logging:rtc_event_log_api",
69 "../../../logging:rtc_event_pacing",
70 "../../../rtc_base:checks",
71 "../../../rtc_base:rtc_base_approved",
72 "../../../rtc_base/experiments:alr_experiment",
73 "../../../system_wrappers:field_trial_api",
74 "../../pacing:interval_budget",
Karl Wiberg918f50c2018-07-05 11:40:33 +020075 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020076 "//third_party/abseil-cpp/absl/types:optional",
77 ]
78}
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010079rtc_source_set("estimators") {
80 configs += [ ":bwe_test_logging" ]
81 sources = [
82 "acknowledged_bitrate_estimator.cc",
83 "acknowledged_bitrate_estimator.h",
84 "bitrate_estimator.cc",
85 "bitrate_estimator.h",
86 "delay_increase_detector_interface.h",
87 "median_slope_estimator.cc",
88 "median_slope_estimator.h",
89 "probe_bitrate_estimator.cc",
90 "probe_bitrate_estimator.h",
91 "trendline_estimator.cc",
92 "trendline_estimator.h",
93 ]
94
95 # TODO(jschuh): Bug 1348: fix this warning.
96 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
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 deps = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100104 "../../../logging:rtc_event_bwe",
105 "../../../logging:rtc_event_log_api",
106 "../../../rtc_base:checks",
107 "../../../rtc_base:rtc_base_approved",
108 "../../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100109 "../../../rtc_base:safe_minmax",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100110 "../../../system_wrappers:field_trial_api",
111 "../../../system_wrappers:metrics_api",
112 "../../remote_bitrate_estimator",
113 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200114 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +0200115 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100116 ]
117}
118
119rtc_source_set("delay_based_bwe") {
120 configs += [ ":bwe_test_logging" ]
121 sources = [
122 "delay_based_bwe.cc",
123 "delay_based_bwe.h",
124 ]
125
126 deps = [
127 ":estimators",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100128 "../../../logging:rtc_event_bwe",
129 "../../../logging:rtc_event_log_api",
130 "../../../rtc_base:checks",
131 "../../../rtc_base:rtc_base_approved",
132 "../../../system_wrappers:field_trial_api",
133 "../../../system_wrappers:metrics_api",
134 "../../pacing",
135 "../../remote_bitrate_estimator",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200136 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100137 ]
138
139 if (!build_with_chromium && is_clang) {
140 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
141 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
142 }
143}
144
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200145rtc_source_set("probe_controller") {
146 sources = [
147 "probe_controller.cc",
148 "probe_controller.h",
149 ]
150
151 deps = [
152 "../../../api/transport:network_control",
153 "../../../logging:rtc_event_log_api",
154 "../../../logging:rtc_event_pacing",
155 "../../../rtc_base:checks",
156 "../../../rtc_base:rtc_base_approved",
157 "../../../system_wrappers:field_trial_api",
158 "../../../system_wrappers:metrics_api",
159 "//third_party/abseil-cpp/absl/types:optional",
160 ]
161
162 if (!build_with_chromium && is_clang) {
163 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
164 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
165 }
166}
167
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100168if (rtc_include_tests) {
Sebastian Jansson13171bd2018-07-03 18:11:45 +0200169 rtc_source_set("test_goog_cc_printer") {
170 testonly = true
171 sources = [
172 "test/goog_cc_printer.cc",
173 "test/goog_cc_printer.h",
174 ]
175 deps = [
176 ":goog_cc",
177 "..:test_controller_printer",
178 ]
179 }
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100180 rtc_source_set("goog_cc_unittests") {
181 testonly = true
182
183 sources = [
184 "acknowledged_bitrate_estimator_unittest.cc",
185 "alr_detector_unittest.cc",
186 "delay_based_bwe_unittest.cc",
187 "delay_based_bwe_unittest_helper.cc",
188 "delay_based_bwe_unittest_helper.h",
189 "median_slope_estimator_unittest.cc",
190 "probe_bitrate_estimator_unittest.cc",
191 "probe_controller_unittest.cc",
192 "trendline_estimator_unittest.cc",
193 ]
194 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +0200195 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100196 ":delay_based_bwe",
197 ":estimators",
198 ":goog_cc",
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200199 ":probe_controller",
Sebastian Janssonc6c44262018-05-09 10:33:39 +0200200 "../../../api/transport:network_control",
201 "../../../api/transport:network_control_test",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100202 "../../../rtc_base:checks",
203 "../../../rtc_base:rtc_base_approved",
204 "../../../rtc_base:rtc_base_tests_utils",
205 "../../../rtc_base/experiments:alr_experiment",
206 "../../../system_wrappers",
207 "../../../test:field_trial",
208 "../../../test:test_support",
209 "../../pacing",
210 "../../remote_bitrate_estimator",
211 "../../rtp_rtcp:rtp_rtcp_format",
Bjorn Terelius0c7ec802018-07-18 14:59:56 +0200212 "//system_wrappers:field_trial_api",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100213 "//testing/gmock",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200214 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100215 ]
216 if (!build_with_chromium && is_clang) {
217 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
218 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
219 }
220 }
221}