blob: 05f2212f4aa21a6560504aff717f4cffd27b7c82 [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",
26 "probe_controller.cc",
27 "probe_controller.h",
28 ]
29
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010030 if (!build_with_chromium && is_clang) {
31 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
32 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
33 }
34
35 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020036 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010037 ":delay_based_bwe",
38 ":estimators",
39 "../..:module_api",
40 "../../..:webrtc_common",
41 "../../../:typedefs",
Sebastian Janssonc6c44262018-05-09 10:33:39 +020042 "../../../api/transport:network_control",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010043 "../../../logging:rtc_event_log_api",
44 "../../../logging:rtc_event_pacing",
45 "../../../rtc_base:checks",
46 "../../../rtc_base:rtc_base_approved",
47 "../../../rtc_base/experiments:alr_experiment",
48 "../../../system_wrappers",
49 "../../../system_wrappers:field_trial_api",
50 "../../../system_wrappers:metrics_api",
51 "../../bitrate_controller",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010052 "../../remote_bitrate_estimator",
53 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +020054 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +020055 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010056 ]
57}
58
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020059rtc_source_set("alr_detector") {
60 sources = [
61 "alr_detector.cc",
62 "alr_detector.h",
63 ]
64 if (!build_with_chromium && is_clang) {
65 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
66 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
67 }
68 deps = [
69 "../../..:webrtc_common",
70 "../../../:typedefs",
71 "../../../logging:rtc_event_log_api",
72 "../../../logging:rtc_event_pacing",
73 "../../../rtc_base:checks",
74 "../../../rtc_base:rtc_base_approved",
75 "../../../rtc_base/experiments:alr_experiment",
76 "../../../system_wrappers:field_trial_api",
77 "../../pacing:interval_budget",
Karl Wiberg918f50c2018-07-05 11:40:33 +020078 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020079 "//third_party/abseil-cpp/absl/types:optional",
80 ]
81}
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010082rtc_source_set("estimators") {
83 configs += [ ":bwe_test_logging" ]
84 sources = [
85 "acknowledged_bitrate_estimator.cc",
86 "acknowledged_bitrate_estimator.h",
87 "bitrate_estimator.cc",
88 "bitrate_estimator.h",
89 "delay_increase_detector_interface.h",
90 "median_slope_estimator.cc",
91 "median_slope_estimator.h",
92 "probe_bitrate_estimator.cc",
93 "probe_bitrate_estimator.h",
94 "trendline_estimator.cc",
95 "trendline_estimator.h",
96 ]
97
98 # TODO(jschuh): Bug 1348: fix this warning.
99 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
100
101 if (!build_with_chromium && is_clang) {
102 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
103 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
104 }
105
106 deps = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100107 "../../../logging:rtc_event_bwe",
108 "../../../logging:rtc_event_log_api",
109 "../../../rtc_base:checks",
110 "../../../rtc_base:rtc_base_approved",
111 "../../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100112 "../../../rtc_base:safe_minmax",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100113 "../../../system_wrappers:field_trial_api",
114 "../../../system_wrappers:metrics_api",
115 "../../remote_bitrate_estimator",
116 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200117 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +0200118 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100119 ]
120}
121
122rtc_source_set("delay_based_bwe") {
123 configs += [ ":bwe_test_logging" ]
124 sources = [
125 "delay_based_bwe.cc",
126 "delay_based_bwe.h",
127 ]
128
129 deps = [
130 ":estimators",
131 "../../../:typedefs",
132 "../../../logging:rtc_event_bwe",
133 "../../../logging:rtc_event_log_api",
134 "../../../rtc_base:checks",
135 "../../../rtc_base:rtc_base_approved",
136 "../../../system_wrappers:field_trial_api",
137 "../../../system_wrappers:metrics_api",
138 "../../pacing",
139 "../../remote_bitrate_estimator",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200140 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100141 ]
142
143 if (!build_with_chromium && is_clang) {
144 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
145 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
146 }
147}
148
149if (rtc_include_tests) {
Sebastian Jansson13171bd2018-07-03 18:11:45 +0200150 rtc_source_set("test_goog_cc_printer") {
151 testonly = true
152 sources = [
153 "test/goog_cc_printer.cc",
154 "test/goog_cc_printer.h",
155 ]
156 deps = [
157 ":goog_cc",
158 "..:test_controller_printer",
159 ]
160 }
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100161 rtc_source_set("goog_cc_unittests") {
162 testonly = true
163
164 sources = [
165 "acknowledged_bitrate_estimator_unittest.cc",
166 "alr_detector_unittest.cc",
167 "delay_based_bwe_unittest.cc",
168 "delay_based_bwe_unittest_helper.cc",
169 "delay_based_bwe_unittest_helper.h",
170 "median_slope_estimator_unittest.cc",
171 "probe_bitrate_estimator_unittest.cc",
172 "probe_controller_unittest.cc",
173 "trendline_estimator_unittest.cc",
174 ]
175 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +0200176 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100177 ":delay_based_bwe",
178 ":estimators",
179 ":goog_cc",
Sebastian Janssonc6c44262018-05-09 10:33:39 +0200180 "../../../api/transport:network_control",
181 "../../../api/transport:network_control_test",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100182 "../../../rtc_base:checks",
183 "../../../rtc_base:rtc_base_approved",
184 "../../../rtc_base:rtc_base_tests_utils",
185 "../../../rtc_base/experiments:alr_experiment",
186 "../../../system_wrappers",
187 "../../../test:field_trial",
188 "../../../test:test_support",
189 "../../pacing",
190 "../../remote_bitrate_estimator",
191 "../../rtp_rtcp:rtp_rtcp_format",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100192 "//testing/gmock",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200193 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100194 ]
195 if (!build_with_chromium && is_clang) {
196 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
197 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
198 }
199 }
200}