blob: bab967b3993c37fcf8e43d0a24c82e3fb34ce84a [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",
Danil Chapovalov0040b662018-06-18 10:48:16 +020054 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010055 ]
56}
57
Sebastian Janssonf9f49a32018-06-25 17:56:08 +020058rtc_source_set("alr_detector") {
59 sources = [
60 "alr_detector.cc",
61 "alr_detector.h",
62 ]
63 if (!build_with_chromium && is_clang) {
64 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
65 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
66 }
67 deps = [
68 "../../..:webrtc_common",
69 "../../../:typedefs",
70 "../../../logging:rtc_event_log_api",
71 "../../../logging:rtc_event_pacing",
72 "../../../rtc_base:checks",
73 "../../../rtc_base:rtc_base_approved",
74 "../../../rtc_base/experiments:alr_experiment",
75 "../../../system_wrappers:field_trial_api",
76 "../../pacing:interval_budget",
77 "//third_party/abseil-cpp/absl/types:optional",
78 ]
79}
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +010080rtc_source_set("estimators") {
81 configs += [ ":bwe_test_logging" ]
82 sources = [
83 "acknowledged_bitrate_estimator.cc",
84 "acknowledged_bitrate_estimator.h",
85 "bitrate_estimator.cc",
86 "bitrate_estimator.h",
87 "delay_increase_detector_interface.h",
88 "median_slope_estimator.cc",
89 "median_slope_estimator.h",
90 "probe_bitrate_estimator.cc",
91 "probe_bitrate_estimator.h",
92 "trendline_estimator.cc",
93 "trendline_estimator.h",
94 ]
95
96 # TODO(jschuh): Bug 1348: fix this warning.
97 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
98
99 if (!build_with_chromium && is_clang) {
100 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
101 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
102 }
103
104 deps = [
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100105 "../../../logging:rtc_event_bwe",
106 "../../../logging:rtc_event_log_api",
107 "../../../rtc_base:checks",
108 "../../../rtc_base:rtc_base_approved",
109 "../../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +0100110 "../../../rtc_base:safe_minmax",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100111 "../../../system_wrappers:field_trial_api",
112 "../../../system_wrappers:metrics_api",
113 "../../remote_bitrate_estimator",
114 "../../rtp_rtcp:rtp_rtcp_format",
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",
128 "../../../:typedefs",
129 "../../../logging:rtc_event_bwe",
130 "../../../logging:rtc_event_log_api",
131 "../../../rtc_base:checks",
132 "../../../rtc_base:rtc_base_approved",
133 "../../../system_wrappers:field_trial_api",
134 "../../../system_wrappers:metrics_api",
135 "../../pacing",
136 "../../remote_bitrate_estimator",
137 ]
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
145if (rtc_include_tests) {
146 rtc_source_set("goog_cc_unittests") {
147 testonly = true
148
149 sources = [
150 "acknowledged_bitrate_estimator_unittest.cc",
151 "alr_detector_unittest.cc",
152 "delay_based_bwe_unittest.cc",
153 "delay_based_bwe_unittest_helper.cc",
154 "delay_based_bwe_unittest_helper.h",
155 "median_slope_estimator_unittest.cc",
156 "probe_bitrate_estimator_unittest.cc",
157 "probe_controller_unittest.cc",
158 "trendline_estimator_unittest.cc",
159 ]
160 deps = [
Sebastian Janssonf9f49a32018-06-25 17:56:08 +0200161 ":alr_detector",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100162 ":delay_based_bwe",
163 ":estimators",
164 ":goog_cc",
Sebastian Janssonc6c44262018-05-09 10:33:39 +0200165 "../../../api/transport:network_control",
166 "../../../api/transport:network_control_test",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100167 "../../../rtc_base:checks",
168 "../../../rtc_base:rtc_base_approved",
169 "../../../rtc_base:rtc_base_tests_utils",
170 "../../../rtc_base/experiments:alr_experiment",
171 "../../../system_wrappers",
172 "../../../test:field_trial",
173 "../../../test:test_support",
174 "../../pacing",
175 "../../remote_bitrate_estimator",
176 "../../rtp_rtcp:rtp_rtcp_format",
Sebastian Janssonfc7ec8e2018-02-28 16:48:00 +0100177 "//testing/gmock",
178 ]
179 if (!build_with_chromium && is_clang) {
180 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
181 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
182 }
183 }
184}