2018-02-28 16:48:00 +01:00
|
|
|
# Copyright (c) 2018 The WebRTC project authors. All Rights Reserved.
|
|
|
|
|
#
|
|
|
|
|
# Use of this source code is governed by a BSD-style license
|
|
|
|
|
# that can be found in the LICENSE file in the root of the source
|
|
|
|
|
# tree. An additional intellectual property rights grant can be found
|
|
|
|
|
# in the file PATENTS. All contributing project authors may
|
|
|
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
|
|
|
|
|
|
import("../../../webrtc.gni")
|
|
|
|
|
|
|
|
|
|
config("bwe_test_logging") {
|
|
|
|
|
if (rtc_enable_bwe_test_logging) {
|
|
|
|
|
defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
|
|
|
|
|
} else {
|
|
|
|
|
defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("goog_cc") {
|
2018-09-06 15:03:52 +02:00
|
|
|
configs += [ ":bwe_test_logging" ]
|
2018-02-28 16:48:00 +01:00
|
|
|
sources = [
|
|
|
|
|
"goog_cc_network_control.cc",
|
|
|
|
|
"goog_cc_network_control.h",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
deps = [
|
2018-06-25 17:56:08 +02:00
|
|
|
":alr_detector",
|
2018-02-28 16:48:00 +01:00
|
|
|
":delay_based_bwe",
|
|
|
|
|
":estimators",
|
2019-09-24 16:52:01 +02:00
|
|
|
":loss_based_controller",
|
2018-07-13 17:22:01 +02:00
|
|
|
":probe_controller",
|
2018-10-11 15:02:12 +02:00
|
|
|
":pushback_controller",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../..:module_api",
|
2019-04-10 13:48:24 +02:00
|
|
|
"../../../api:network_state_predictor_api",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:field_trial_based_config",
|
2018-05-09 10:33:39 +02:00
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../../../api/units:data_rate",
|
|
|
|
|
"../../../api/units:data_size",
|
|
|
|
|
"../../../api/units:time_delta",
|
|
|
|
|
"../../../api/units:timestamp",
|
2019-10-11 16:02:50 +02:00
|
|
|
"../../../logging:rtc_event_bwe",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../logging:rtc_event_pacing",
|
|
|
|
|
"../../../rtc_base:checks",
|
2019-02-26 15:43:44 +01:00
|
|
|
"../../../rtc_base:logging",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../rtc_base/experiments:alr_experiment",
|
2018-09-10 18:27:21 +02:00
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
2019-01-21 16:30:55 +01:00
|
|
|
"../../../rtc_base/experiments:rate_control_settings",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../system_wrappers",
|
|
|
|
|
"../../remote_bitrate_estimator",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2018-06-18 10:48:16 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
2018-02-28 16:48:00 +01:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("link_capacity_estimator") {
|
2018-11-29 18:36:42 +01:00
|
|
|
sources = [
|
|
|
|
|
"link_capacity_estimator.cc",
|
|
|
|
|
"link_capacity_estimator.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
"../../../api/units:data_rate",
|
|
|
|
|
"../../../rtc_base:safe_minmax",
|
|
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2018-11-29 18:36:42 +01:00
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("pushback_controller") {
|
2018-10-11 15:02:12 +02:00
|
|
|
sources = [
|
|
|
|
|
"congestion_window_pushback_controller.cc",
|
|
|
|
|
"congestion_window_pushback_controller.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../../../api/units:data_size",
|
2018-10-11 15:02:12 +02:00
|
|
|
"../../../rtc_base:checks",
|
2019-01-21 16:30:55 +01:00
|
|
|
"../../../rtc_base/experiments:rate_control_settings",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2018-10-11 15:02:12 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("alr_detector") {
|
2018-06-25 17:56:08 +02:00
|
|
|
sources = [
|
|
|
|
|
"alr_detector.cc",
|
|
|
|
|
"alr_detector.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2019-04-15 12:36:33 +02:00
|
|
|
"../../../api/transport:field_trial_based_config",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-06-25 17:56:08 +02:00
|
|
|
"../../../logging:rtc_event_pacing",
|
|
|
|
|
"../../../rtc_base:checks",
|
2019-02-26 15:43:44 +01:00
|
|
|
"../../../rtc_base:safe_conversions",
|
2019-03-25 10:17:00 +01:00
|
|
|
"../../../rtc_base:timeutils",
|
2018-06-25 17:56:08 +02:00
|
|
|
"../../../rtc_base/experiments:alr_experiment",
|
2019-04-29 13:51:52 +02:00
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
2018-06-25 17:56:08 +02:00
|
|
|
"../../pacing:interval_budget",
|
|
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2018-06-25 17:56:08 +02:00
|
|
|
}
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("estimators") {
|
2018-02-28 16:48:00 +01:00
|
|
|
configs += [ ":bwe_test_logging" ]
|
|
|
|
|
sources = [
|
|
|
|
|
"acknowledged_bitrate_estimator.cc",
|
|
|
|
|
"acknowledged_bitrate_estimator.h",
|
2019-11-11 21:00:18 +01:00
|
|
|
"acknowledged_bitrate_estimator_interface.cc",
|
|
|
|
|
"acknowledged_bitrate_estimator_interface.h",
|
2018-02-28 16:48:00 +01:00
|
|
|
"bitrate_estimator.cc",
|
|
|
|
|
"bitrate_estimator.h",
|
|
|
|
|
"delay_increase_detector_interface.h",
|
|
|
|
|
"probe_bitrate_estimator.cc",
|
|
|
|
|
"probe_bitrate_estimator.h",
|
2019-11-11 21:00:18 +01:00
|
|
|
"robust_throughput_estimator.cc",
|
|
|
|
|
"robust_throughput_estimator.h",
|
2018-02-28 16:48:00 +01:00
|
|
|
"trendline_estimator.cc",
|
|
|
|
|
"trendline_estimator.h",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
deps = [
|
2019-04-10 13:48:24 +02:00
|
|
|
"../../../api:network_state_predictor_api",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2019-06-20 12:26:31 +02:00
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-11-19 18:01:17 +01:00
|
|
|
"../../../api/units:data_rate",
|
2019-06-20 12:26:31 +02:00
|
|
|
"../../../api/units:timestamp",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../logging:rtc_event_bwe",
|
|
|
|
|
"../../../rtc_base:checks",
|
2019-02-26 15:43:44 +01:00
|
|
|
"../../../rtc_base:logging",
|
|
|
|
|
"../../../rtc_base:macromagic",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../rtc_base:rtc_numerics",
|
2019-02-26 15:43:44 +01:00
|
|
|
"../../../rtc_base:safe_conversions",
|
2018-03-07 14:18:56 +01:00
|
|
|
"../../../rtc_base:safe_minmax",
|
2018-12-21 14:14:43 +01:00
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../remote_bitrate_estimator",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2018-06-18 10:48:16 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
2018-02-28 16:48:00 +01:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("loss_based_controller") {
|
2019-09-24 16:52:01 +02:00
|
|
|
configs += [ ":bwe_test_logging" ]
|
|
|
|
|
sources = [
|
|
|
|
|
"loss_based_bandwidth_estimation.cc",
|
|
|
|
|
"loss_based_bandwidth_estimation.h",
|
|
|
|
|
"send_side_bandwidth_estimation.cc",
|
|
|
|
|
"send_side_bandwidth_estimation.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
|
|
|
|
"../../../api/rtc_event_log",
|
|
|
|
|
"../../../api/transport:network_control",
|
2020-11-06 18:05:38 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2019-09-24 16:52:01 +02:00
|
|
|
"../../../api/units:data_rate",
|
|
|
|
|
"../../../api/units:time_delta",
|
|
|
|
|
"../../../api/units:timestamp",
|
|
|
|
|
"../../../logging:rtc_event_bwe",
|
|
|
|
|
"../../../rtc_base:checks",
|
|
|
|
|
"../../../rtc_base:logging",
|
|
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
|
|
|
|
"../../../system_wrappers:field_trial",
|
|
|
|
|
"../../../system_wrappers:metrics",
|
|
|
|
|
"../../remote_bitrate_estimator",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2019-09-24 16:52:01 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("delay_based_bwe") {
|
2018-02-28 16:48:00 +01:00
|
|
|
configs += [ ":bwe_test_logging" ]
|
|
|
|
|
sources = [
|
|
|
|
|
"delay_based_bwe.cc",
|
|
|
|
|
"delay_based_bwe.h",
|
2020-12-04 17:31:37 +01:00
|
|
|
"inter_arrival_delta.cc",
|
|
|
|
|
"inter_arrival_delta.h",
|
2018-02-28 16:48:00 +01:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
deps = [
|
|
|
|
|
":estimators",
|
2019-04-10 13:48:24 +02:00
|
|
|
"../../../api:network_state_predictor_api",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2018-10-23 12:03:01 +02:00
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2020-12-04 17:31:37 +01:00
|
|
|
"../../../api/units:time_delta",
|
|
|
|
|
"../../../api/units:timestamp",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../logging:rtc_event_bwe",
|
|
|
|
|
"../../../rtc_base:checks",
|
|
|
|
|
"../../../rtc_base:rtc_base_approved",
|
2018-12-21 14:14:43 +01:00
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
2018-09-28 08:51:10 +02:00
|
|
|
"../../../system_wrappers:metrics",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../pacing",
|
|
|
|
|
"../../remote_bitrate_estimator",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2018-10-23 12:03:01 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
2018-02-28 16:48:00 +01:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("probe_controller") {
|
2018-07-13 17:22:01 +02:00
|
|
|
sources = [
|
|
|
|
|
"probe_controller.cc",
|
|
|
|
|
"probe_controller.h",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
deps = [
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2018-07-13 17:22:01 +02:00
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../../../api/units:data_rate",
|
|
|
|
|
"../../../api/units:time_delta",
|
|
|
|
|
"../../../api/units:timestamp",
|
2019-02-15 07:38:04 -08:00
|
|
|
"../../../logging:rtc_event_bwe",
|
2018-07-13 17:22:01 +02:00
|
|
|
"../../../logging:rtc_event_pacing",
|
|
|
|
|
"../../../rtc_base:checks",
|
2019-02-26 15:43:44 +01:00
|
|
|
"../../../rtc_base:logging",
|
|
|
|
|
"../../../rtc_base:macromagic",
|
|
|
|
|
"../../../rtc_base:safe_conversions",
|
2019-03-12 13:49:26 +01:00
|
|
|
"../../../rtc_base/experiments:field_trial_parser",
|
2018-09-28 08:51:10 +02:00
|
|
|
"../../../system_wrappers:metrics",
|
2020-06-05 14:30:41 +02:00
|
|
|
]
|
|
|
|
|
absl_deps = [
|
2021-01-14 16:15:31 +01:00
|
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
2020-04-01 12:03:11 +02:00
|
|
|
"//third_party/abseil-cpp/absl/strings",
|
2018-07-13 17:22:01 +02:00
|
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
|
2018-02-28 16:48:00 +01:00
|
|
|
if (rtc_include_tests) {
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("test_goog_cc_printer") {
|
2018-07-03 18:11:45 +02:00
|
|
|
testonly = true
|
|
|
|
|
sources = [
|
|
|
|
|
"test/goog_cc_printer.cc",
|
|
|
|
|
"test/goog_cc_printer.h",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2018-11-28 16:47:49 +01:00
|
|
|
":alr_detector",
|
|
|
|
|
":delay_based_bwe",
|
2018-09-04 18:55:14 +02:00
|
|
|
":estimators",
|
2018-07-03 18:11:45 +02:00
|
|
|
":goog_cc",
|
2019-08-07 12:24:53 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2018-10-09 19:02:03 +02:00
|
|
|
"../../../api/transport:goog_cc",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../../../api/transport:network_control",
|
|
|
|
|
"../../../api/units:timestamp",
|
|
|
|
|
"../../../rtc_base:checks",
|
2019-05-17 17:53:44 +02:00
|
|
|
"../../../test/logging:log_writer",
|
2019-03-21 13:35:10 +01:00
|
|
|
"../../remote_bitrate_estimator",
|
2018-07-03 18:11:45 +02:00
|
|
|
]
|
2020-06-05 14:30:41 +02:00
|
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
|
2018-07-03 18:11:45 +02:00
|
|
|
}
|
2019-10-17 21:32:04 +02:00
|
|
|
rtc_library("goog_cc_unittests") {
|
2018-02-28 16:48:00 +01:00
|
|
|
testonly = true
|
|
|
|
|
|
|
|
|
|
sources = [
|
|
|
|
|
"acknowledged_bitrate_estimator_unittest.cc",
|
|
|
|
|
"alr_detector_unittest.cc",
|
2018-10-11 15:02:12 +02:00
|
|
|
"congestion_window_pushback_controller_unittest.cc",
|
2018-02-28 16:48:00 +01:00
|
|
|
"delay_based_bwe_unittest.cc",
|
|
|
|
|
"delay_based_bwe_unittest_helper.cc",
|
|
|
|
|
"delay_based_bwe_unittest_helper.h",
|
2018-08-30 14:57:40 +02:00
|
|
|
"goog_cc_network_control_unittest.cc",
|
2018-02-28 16:48:00 +01:00
|
|
|
"probe_bitrate_estimator_unittest.cc",
|
|
|
|
|
"probe_controller_unittest.cc",
|
2019-11-11 21:00:18 +01:00
|
|
|
"robust_throughput_estimator_unittest.cc",
|
2019-09-24 16:52:01 +02:00
|
|
|
"send_side_bandwidth_estimation_unittest.cc",
|
2018-02-28 16:48:00 +01:00
|
|
|
"trendline_estimator_unittest.cc",
|
|
|
|
|
]
|
|
|
|
|
deps = [
|
2018-06-25 17:56:08 +02:00
|
|
|
":alr_detector",
|
2018-02-28 16:48:00 +01:00
|
|
|
":delay_based_bwe",
|
|
|
|
|
":estimators",
|
|
|
|
|
":goog_cc",
|
2019-09-24 16:52:01 +02:00
|
|
|
":loss_based_controller",
|
2018-07-13 17:22:01 +02:00
|
|
|
":probe_controller",
|
2018-10-11 15:02:12 +02:00
|
|
|
":pushback_controller",
|
2019-09-24 16:52:01 +02:00
|
|
|
"../../../api/rtc_event_log",
|
2021-01-14 09:50:32 +00:00
|
|
|
"../../../api/test/network_emulation",
|
|
|
|
|
"../../../api/test/network_emulation:create_cross_traffic",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:field_trial_based_config",
|
2018-10-09 19:02:03 +02:00
|
|
|
"../../../api/transport:goog_cc",
|
2018-05-09 10:33:39 +02:00
|
|
|
"../../../api/transport:network_control",
|
2019-01-17 16:24:12 +01:00
|
|
|
"../../../api/transport:webrtc_key_value_config",
|
2018-11-28 16:47:49 +01:00
|
|
|
"../../../api/units:data_rate",
|
|
|
|
|
"../../../api/units:timestamp",
|
2018-08-30 14:57:40 +02:00
|
|
|
"../../../logging:mocks",
|
2019-09-24 16:52:01 +02:00
|
|
|
"../../../logging:rtc_event_bwe",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../rtc_base:checks",
|
|
|
|
|
"../../../rtc_base:rtc_base_approved",
|
|
|
|
|
"../../../rtc_base:rtc_base_tests_utils",
|
|
|
|
|
"../../../rtc_base/experiments:alr_experiment",
|
|
|
|
|
"../../../system_wrappers",
|
2020-11-06 18:05:38 +01:00
|
|
|
"../../../test:explicit_key_value_config",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../../test:field_trial",
|
|
|
|
|
"../../../test:test_support",
|
2018-09-27 19:08:21 +02:00
|
|
|
"../../../test/scenario",
|
2018-02-28 16:48:00 +01:00
|
|
|
"../../pacing",
|
|
|
|
|
"//testing/gmock",
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|