blob: fffd5a0f79abcf15bb6d0fab9cf077dfb70d9e5a [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 = [
Florent Castelli0af55ba2022-04-04 15:06:30 +020017 "..:logging",
Sebastian Janssoncabe3832018-01-12 10:54:18 +010018 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020019 "../../api:field_trials_view",
Per Kjellander5b698732019-04-15 12:36:33 +020020 "../../api/transport:field_trial_based_config",
Sebastian Janssoncabe3832018-01-12 10:54:18 +010021 ]
Ali Tofigh2ab914c2022-04-13 12:55:15 +020022 absl_deps = [
23 "//third_party/abseil-cpp/absl/strings:strings",
24 "//third_party/abseil-cpp/absl/types:optional",
25 ]
Sebastian Janssoncabe3832018-01-12 10:54:18 +010026}
Sebastian Jansson2808ae92018-04-09 11:13:04 +020027
Mirko Bonadei86d053c2019-10-17 21:32:04 +020028rtc_library("field_trial_parser") {
Sebastian Jansson9eb38862018-06-14 16:47:42 +020029 sources = [
Jonas Olsson97d84ef2019-04-11 11:53:26 +020030 "field_trial_list.cc",
31 "field_trial_list.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020032 "field_trial_parser.cc",
33 "field_trial_parser.h",
34 "field_trial_units.cc",
35 "field_trial_units.h",
Sebastian Jansson55251c32019-08-08 11:14:51 +020036 "struct_parameters_parser.cc",
37 "struct_parameters_parser.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020038 ]
39 deps = [
Sebastian Jansson9eb38862018-06-14 16:47:42 +020040 "../../api/units:data_rate",
41 "../../api/units:data_size",
42 "../../api/units:time_delta",
Sebastian Janssonfea46372018-09-03 10:15:13 +020043 "../../rtc_base:checks",
Sebastian Jansson07536752018-10-16 11:34:04 +020044 "../../rtc_base:logging",
Bjorn Terelius9f00f0e2019-08-30 09:39:31 +020045 "../../rtc_base:safe_conversions",
Jonas Olsson97d84ef2019-04-11 11:53:26 +020046 "../../rtc_base:stringutils",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020047 ]
48 absl_deps = [
Mirko Bonadei317a1f02019-09-17 17:06:18 +020049 "//third_party/abseil-cpp/absl/memory",
Sebastian Jansson55251c32019-08-08 11:14:51 +020050 "//third_party/abseil-cpp/absl/strings:strings",
Danil Chapovalov0a1d1892018-06-21 11:48:25 +020051 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020052 ]
53}
54
Åsa Perssone644a032019-11-08 15:56:00 +010055rtc_library("quality_rampup_experiment") {
56 sources = [
57 "quality_rampup_experiment.cc",
58 "quality_rampup_experiment.h",
59 ]
60 deps = [
61 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020062 "..:logging",
Åsa Perssone644a032019-11-08 15:56:00 +010063 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020064 "../../api:field_trials_view",
Åsa Perssone644a032019-11-08 15:56:00 +010065 "../../api/transport:field_trial_based_config",
Åsa Perssone644a032019-11-08 15:56:00 +010066 "../../system_wrappers:field_trial",
Åsa Perssone644a032019-11-08 15:56:00 +010067 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020068 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssone644a032019-11-08 15:56:00 +010069}
70
Mirko Bonadei86d053c2019-10-17 21:32:04 +020071rtc_library("quality_scaler_settings") {
Åsa Persson517678c2019-05-06 14:17:35 +020072 sources = [
73 "quality_scaler_settings.cc",
74 "quality_scaler_settings.h",
75 ]
76 deps = [
77 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020078 "..:logging",
Åsa Persson517678c2019-05-06 14:17:35 +020079 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020080 "../../api:field_trials_view",
Åsa Persson517678c2019-05-06 14:17:35 +020081 "../../api/transport:field_trial_based_config",
Åsa Persson517678c2019-05-06 14:17:35 +020082 "../../system_wrappers:field_trial",
Åsa Persson517678c2019-05-06 14:17:35 +020083 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020084 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson517678c2019-05-06 14:17:35 +020085}
86
Shuhai Pengf2707702021-09-29 17:19:44 +080087rtc_library("bandwidth_quality_scaler_settings") {
88 sources = [
89 "bandwidth_quality_scaler_settings.cc",
90 "bandwidth_quality_scaler_settings.h",
91 ]
92 deps = [
93 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020094 "..:logging",
Shuhai Pengf2707702021-09-29 17:19:44 +080095 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020096 "../../api:field_trials_view",
Shuhai Pengf2707702021-09-29 17:19:44 +080097 "../../api/transport:field_trial_based_config",
Shuhai Pengf2707702021-09-29 17:19:44 +080098 "../../system_wrappers:field_trial",
99 ]
100 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
101}
102
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200103rtc_library("quality_scaling_experiment") {
Åsa Perssona945aee2018-04-24 16:53:25 +0200104 sources = [
105 "quality_scaling_experiment.cc",
106 "quality_scaling_experiment.h",
107 ]
108 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200109 "..:logging",
Åsa Perssona945aee2018-04-24 16:53:25 +0200110 "../:rtc_base_approved",
Åsa Perssona945aee2018-04-24 16:53:25 +0200111 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200112 "../../system_wrappers:field_trial",
Åsa Perssona945aee2018-04-24 16:53:25 +0200113 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200114 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssona945aee2018-04-24 16:53:25 +0200115}
116
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200117rtc_library("normalize_simulcast_size_experiment") {
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200118 sources = [
119 "normalize_simulcast_size_experiment.cc",
120 "normalize_simulcast_size_experiment.h",
121 ]
122 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200123 "..:logging",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200124 "../:rtc_base_approved",
125 "../../system_wrappers:field_trial",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200126 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200127 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200128}
129
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200130rtc_library("balanced_degradation_settings") {
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200131 sources = [
132 "balanced_degradation_settings.cc",
133 "balanced_degradation_settings.h",
134 ]
135 deps = [
136 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200137 "..:logging",
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200138 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200139 "../../api:field_trials_view",
Åsa Persson12314192019-06-20 15:45:07 +0200140 "../../api/video_codecs:video_codecs_api",
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200141 "../../system_wrappers:field_trial",
142 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200143 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200144}
145
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200146rtc_library("cpu_speed_experiment") {
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100147 sources = [
148 "cpu_speed_experiment.cc",
149 "cpu_speed_experiment.h",
150 ]
151 deps = [
Åsa Persson869e9fb2020-07-28 12:49:49 +0200152 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200153 "..:logging",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100154 "../:rtc_base_approved",
155 "../../system_wrappers:field_trial",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100156 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200157 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100158}
159
Åsa Perssona7e34d32021-01-20 15:36:13 +0100160rtc_library("encoder_info_settings") {
161 sources = [
162 "encoder_info_settings.cc",
163 "encoder_info_settings.h",
164 ]
165 deps = [
166 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200167 "..:logging",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100168 "../:rtc_base_approved",
169 "../../api/video_codecs:video_codecs_api",
170 "../../system_wrappers:field_trial",
171 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100172 absl_deps = [
173 "//third_party/abseil-cpp/absl/strings",
174 "//third_party/abseil-cpp/absl/types:optional",
175 ]
Åsa Perssona7e34d32021-01-20 15:36:13 +0100176}
177
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200178rtc_library("rtt_mult_experiment") {
“Michaelf9fc1712018-08-27 10:08:58 -0500179 sources = [
180 "rtt_mult_experiment.cc",
181 "rtt_mult_experiment.h",
182 ]
183 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200184 "..:logging",
“Michaelf9fc1712018-08-27 10:08:58 -0500185 "../:rtc_base_approved",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200186 "../../system_wrappers:field_trial",
“Michaelf9fc1712018-08-27 10:08:58 -0500187 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200188 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
“Michaelf9fc1712018-08-27 10:08:58 -0500189}
190
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200191rtc_library("jitter_upper_bound_experiment") {
Erik Språngb1e031a2018-11-01 11:20:49 +0100192 sources = [
193 "jitter_upper_bound_experiment.cc",
194 "jitter_upper_bound_experiment.h",
195 ]
196 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200197 "..:logging",
Erik Språngb1e031a2018-11-01 11:20:49 +0100198 "../:rtc_base_approved",
199 "../../system_wrappers:field_trial",
Erik Språngb1e031a2018-11-01 11:20:49 +0100200 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200201 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngb1e031a2018-11-01 11:20:49 +0100202}
203
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200204rtc_library("rate_control_settings") {
Erik Språng71215642019-01-21 16:30:55 +0100205 sources = [
206 "rate_control_settings.cc",
207 "rate_control_settings.h",
208 ]
209 deps = [
210 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200211 "..:logging",
Florent Castellie10a9f62022-04-04 17:04:37 +0200212 "..:safe_conversions",
Erik Språng71215642019-01-21 16:30:55 +0100213 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200214 "../../api:field_trials_view",
Erik Språng71215642019-01-21 16:30:55 +0100215 "../../api/transport:field_trial_based_config",
Christoffer Rodbro034f7672019-12-06 13:13:40 +0100216 "../../api/units:data_size",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100217 "../../api/video_codecs:video_codecs_api",
Erik Språng71215642019-01-21 16:30:55 +0100218 "../../system_wrappers:field_trial",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200219 ]
220 absl_deps = [
Mirko Bonadei06d35592020-04-01 13:43:08 +0200221 "//third_party/abseil-cpp/absl/strings",
Erik Språng71215642019-01-21 16:30:55 +0100222 "//third_party/abseil-cpp/absl/types:optional",
223 ]
224}
225
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200226rtc_library("keyframe_interval_settings_experiment") {
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100227 sources = [
228 "keyframe_interval_settings.cc",
229 "keyframe_interval_settings.h",
230 ]
231 deps = [
232 ":field_trial_parser",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200233 "../../api:field_trials_view",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100234 "../../api/transport:field_trial_based_config",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100235 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200236 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100237}
238
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200239rtc_library("stable_target_rate_experiment") {
Erik Språngadfb4f72019-08-23 20:02:13 +0200240 sources = [
241 "stable_target_rate_experiment.cc",
242 "stable_target_rate_experiment.h",
243 ]
244 deps = [
245 ":field_trial_parser",
246 ":rate_control_settings",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200247 "../../api:field_trials_view",
Erik Språngadfb4f72019-08-23 20:02:13 +0200248 "../../api/transport:field_trial_based_config",
Erik Språngadfb4f72019-08-23 20:02:13 +0200249 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200250 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngadfb4f72019-08-23 20:02:13 +0200251}
252
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200253rtc_library("min_video_bitrate_experiment") {
Elad Alon80f53b72019-10-11 16:19:43 +0200254 sources = [
255 "min_video_bitrate_experiment.cc",
256 "min_video_bitrate_experiment.h",
257 ]
258 deps = [
259 ":field_trial_parser",
260 "../../api/units:data_rate",
261 "../../api/video:video_frame",
262 "../../rtc_base:checks",
263 "../../rtc_base:logging",
264 "../../system_wrappers:field_trial",
Elad Alon80f53b72019-10-11 16:19:43 +0200265 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200266 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Elad Alon80f53b72019-10-11 16:19:43 +0200267}
268
Andrey Logvine7c79fd2021-02-01 09:56:37 +0000269if (rtc_include_tests && !build_with_chromium) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200270 rtc_library("experiments_unittests") {
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200271 testonly = true
272
273 sources = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200274 "balanced_degradation_settings_unittest.cc",
Shuhai Pengf2707702021-09-29 17:19:44 +0800275 "bandwidth_quality_scaler_settings_unittest.cc",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100276 "cpu_speed_experiment_unittest.cc",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100277 "encoder_info_settings_unittest.cc",
Jonas Olsson97d84ef2019-04-11 11:53:26 +0200278 "field_trial_list_unittest.cc",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200279 "field_trial_parser_unittest.cc",
280 "field_trial_units_unittest.cc",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100281 "keyframe_interval_settings_unittest.cc",
Elad Alon80f53b72019-10-11 16:19:43 +0200282 "min_video_bitrate_experiment_unittest.cc",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200283 "normalize_simulcast_size_experiment_unittest.cc",
Åsa Perssone644a032019-11-08 15:56:00 +0100284 "quality_rampup_experiment_unittest.cc",
Åsa Persson517678c2019-05-06 14:17:35 +0200285 "quality_scaler_settings_unittest.cc",
Åsa Perssona945aee2018-04-24 16:53:25 +0200286 "quality_scaling_experiment_unittest.cc",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100287 "rate_control_settings_unittest.cc",
“Michaelf9fc1712018-08-27 10:08:58 -0500288 "rtt_mult_experiment_unittest.cc",
Erik Språngadfb4f72019-08-23 20:02:13 +0200289 "stable_target_rate_experiment_unittest.cc",
Sebastian Jansson55251c32019-08-08 11:14:51 +0200290 "struct_parameters_parser_unittest.cc",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200291 ]
292 deps = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200293 ":balanced_degradation_settings",
Shuhai Pengf2707702021-09-29 17:19:44 +0800294 ":bandwidth_quality_scaler_settings",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100295 ":cpu_speed_experiment",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100296 ":encoder_info_settings",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200297 ":field_trial_parser",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100298 ":keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 16:19:43 +0200299 ":min_video_bitrate_experiment",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200300 ":normalize_simulcast_size_experiment",
Åsa Perssone644a032019-11-08 15:56:00 +0100301 ":quality_rampup_experiment",
Åsa Persson517678c2019-05-06 14:17:35 +0200302 ":quality_scaler_settings",
Åsa Perssona945aee2018-04-24 16:53:25 +0200303 ":quality_scaling_experiment",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100304 ":rate_control_settings",
“Michaelf9fc1712018-08-27 10:08:58 -0500305 ":rtt_mult_experiment",
Erik Språngadfb4f72019-08-23 20:02:13 +0200306 ":stable_target_rate_experiment",
Mirko Bonadeie3abb812018-11-23 13:15:08 +0100307 "..:gunit_helpers",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200308 "../:rtc_base_tests_utils",
Elad Alon80f53b72019-10-11 16:19:43 +0200309 "../../api/units:data_rate",
310 "../../api/video:video_frame",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100311 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200312 "../../system_wrappers:field_trial",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200313 "../../test:field_trial",
Jonas Orelandc7f691a2022-03-09 15:12:07 +0100314 "../../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 13:01:58 +0200315 "../../test:test_main",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100316 "../../test:test_support",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200317 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100318 absl_deps = [
319 "//third_party/abseil-cpp/absl/strings",
320 "//third_party/abseil-cpp/absl/types:optional",
321 ]
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200322 }
323}