BUILD.gn (9878B)
1 # 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 9 import("../../../webrtc.gni") 10 11 rtc_library("goog_cc") { 12 sources = [ 13 "goog_cc_network_control.cc", 14 "goog_cc_network_control.h", 15 ] 16 17 deps = [ 18 ":alr_detector", 19 ":delay_based_bwe", 20 ":estimators", 21 ":loss_based_bwe_v2", 22 ":probe_controller", 23 ":pushback_controller", 24 ":send_side_bwe", 25 "../../../api:field_trials_view", 26 "../../../api:network_state_predictor_api", 27 "../../../api/environment", 28 "../../../api/transport:bandwidth_usage", 29 "../../../api/transport:network_control", 30 "../../../api/units:data_rate", 31 "../../../api/units:data_size", 32 "../../../api/units:time_delta", 33 "../../../api/units:timestamp", 34 "../../../logging:rtc_event_bwe", 35 "../../../rtc_base:checks", 36 "../../../rtc_base:logging", 37 "../../../rtc_base/experiments:field_trial_parser", 38 "../../../rtc_base/experiments:rate_control_settings", 39 "../../remote_bitrate_estimator", 40 "//third_party/abseil-cpp/absl/strings:string_view", 41 ] 42 } 43 44 rtc_library("link_capacity_estimator") { 45 sources = [ 46 "link_capacity_estimator.cc", 47 "link_capacity_estimator.h", 48 ] 49 deps = [ 50 "../../../api/units:data_rate", 51 "../../../rtc_base:safe_minmax", 52 ] 53 } 54 55 rtc_library("pushback_controller") { 56 sources = [ 57 "congestion_window_pushback_controller.cc", 58 "congestion_window_pushback_controller.h", 59 ] 60 deps = [ 61 "../../../api:field_trials_view", 62 "../../../api/transport:network_control", 63 "../../../api/units:data_size", 64 "../../../rtc_base:checks", 65 "../../../rtc_base/experiments:rate_control_settings", 66 ] 67 } 68 69 rtc_library("alr_detector") { 70 sources = [ 71 "alr_detector.cc", 72 "alr_detector.h", 73 ] 74 deps = [ 75 "../../../api:field_trials_view", 76 "../../../api/environment", 77 "../../../api/rtc_event_log", 78 "../../../api/units:data_rate", 79 "../../../api/units:data_size", 80 "../../../api/units:time_delta", 81 "../../../api/units:timestamp", 82 "../../../logging:rtc_event_pacing", 83 "../../../rtc_base:checks", 84 "../../../rtc_base/experiments:alr_experiment", 85 "../../../rtc_base/experiments:field_trial_parser", 86 "../../pacing:interval_budget", 87 ] 88 } 89 rtc_library("estimators") { 90 sources = [ 91 "acknowledged_bitrate_estimator.cc", 92 "acknowledged_bitrate_estimator.h", 93 "acknowledged_bitrate_estimator_interface.cc", 94 "acknowledged_bitrate_estimator_interface.h", 95 "bitrate_estimator.cc", 96 "bitrate_estimator.h", 97 "delay_increase_detector_interface.h", 98 "probe_bitrate_estimator.cc", 99 "probe_bitrate_estimator.h", 100 "robust_throughput_estimator.cc", 101 "robust_throughput_estimator.h", 102 "trendline_estimator.cc", 103 "trendline_estimator.h", 104 ] 105 106 deps = [ 107 "../../../api:field_trials_view", 108 "../../../api:network_state_predictor_api", 109 "../../../api/rtc_event_log", 110 "../../../api/transport:bandwidth_usage", 111 "../../../api/transport:network_control", 112 "../../../api/units:data_rate", 113 "../../../api/units:data_size", 114 "../../../api/units:time_delta", 115 "../../../api/units:timestamp", 116 "../../../logging:rtc_event_bwe", 117 "../../../rtc_base:checks", 118 "../../../rtc_base:logging", 119 "../../../rtc_base:safe_minmax", 120 "../../../rtc_base/experiments:field_trial_parser", 121 ] 122 } 123 124 rtc_library("loss_based_bwe_v2") { 125 sources = [ 126 "loss_based_bwe_v2.cc", 127 "loss_based_bwe_v2.h", 128 ] 129 deps = [ 130 "../../../api:array_view", 131 "../../../api:field_trials_view", 132 "../../../api/transport:network_control", 133 "../../../api/units:data_rate", 134 "../../../api/units:data_size", 135 "../../../api/units:time_delta", 136 "../../../api/units:timestamp", 137 "../../../rtc_base:logging", 138 "../../../rtc_base/experiments:field_trial_parser", 139 "../../remote_bitrate_estimator", 140 "//third_party/abseil-cpp/absl/algorithm:container", 141 ] 142 } 143 144 rtc_library("send_side_bwe") { 145 sources = [ 146 "send_side_bandwidth_estimation.cc", 147 "send_side_bandwidth_estimation.h", 148 ] 149 deps = [ 150 ":loss_based_bwe_v2", 151 "../../../api:field_trials_view", 152 "../../../api/rtc_event_log", 153 "../../../api/transport:bandwidth_usage", 154 "../../../api/transport:network_control", 155 "../../../api/units:data_rate", 156 "../../../api/units:time_delta", 157 "../../../api/units:timestamp", 158 "../../../logging:rtc_event_bwe", 159 "../../../rtc_base:checks", 160 "../../../rtc_base:logging", 161 "../../../rtc_base/experiments:field_trial_parser", 162 "../../../system_wrappers:metrics", 163 "../../remote_bitrate_estimator", 164 "//third_party/abseil-cpp/absl/strings", 165 ] 166 } 167 168 rtc_library("delay_based_bwe") { 169 sources = [ 170 "delay_based_bwe.cc", 171 "delay_based_bwe.h", 172 "inter_arrival_delta.cc", 173 "inter_arrival_delta.h", 174 ] 175 176 deps = [ 177 ":estimators", 178 ":link_capacity_estimator", 179 "../../../api:field_trials_view", 180 "../../../api:network_state_predictor_api", 181 "../../../api/rtc_event_log", 182 "../../../api/transport:bandwidth_usage", 183 "../../../api/transport:network_control", 184 "../../../api/units:data_rate", 185 "../../../api/units:data_size", 186 "../../../api/units:time_delta", 187 "../../../api/units:timestamp", 188 "../../../logging:rtc_event_bwe", 189 "../../../rtc_base:checks", 190 "../../../rtc_base:logging", 191 "../../../rtc_base:race_checker", 192 "../../../rtc_base/experiments:field_trial_parser", 193 "../../../system_wrappers:metrics", 194 "../../pacing", 195 "../../remote_bitrate_estimator", 196 ] 197 } 198 199 rtc_library("probe_controller") { 200 sources = [ 201 "probe_controller.cc", 202 "probe_controller.h", 203 ] 204 205 deps = [ 206 "../../../api:field_trials_view", 207 "../../../api/rtc_event_log", 208 "../../../api/transport:network_control", 209 "../../../api/units:data_rate", 210 "../../../api/units:data_size", 211 "../../../api/units:time_delta", 212 "../../../api/units:timestamp", 213 "../../../logging:rtc_event_bwe", 214 "../../../logging:rtc_event_pacing", 215 "../../../rtc_base:checks", 216 "../../../rtc_base:logging", 217 "../../../rtc_base:macromagic", 218 "../../../rtc_base:safe_conversions", 219 "../../../rtc_base/experiments:field_trial_parser", 220 "../../../system_wrappers:metrics", 221 "//third_party/abseil-cpp/absl/base:core_headers", 222 "//third_party/abseil-cpp/absl/strings", 223 ] 224 } 225 226 if (rtc_include_tests) { 227 rtc_library("test_goog_cc_printer") { 228 testonly = true 229 sources = [ 230 "test/goog_cc_printer.cc", 231 "test/goog_cc_printer.h", 232 ] 233 deps = [ 234 ":alr_detector", 235 ":delay_based_bwe", 236 ":estimators", 237 ":goog_cc", 238 "../../../api:libjingle_logging_api", 239 "../../../api/rtc_event_log", 240 "../../../api/transport:goog_cc", 241 "../../../api/transport:network_control", 242 "../../../api/units:data_rate", 243 "../../../api/units:data_size", 244 "../../../api/units:time_delta", 245 "../../../api/units:timestamp", 246 "../../../rtc_base:checks", 247 "../../../test/logging:log_writer", 248 "../../remote_bitrate_estimator", 249 "//third_party/abseil-cpp/absl/strings:string_view", 250 ] 251 } 252 if (!build_with_chromium) { 253 rtc_library("goog_cc_unittests") { 254 testonly = true 255 256 sources = [ 257 "acknowledged_bitrate_estimator_unittest.cc", 258 "alr_detector_unittest.cc", 259 "congestion_window_pushback_controller_unittest.cc", 260 "delay_based_bwe_unittest.cc", 261 "delay_based_bwe_unittest_helper.cc", 262 "delay_based_bwe_unittest_helper.h", 263 "goog_cc_network_control_unittest.cc", 264 "loss_based_bwe_v2_test.cc", 265 "probe_bitrate_estimator_unittest.cc", 266 "probe_controller_unittest.cc", 267 "robust_throughput_estimator_unittest.cc", 268 "send_side_bandwidth_estimation_unittest.cc", 269 "trendline_estimator_unittest.cc", 270 ] 271 deps = [ 272 ":alr_detector", 273 ":delay_based_bwe", 274 ":estimators", 275 ":goog_cc", 276 ":loss_based_bwe_v2", 277 ":probe_controller", 278 ":pushback_controller", 279 ":send_side_bwe", 280 "../../../api:field_trials", 281 "../../../api:field_trials_view", 282 "../../../api:network_state_predictor_api", 283 "../../../api/environment", 284 "../../../api/environment:environment_factory", 285 "../../../api/rtc_event_log", 286 "../../../api/test/network_emulation", 287 "../../../api/test/network_emulation:create_cross_traffic", 288 "../../../api/transport:bandwidth_usage", 289 "../../../api/transport:goog_cc", 290 "../../../api/transport:network_control", 291 "../../../api/units:data_rate", 292 "../../../api/units:data_size", 293 "../../../api/units:time_delta", 294 "../../../api/units:timestamp", 295 "../../../call:video_receive_stream_api", 296 "../../../logging:mocks", 297 "../../../logging:rtc_event_bwe", 298 "../../../rtc_base:checks", 299 "../../../rtc_base:logging", 300 "../../../rtc_base:random", 301 "../../../rtc_base:rtc_base_tests_utils", 302 "../../../rtc_base:stringutils", 303 "../../../rtc_base/experiments:alr_experiment", 304 "../../../system_wrappers", 305 "../../../test:create_test_field_trials", 306 "../../../test:test_support", 307 "../../../test/network:emulated_network", 308 "../../../test/scenario", 309 "../../../test/scenario:column_printer", 310 "../../pacing", 311 "//testing/gmock", 312 "//third_party/abseil-cpp/absl/base:nullability", 313 "//third_party/abseil-cpp/absl/strings:string_view", 314 ] 315 } 316 } 317 }