blob: 5788484025b5972014c3f22fd9f870722325048e [file] [log] [blame]
Sebastian Janssoncabe3832018-01-12 10:54:18 +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
Mirko Bonadei86d053c2019-10-17 21:32:04 +020011rtc_library("alr_experiment") {
Sebastian Janssoncabe3832018-01-12 10:54:18 +010012 sources = [
13 "alr_experiment.cc",
14 "alr_experiment.h",
15 ]
16 deps = [
17 "../:rtc_base_approved",
Per Kjellander5b698732019-04-15 12:36:33 +020018 "../../api/transport:field_trial_based_config",
19 "../../api/transport:webrtc_key_value_config",
Sebastian Janssoncabe3832018-01-12 10:54:18 +010020 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020021 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Sebastian Janssoncabe3832018-01-12 10:54:18 +010022}
Sebastian Jansson2808ae92018-04-09 11:13:04 +020023
Mirko Bonadei86d053c2019-10-17 21:32:04 +020024rtc_library("field_trial_parser") {
Sebastian Jansson9eb38862018-06-14 16:47:42 +020025 sources = [
Jonas Olsson97d84ef2019-04-11 11:53:26 +020026 "field_trial_list.cc",
27 "field_trial_list.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020028 "field_trial_parser.cc",
29 "field_trial_parser.h",
30 "field_trial_units.cc",
31 "field_trial_units.h",
Sebastian Jansson55251c32019-08-08 11:14:51 +020032 "struct_parameters_parser.cc",
33 "struct_parameters_parser.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020034 ]
35 deps = [
Sebastian Jansson9eb38862018-06-14 16:47:42 +020036 "../../api/units:data_rate",
37 "../../api/units:data_size",
38 "../../api/units:time_delta",
Sebastian Janssonfea46372018-09-03 10:15:13 +020039 "../../rtc_base:checks",
Sebastian Jansson07536752018-10-16 11:34:04 +020040 "../../rtc_base:logging",
Bjorn Terelius9f00f0e2019-08-30 09:39:31 +020041 "../../rtc_base:safe_conversions",
Jonas Olsson97d84ef2019-04-11 11:53:26 +020042 "../../rtc_base:stringutils",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020043 ]
44 absl_deps = [
Mirko Bonadei317a1f02019-09-17 17:06:18 +020045 "//third_party/abseil-cpp/absl/memory",
Sebastian Jansson55251c32019-08-08 11:14:51 +020046 "//third_party/abseil-cpp/absl/strings:strings",
Danil Chapovalov0a1d1892018-06-21 11:48:25 +020047 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020048 ]
49}
50
Åsa Perssone644a032019-11-08 15:56:00 +010051rtc_library("quality_rampup_experiment") {
52 sources = [
53 "quality_rampup_experiment.cc",
54 "quality_rampup_experiment.h",
55 ]
56 deps = [
57 ":field_trial_parser",
58 "../:rtc_base_approved",
59 "../../api/transport:field_trial_based_config",
60 "../../api/transport:webrtc_key_value_config",
61 "../../system_wrappers:field_trial",
Åsa Perssone644a032019-11-08 15:56:00 +010062 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020063 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssone644a032019-11-08 15:56:00 +010064}
65
Mirko Bonadei86d053c2019-10-17 21:32:04 +020066rtc_library("quality_scaler_settings") {
Åsa Persson517678c2019-05-06 14:17:35 +020067 sources = [
68 "quality_scaler_settings.cc",
69 "quality_scaler_settings.h",
70 ]
71 deps = [
72 ":field_trial_parser",
73 "../:rtc_base_approved",
74 "../../api/transport:field_trial_based_config",
75 "../../api/transport:webrtc_key_value_config",
76 "../../system_wrappers:field_trial",
Åsa Persson517678c2019-05-06 14:17:35 +020077 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020078 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson517678c2019-05-06 14:17:35 +020079}
80
Shuhai Pengf2707702021-09-29 17:19:44 +080081rtc_library("bandwidth_quality_scaler_settings") {
82 sources = [
83 "bandwidth_quality_scaler_settings.cc",
84 "bandwidth_quality_scaler_settings.h",
85 ]
86 deps = [
87 ":field_trial_parser",
88 "../:rtc_base_approved",
89 "../../api/transport:field_trial_based_config",
90 "../../api/transport:webrtc_key_value_config",
91 "../../system_wrappers:field_trial",
92 ]
93 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
94}
95
Mirko Bonadei86d053c2019-10-17 21:32:04 +020096rtc_library("quality_scaling_experiment") {
Åsa Perssona945aee2018-04-24 16:53:25 +020097 sources = [
98 "quality_scaling_experiment.cc",
99 "quality_scaling_experiment.h",
100 ]
101 deps = [
102 "../:rtc_base_approved",
Åsa Perssona945aee2018-04-24 16:53:25 +0200103 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200104 "../../system_wrappers:field_trial",
Åsa Perssona945aee2018-04-24 16:53:25 +0200105 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200106 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssona945aee2018-04-24 16:53:25 +0200107}
108
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200109rtc_library("normalize_simulcast_size_experiment") {
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200110 sources = [
111 "normalize_simulcast_size_experiment.cc",
112 "normalize_simulcast_size_experiment.h",
113 ]
114 deps = [
115 "../:rtc_base_approved",
116 "../../system_wrappers:field_trial",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200117 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200118 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200119}
120
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200121rtc_library("balanced_degradation_settings") {
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200122 sources = [
123 "balanced_degradation_settings.cc",
124 "balanced_degradation_settings.h",
125 ]
126 deps = [
127 ":field_trial_parser",
128 "../:rtc_base_approved",
Jonas Orelandc7f691a2022-03-09 15:12:07 +0100129 "../../api:webrtc_key_value_config",
Åsa Persson12314192019-06-20 15:45:07 +0200130 "../../api/video_codecs:video_codecs_api",
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200131 "../../system_wrappers:field_trial",
132 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200133 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200134}
135
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200136rtc_library("cpu_speed_experiment") {
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100137 sources = [
138 "cpu_speed_experiment.cc",
139 "cpu_speed_experiment.h",
140 ]
141 deps = [
Åsa Persson869e9fb2020-07-28 12:49:49 +0200142 ":field_trial_parser",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100143 "../:rtc_base_approved",
144 "../../system_wrappers:field_trial",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100145 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200146 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100147}
148
Åsa Perssona7e34d32021-01-20 15:36:13 +0100149rtc_library("encoder_info_settings") {
150 sources = [
151 "encoder_info_settings.cc",
152 "encoder_info_settings.h",
153 ]
154 deps = [
155 ":field_trial_parser",
156 "../:rtc_base_approved",
157 "../../api/video_codecs:video_codecs_api",
158 "../../system_wrappers:field_trial",
159 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100160 absl_deps = [
161 "//third_party/abseil-cpp/absl/strings",
162 "//third_party/abseil-cpp/absl/types:optional",
163 ]
Åsa Perssona7e34d32021-01-20 15:36:13 +0100164}
165
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200166rtc_library("rtt_mult_experiment") {
“Michaelf9fc1712018-08-27 10:08:58 -0500167 sources = [
168 "rtt_mult_experiment.cc",
169 "rtt_mult_experiment.h",
170 ]
171 deps = [
172 "../:rtc_base_approved",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200173 "../../system_wrappers:field_trial",
“Michaelf9fc1712018-08-27 10:08:58 -0500174 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200175 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
“Michaelf9fc1712018-08-27 10:08:58 -0500176}
177
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200178rtc_library("jitter_upper_bound_experiment") {
Erik Språngb1e031a2018-11-01 11:20:49 +0100179 sources = [
180 "jitter_upper_bound_experiment.cc",
181 "jitter_upper_bound_experiment.h",
182 ]
183 deps = [
184 "../:rtc_base_approved",
185 "../../system_wrappers:field_trial",
Erik Språngb1e031a2018-11-01 11:20:49 +0100186 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200187 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngb1e031a2018-11-01 11:20:49 +0100188}
189
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200190rtc_library("rate_control_settings") {
Erik Språng71215642019-01-21 16:30:55 +0100191 sources = [
192 "rate_control_settings.cc",
193 "rate_control_settings.h",
194 ]
195 deps = [
196 ":field_trial_parser",
197 "../:rtc_base_approved",
198 "../../api/transport:field_trial_based_config",
199 "../../api/transport:webrtc_key_value_config",
Christoffer Rodbro034f7672019-12-06 13:13:40 +0100200 "../../api/units:data_size",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100201 "../../api/video_codecs:video_codecs_api",
Erik Språng71215642019-01-21 16:30:55 +0100202 "../../system_wrappers:field_trial",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200203 ]
204 absl_deps = [
Mirko Bonadei06d35592020-04-01 13:43:08 +0200205 "//third_party/abseil-cpp/absl/strings",
Erik Språng71215642019-01-21 16:30:55 +0100206 "//third_party/abseil-cpp/absl/types:optional",
207 ]
208}
209
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200210rtc_library("keyframe_interval_settings_experiment") {
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100211 sources = [
212 "keyframe_interval_settings.cc",
213 "keyframe_interval_settings.h",
214 ]
215 deps = [
216 ":field_trial_parser",
217 "../../api/transport:field_trial_based_config",
218 "../../api/transport:webrtc_key_value_config",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100219 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200220 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100221}
222
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200223rtc_library("stable_target_rate_experiment") {
Erik Språngadfb4f72019-08-23 20:02:13 +0200224 sources = [
225 "stable_target_rate_experiment.cc",
226 "stable_target_rate_experiment.h",
227 ]
228 deps = [
229 ":field_trial_parser",
230 ":rate_control_settings",
231 "../../api/transport:field_trial_based_config",
232 "../../api/transport:webrtc_key_value_config",
Erik Språngadfb4f72019-08-23 20:02:13 +0200233 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200234 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngadfb4f72019-08-23 20:02:13 +0200235}
236
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200237rtc_library("min_video_bitrate_experiment") {
Elad Alon80f53b72019-10-11 16:19:43 +0200238 sources = [
239 "min_video_bitrate_experiment.cc",
240 "min_video_bitrate_experiment.h",
241 ]
242 deps = [
243 ":field_trial_parser",
244 "../../api/units:data_rate",
245 "../../api/video:video_frame",
246 "../../rtc_base:checks",
247 "../../rtc_base:logging",
248 "../../system_wrappers:field_trial",
Elad Alon80f53b72019-10-11 16:19:43 +0200249 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200250 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Elad Alon80f53b72019-10-11 16:19:43 +0200251}
252
Andrey Logvine7c79fd2021-02-01 09:56:37 +0000253if (rtc_include_tests && !build_with_chromium) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200254 rtc_library("experiments_unittests") {
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200255 testonly = true
256
257 sources = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200258 "balanced_degradation_settings_unittest.cc",
Shuhai Pengf2707702021-09-29 17:19:44 +0800259 "bandwidth_quality_scaler_settings_unittest.cc",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100260 "cpu_speed_experiment_unittest.cc",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100261 "encoder_info_settings_unittest.cc",
Jonas Olsson97d84ef2019-04-11 11:53:26 +0200262 "field_trial_list_unittest.cc",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200263 "field_trial_parser_unittest.cc",
264 "field_trial_units_unittest.cc",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100265 "keyframe_interval_settings_unittest.cc",
Elad Alon80f53b72019-10-11 16:19:43 +0200266 "min_video_bitrate_experiment_unittest.cc",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200267 "normalize_simulcast_size_experiment_unittest.cc",
Åsa Perssone644a032019-11-08 15:56:00 +0100268 "quality_rampup_experiment_unittest.cc",
Åsa Persson517678c2019-05-06 14:17:35 +0200269 "quality_scaler_settings_unittest.cc",
Åsa Perssona945aee2018-04-24 16:53:25 +0200270 "quality_scaling_experiment_unittest.cc",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100271 "rate_control_settings_unittest.cc",
“Michaelf9fc1712018-08-27 10:08:58 -0500272 "rtt_mult_experiment_unittest.cc",
Erik Språngadfb4f72019-08-23 20:02:13 +0200273 "stable_target_rate_experiment_unittest.cc",
Sebastian Jansson55251c32019-08-08 11:14:51 +0200274 "struct_parameters_parser_unittest.cc",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200275 ]
276 deps = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200277 ":balanced_degradation_settings",
Shuhai Pengf2707702021-09-29 17:19:44 +0800278 ":bandwidth_quality_scaler_settings",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100279 ":cpu_speed_experiment",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100280 ":encoder_info_settings",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200281 ":field_trial_parser",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100282 ":keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 16:19:43 +0200283 ":min_video_bitrate_experiment",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200284 ":normalize_simulcast_size_experiment",
Åsa Perssone644a032019-11-08 15:56:00 +0100285 ":quality_rampup_experiment",
Åsa Persson517678c2019-05-06 14:17:35 +0200286 ":quality_scaler_settings",
Åsa Perssona945aee2018-04-24 16:53:25 +0200287 ":quality_scaling_experiment",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100288 ":rate_control_settings",
“Michaelf9fc1712018-08-27 10:08:58 -0500289 ":rtt_mult_experiment",
Erik Språngadfb4f72019-08-23 20:02:13 +0200290 ":stable_target_rate_experiment",
Mirko Bonadeie3abb812018-11-23 13:15:08 +0100291 "..:gunit_helpers",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200292 "../:rtc_base_tests_utils",
Elad Alon80f53b72019-10-11 16:19:43 +0200293 "../../api/units:data_rate",
294 "../../api/video:video_frame",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100295 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200296 "../../system_wrappers:field_trial",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200297 "../../test:field_trial",
Jonas Orelandc7f691a2022-03-09 15:12:07 +0100298 "../../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 13:01:58 +0200299 "../../test:test_main",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100300 "../../test:test_support",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200301 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100302 absl_deps = [
303 "//third_party/abseil-cpp/absl/strings",
304 "//third_party/abseil-cpp/absl/types:optional",
305 ]
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200306 }
307}