blob: 0b2d2cdeb1fbe33153f6efcaa2cd362c0d17a290 [file] [log] [blame]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +00001# Copyright (c) 2014 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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
kjellanderfb114242016-06-13 00:19:48 -070010
Mirko Bonadei86d053c2019-10-17 21:32:04 +020011rtc_library("remote_bitrate_estimator") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000012 visibility = [ "*" ]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000013 sources = [
pbos@webrtc.org9f79fe62014-12-04 15:34:06 +000014 "aimd_rate_control.cc",
15 "aimd_rate_control.h",
stefan64636dd2016-08-03 00:29:03 -070016 "bwe_defines.cc",
kjellander5c1d0432016-06-09 02:40:58 -070017 "include/bwe_defines.h",
18 "include/remote_bitrate_estimator.h",
pbos@webrtc.org9f79fe62014-12-04 15:34:06 +000019 "inter_arrival.cc",
20 "inter_arrival.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000021 "overuse_detector.cc",
22 "overuse_detector.h",
pbos@webrtc.org9f79fe62014-12-04 15:34:06 +000023 "overuse_estimator.cc",
24 "overuse_estimator.h",
25 "remote_bitrate_estimator_abs_send_time.cc",
kjellander5c1d0432016-06-09 02:40:58 -070026 "remote_bitrate_estimator_abs_send_time.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000027 "remote_bitrate_estimator_single_stream.cc",
kjellander5c1d0432016-06-09 02:40:58 -070028 "remote_bitrate_estimator_single_stream.h",
Erik Språng6b8d3552015-09-24 15:06:57 +020029 "remote_estimator_proxy.cc",
30 "remote_estimator_proxy.h",
kjellander5c1d0432016-06-09 02:40:58 -070031 "test/bwe_test_logging.h",
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000032 ]
kjellander@webrtc.org9bef5512014-07-13 09:02:54 +000033
gaetano.carlucci61050f62016-09-30 06:29:54 -070034 if (rtc_enable_bwe_test_logging) {
35 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
Mirko Bonadei7255fef2018-09-11 10:49:41 +020036
gaetano.carlucci61050f62016-09-30 06:29:54 -070037 sources += [ "test/bwe_test_logging.cc" ]
38 } else {
39 defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
brucedawson07df20b2016-05-22 17:15:02 -070040 }
41
kjellander5c1d0432016-06-09 02:40:58 -070042 deps = [
Ying Wang0810a7c2019-04-10 13:48:24 +020043 "../../api:network_state_predictor_api",
Niels Mölleref1052a2019-03-20 08:40:23 +010044 "../../api:rtp_headers",
Per Kjellander494947b2019-04-16 14:50:08 +020045 "../../api/transport:field_trial_based_config",
Sebastian Janssondf88cc02019-04-15 15:42:25 +020046 "../../api/transport:network_control",
Per Kjellander494947b2019-04-16 14:50:08 +020047 "../../api/transport:webrtc_key_value_config",
Sebastian Jansson7c1744d2018-10-08 11:00:50 +020048 "../../api/units:data_rate",
Sebastian Jansson5f009952018-11-19 18:02:20 +010049 "../../api/units:timestamp",
Danil Chapovalov599df852017-09-25 15:19:35 +020050 "../../modules:module_api",
Yves Gerey988cc082018-10-23 12:03:01 +020051 "../../modules:module_api_public",
Sebastian Jansson051251f2018-11-29 18:36:42 +010052 "../../modules/congestion_controller/goog_cc:link_capacity_estimator",
Danil Chapovalov599df852017-09-25 15:19:35 +020053 "../../modules/rtp_rtcp:rtp_rtcp_format",
Patrik Höglunda8005cf2017-12-13 16:05:42 +010054 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -070055 "../../rtc_base:rtc_base_approved",
Johannes Kron3c15f462019-04-02 15:54:22 +020056 "../../rtc_base:rtc_numerics",
Karl Wiberg12edf4c2018-03-07 14:18:56 +010057 "../../rtc_base:safe_minmax",
Christoffer Rodbroed2207a2019-03-27 16:18:39 +010058 "../../rtc_base/experiments:field_trial_parser",
Markus Handelledcb9072020-07-07 14:12:15 +020059 "../../rtc_base/synchronization:mutex",
kjellander5c1d0432016-06-09 02:40:58 -070060 "../../system_wrappers",
Mirko Bonadei17f48782018-09-28 08:51:10 +020061 "../../system_wrappers:field_trial",
62 "../../system_wrappers:metrics",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020063 ]
64 absl_deps = [
Mirko Bonadei06d35592020-04-01 13:43:08 +020065 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0040b662018-06-18 10:48:16 +020066 "//third_party/abseil-cpp/absl/types:optional",
kjellander5c1d0432016-06-09 02:40:58 -070067 ]
kjellander@webrtc.org1227ab82014-06-23 19:21:07 +000068}
kjellanderfb114242016-06-13 00:19:48 -070069
mbonadei2877eaf2017-09-05 03:01:45 -070070if (!build_with_chromium) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +020071 rtc_library("bwe_rtp") {
mbonadei2877eaf2017-09-05 03:01:45 -070072 testonly = true
73 sources = [
74 "tools/bwe_rtp.cc",
75 "tools/bwe_rtp.h",
76 ]
77 deps = [
78 ":remote_bitrate_estimator",
79 "../../rtc_base:rtc_base_approved",
80 "../../test:rtp_test_utils",
Mirko Bonadeib5728d92017-12-06 07:51:33 +010081 "../rtp_rtcp",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020082 ]
83 absl_deps = [
Mirko Bonadei79e4c922019-07-08 11:52:24 +020084 "//third_party/abseil-cpp/absl/flags:flag",
85 "//third_party/abseil-cpp/absl/flags:parse",
86 ]
87 }
88
89 rtc_executable("rtp_to_text") {
90 testonly = true
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010091 sources = [ "tools/rtp_to_text.cc" ]
Mirko Bonadei79e4c922019-07-08 11:52:24 +020092 deps = [
93 ":bwe_rtp",
94 "../../modules/rtp_rtcp",
95 "../../rtc_base:macromagic",
96 "../../rtc_base:stringutils",
97 "../../test:rtp_test_utils",
mbonadei2877eaf2017-09-05 03:01:45 -070098 ]
mbonadei2877eaf2017-09-05 03:01:45 -070099 }
100}
101
kjellanderfb114242016-06-13 00:19:48 -0700102if (rtc_include_tests) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200103 rtc_library("remote_bitrate_estimator_unittests") {
ehmaldonado36268652017-01-19 08:27:11 -0800104 testonly = true
kjellandere0629c02017-04-25 04:04:50 -0700105
ehmaldonado36268652017-01-19 08:27:11 -0800106 sources = [
107 "aimd_rate_control_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800108 "inter_arrival_unittest.cc",
109 "overuse_detector_unittest.cc",
110 "remote_bitrate_estimator_abs_send_time_unittest.cc",
111 "remote_bitrate_estimator_single_stream_unittest.cc",
112 "remote_bitrate_estimator_unittest_helper.cc",
113 "remote_bitrate_estimator_unittest_helper.h",
114 "remote_estimator_proxy_unittest.cc",
ehmaldonado36268652017-01-19 08:27:11 -0800115 ]
116 deps = [
ehmaldonado36268652017-01-19 08:27:11 -0800117 ":remote_bitrate_estimator",
Yves Gerey3e707812018-11-28 16:47:49 +0100118 "..:module_api_public",
ehmaldonado36268652017-01-19 08:27:11 -0800119 "../..:webrtc_common",
Per Kjellander494947b2019-04-16 14:50:08 +0200120 "../../api/transport:field_trial_based_config",
Per Kjellander52f7ae72019-09-10 19:28:06 +0200121 "../../api/transport:mock_network_control",
Per Kjellanderee153c92019-10-10 16:43:46 +0200122 "../../api/transport:network_control",
Artem Titov94b57c02019-03-21 13:35:10 +0100123 "../../rtc_base",
Patrik Höglunda8005cf2017-12-13 16:05:42 +0100124 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -0700125 "../../rtc_base:rtc_base_approved",
Mirko Bonadeia498ae82017-12-06 09:17:14 +0100126 "../../system_wrappers",
ehmaldonado36268652017-01-19 08:27:11 -0800127 "../../test:field_trial",
Patrik Höglund7696bef2018-03-15 15:05:39 +0100128 "../../test:fileutils",
ehmaldonado36268652017-01-19 08:27:11 -0800129 "../../test:test_support",
Artem Titov94b57c02019-03-21 13:35:10 +0100130 "../pacing",
Mirko Bonadeib5728d92017-12-06 07:51:33 +0100131 "../rtp_rtcp:rtp_rtcp_format",
ehmaldonado36268652017-01-19 08:27:11 -0800132 ]
ehmaldonado36268652017-01-19 08:27:11 -0800133 }
kjellanderfb114242016-06-13 00:19:48 -0700134}