blob: b27b28c52639e6daefbfbf564d700bd7e5873f5a [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") {
Mirko Bonadei50cfab72018-09-06 15:03:52 +020020 configs += [ ":bwe_test_logging" ]
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010021 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 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020029 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010030 ":delay_based_bwe",
31 ":estimators",
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +020032 ":probe_controller",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010033 "../..:module_api",
34 "../../..:webrtc_common",
Sebastian Janssonc6c44262018-05-09 10:33:39 +020035 "../../../api/transport:network_control",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010036 "../../../logging:rtc_event_log_api",
37 "../../../logging:rtc_event_pacing",
38 "../../../rtc_base:checks",
39 "../../../rtc_base:rtc_base_approved",
40 "../../../rtc_base/experiments:alr_experiment",
Sebastian Jansson57606322018-09-10 18:27:21 +020041 "../../../rtc_base/experiments:field_trial_parser",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010042 "../../../system_wrappers",
43 "../../../system_wrappers:field_trial_api",
44 "../../../system_wrappers:metrics_api",
45 "../../bitrate_controller",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010046 "../../remote_bitrate_estimator",
47 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +020048 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +020049 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010050 ]
51}
52
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020053rtc_source_set("alr_detector") {
54 sources = [
55 "alr_detector.cc",
56 "alr_detector.h",
57 ]
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020058 deps = [
59 "../../..:webrtc_common",
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020060 "../../../logging:rtc_event_log_api",
61 "../../../logging:rtc_event_pacing",
62 "../../../rtc_base:checks",
63 "../../../rtc_base:rtc_base_approved",
64 "../../../rtc_base/experiments:alr_experiment",
65 "../../../system_wrappers:field_trial_api",
66 "../../pacing:interval_budget",
Karl Wiberg918f50c2018-07-05 11:40:33 +020067 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020068 "//third_party/abseil-cpp/absl/types:optional",
69 ]
70}
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010071rtc_source_set("estimators") {
72 configs += [ ":bwe_test_logging" ]
73 sources = [
74 "acknowledged_bitrate_estimator.cc",
75 "acknowledged_bitrate_estimator.h",
76 "bitrate_estimator.cc",
77 "bitrate_estimator.h",
78 "delay_increase_detector_interface.h",
79 "median_slope_estimator.cc",
80 "median_slope_estimator.h",
81 "probe_bitrate_estimator.cc",
82 "probe_bitrate_estimator.h",
83 "trendline_estimator.cc",
84 "trendline_estimator.h",
85 ]
86
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010087 deps = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010088 "../../../logging:rtc_event_bwe",
89 "../../../logging:rtc_event_log_api",
90 "../../../rtc_base:checks",
91 "../../../rtc_base:rtc_base_approved",
92 "../../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +010093 "../../../rtc_base:safe_minmax",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010094 "../../../system_wrappers:field_trial_api",
95 "../../../system_wrappers:metrics_api",
96 "../../remote_bitrate_estimator",
97 "../../rtp_rtcp:rtp_rtcp_format",
Karl Wiberg918f50c2018-07-05 11:40:33 +020098 "//third_party/abseil-cpp/absl/memory",
Danil Chapovalov0040b662018-06-18 10:48:16 +020099 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100100 ]
101}
102
103rtc_source_set("delay_based_bwe") {
104 configs += [ ":bwe_test_logging" ]
105 sources = [
106 "delay_based_bwe.cc",
107 "delay_based_bwe.h",
108 ]
109
110 deps = [
111 ":estimators",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100112 "../../../logging:rtc_event_bwe",
113 "../../../logging:rtc_event_log_api",
114 "../../../rtc_base:checks",
115 "../../../rtc_base:rtc_base_approved",
116 "../../../system_wrappers:field_trial_api",
117 "../../../system_wrappers:metrics_api",
118 "../../pacing",
119 "../../remote_bitrate_estimator",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200120 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100121 ]
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100122}
123
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200124rtc_source_set("probe_controller") {
125 sources = [
126 "probe_controller.cc",
127 "probe_controller.h",
128 ]
129
130 deps = [
131 "../../../api/transport:network_control",
132 "../../../logging:rtc_event_log_api",
133 "../../../logging:rtc_event_pacing",
134 "../../../rtc_base:checks",
135 "../../../rtc_base:rtc_base_approved",
Sebastian Janssonda2ec402018-08-02 16:27:28 +0200136 "../../../rtc_base/system:unused",
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200137 "../../../system_wrappers:field_trial_api",
138 "../../../system_wrappers:metrics_api",
139 "//third_party/abseil-cpp/absl/types:optional",
140 ]
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200141}
142
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100143if (rtc_include_tests) {
Sebastian Jansson13171bd2018-07-03 18:11:45 +0200144 rtc_source_set("test_goog_cc_printer") {
145 testonly = true
146 sources = [
147 "test/goog_cc_printer.cc",
148 "test/goog_cc_printer.h",
149 ]
150 deps = [
Sebastian Janssond0e0ec92018-09-04 18:55:14 +0200151 ":estimators",
Sebastian Jansson13171bd2018-07-03 18:11:45 +0200152 ":goog_cc",
153 "..:test_controller_printer",
154 ]
155 }
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100156 rtc_source_set("goog_cc_unittests") {
157 testonly = true
158
159 sources = [
160 "acknowledged_bitrate_estimator_unittest.cc",
161 "alr_detector_unittest.cc",
162 "delay_based_bwe_unittest.cc",
163 "delay_based_bwe_unittest_helper.cc",
164 "delay_based_bwe_unittest_helper.h",
Sebastian Jansson34ee4192018-08-30 14:57:40 +0200165 "goog_cc_network_control_unittest.cc",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100166 "median_slope_estimator_unittest.cc",
167 "probe_bitrate_estimator_unittest.cc",
168 "probe_controller_unittest.cc",
169 "trendline_estimator_unittest.cc",
170 ]
171 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +0200172 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100173 ":delay_based_bwe",
174 ":estimators",
175 ":goog_cc",
Sebastian Janssonb2ecc3d2018-07-13 17:22:01 +0200176 ":probe_controller",
Sebastian Janssonc6c44262018-05-09 10:33:39 +0200177 "../../../api/transport:network_control",
178 "../../../api/transport:network_control_test",
Sebastian Jansson34ee4192018-08-30 14:57:40 +0200179 "../../../logging:mocks",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100180 "../../../rtc_base:checks",
181 "../../../rtc_base:rtc_base_approved",
182 "../../../rtc_base:rtc_base_tests_utils",
183 "../../../rtc_base/experiments:alr_experiment",
184 "../../../system_wrappers",
185 "../../../test:field_trial",
186 "../../../test:test_support",
187 "../../pacing",
188 "../../remote_bitrate_estimator",
189 "../../rtp_rtcp:rtp_rtcp_format",
Bjorn Terelius0c7ec802018-07-18 14:59:56 +0200190 "//system_wrappers:field_trial_api",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100191 "//testing/gmock",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200192 "//third_party/abseil-cpp/absl/memory",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100193 ]
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100194 }
195}