blob: 3f720d587a1d83b45efa6dfb3e90c11e80468838 [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 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020022 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Sebastian Janssoncabe3832018-01-12 10:54:18 +010023}
Sebastian Jansson2808ae92018-04-09 11:13:04 +020024
Mirko Bonadei86d053c2019-10-17 21:32:04 +020025rtc_library("field_trial_parser") {
Sebastian Jansson9eb38862018-06-14 16:47:42 +020026 sources = [
Jonas Olsson97d84ef2019-04-11 11:53:26 +020027 "field_trial_list.cc",
28 "field_trial_list.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020029 "field_trial_parser.cc",
30 "field_trial_parser.h",
31 "field_trial_units.cc",
32 "field_trial_units.h",
Sebastian Jansson55251c32019-08-08 11:14:51 +020033 "struct_parameters_parser.cc",
34 "struct_parameters_parser.h",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020035 ]
36 deps = [
Sebastian Jansson9eb38862018-06-14 16:47:42 +020037 "../../api/units:data_rate",
38 "../../api/units:data_size",
39 "../../api/units:time_delta",
Sebastian Janssonfea46372018-09-03 10:15:13 +020040 "../../rtc_base:checks",
Sebastian Jansson07536752018-10-16 11:34:04 +020041 "../../rtc_base:logging",
Bjorn Terelius9f00f0e2019-08-30 09:39:31 +020042 "../../rtc_base:safe_conversions",
Jonas Olsson97d84ef2019-04-11 11:53:26 +020043 "../../rtc_base:stringutils",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020044 ]
45 absl_deps = [
Mirko Bonadei317a1f02019-09-17 17:06:18 +020046 "//third_party/abseil-cpp/absl/memory",
Sebastian Jansson55251c32019-08-08 11:14:51 +020047 "//third_party/abseil-cpp/absl/strings:strings",
Danil Chapovalov0a1d1892018-06-21 11:48:25 +020048 "//third_party/abseil-cpp/absl/types:optional",
Sebastian Jansson9eb38862018-06-14 16:47:42 +020049 ]
50}
51
Åsa Perssone644a032019-11-08 15:56:00 +010052rtc_library("quality_rampup_experiment") {
53 sources = [
54 "quality_rampup_experiment.cc",
55 "quality_rampup_experiment.h",
56 ]
57 deps = [
58 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020059 "..:logging",
Åsa Perssone644a032019-11-08 15:56:00 +010060 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020061 "../../api:field_trials_view",
Åsa Perssone644a032019-11-08 15:56:00 +010062 "../../api/transport:field_trial_based_config",
Åsa Perssone644a032019-11-08 15:56:00 +010063 "../../system_wrappers:field_trial",
Åsa Perssone644a032019-11-08 15:56:00 +010064 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020065 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssone644a032019-11-08 15:56:00 +010066}
67
Mirko Bonadei86d053c2019-10-17 21:32:04 +020068rtc_library("quality_scaler_settings") {
Åsa Persson517678c2019-05-06 14:17:35 +020069 sources = [
70 "quality_scaler_settings.cc",
71 "quality_scaler_settings.h",
72 ]
73 deps = [
74 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020075 "..:logging",
Åsa Persson517678c2019-05-06 14:17:35 +020076 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020077 "../../api:field_trials_view",
Åsa Persson517678c2019-05-06 14:17:35 +020078 "../../api/transport:field_trial_based_config",
Åsa Persson517678c2019-05-06 14:17:35 +020079 "../../system_wrappers:field_trial",
Åsa Persson517678c2019-05-06 14:17:35 +020080 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020081 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson517678c2019-05-06 14:17:35 +020082}
83
Shuhai Pengf2707702021-09-29 17:19:44 +080084rtc_library("bandwidth_quality_scaler_settings") {
85 sources = [
86 "bandwidth_quality_scaler_settings.cc",
87 "bandwidth_quality_scaler_settings.h",
88 ]
89 deps = [
90 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +020091 "..:logging",
Shuhai Pengf2707702021-09-29 17:19:44 +080092 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +020093 "../../api:field_trials_view",
Shuhai Pengf2707702021-09-29 17:19:44 +080094 "../../api/transport:field_trial_based_config",
Shuhai Pengf2707702021-09-29 17:19:44 +080095 "../../system_wrappers:field_trial",
96 ]
97 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
98}
99
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200100rtc_library("quality_scaling_experiment") {
Åsa Perssona945aee2018-04-24 16:53:25 +0200101 sources = [
102 "quality_scaling_experiment.cc",
103 "quality_scaling_experiment.h",
104 ]
105 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200106 "..:logging",
Åsa Perssona945aee2018-04-24 16:53:25 +0200107 "../:rtc_base_approved",
Åsa Perssona945aee2018-04-24 16:53:25 +0200108 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200109 "../../system_wrappers:field_trial",
Åsa Perssona945aee2018-04-24 16:53:25 +0200110 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200111 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssona945aee2018-04-24 16:53:25 +0200112}
113
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200114rtc_library("normalize_simulcast_size_experiment") {
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200115 sources = [
116 "normalize_simulcast_size_experiment.cc",
117 "normalize_simulcast_size_experiment.h",
118 ]
119 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200120 "..:logging",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200121 "../:rtc_base_approved",
122 "../../system_wrappers:field_trial",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200123 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200124 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200125}
126
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200127rtc_library("balanced_degradation_settings") {
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200128 sources = [
129 "balanced_degradation_settings.cc",
130 "balanced_degradation_settings.h",
131 ]
132 deps = [
133 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200134 "..:logging",
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200135 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200136 "../../api:field_trials_view",
Åsa Persson12314192019-06-20 15:45:07 +0200137 "../../api/video_codecs:video_codecs_api",
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200138 "../../system_wrappers:field_trial",
139 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200140 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200141}
142
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200143rtc_library("cpu_speed_experiment") {
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100144 sources = [
145 "cpu_speed_experiment.cc",
146 "cpu_speed_experiment.h",
147 ]
148 deps = [
Åsa Persson869e9fb2020-07-28 12:49:49 +0200149 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200150 "..:logging",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100151 "../:rtc_base_approved",
152 "../../system_wrappers:field_trial",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100153 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200154 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100155}
156
Åsa Perssona7e34d32021-01-20 15:36:13 +0100157rtc_library("encoder_info_settings") {
158 sources = [
159 "encoder_info_settings.cc",
160 "encoder_info_settings.h",
161 ]
162 deps = [
163 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200164 "..:logging",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100165 "../:rtc_base_approved",
166 "../../api/video_codecs:video_codecs_api",
167 "../../system_wrappers:field_trial",
168 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100169 absl_deps = [
170 "//third_party/abseil-cpp/absl/strings",
171 "//third_party/abseil-cpp/absl/types:optional",
172 ]
Åsa Perssona7e34d32021-01-20 15:36:13 +0100173}
174
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200175rtc_library("rtt_mult_experiment") {
“Michaelf9fc1712018-08-27 10:08:58 -0500176 sources = [
177 "rtt_mult_experiment.cc",
178 "rtt_mult_experiment.h",
179 ]
180 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200181 "..:logging",
“Michaelf9fc1712018-08-27 10:08:58 -0500182 "../:rtc_base_approved",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200183 "../../system_wrappers:field_trial",
“Michaelf9fc1712018-08-27 10:08:58 -0500184 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200185 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
“Michaelf9fc1712018-08-27 10:08:58 -0500186}
187
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200188rtc_library("jitter_upper_bound_experiment") {
Erik Språngb1e031a2018-11-01 11:20:49 +0100189 sources = [
190 "jitter_upper_bound_experiment.cc",
191 "jitter_upper_bound_experiment.h",
192 ]
193 deps = [
Florent Castelli0af55ba2022-04-04 15:06:30 +0200194 "..:logging",
Erik Språngb1e031a2018-11-01 11:20:49 +0100195 "../:rtc_base_approved",
196 "../../system_wrappers:field_trial",
Erik Språngb1e031a2018-11-01 11:20:49 +0100197 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200198 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngb1e031a2018-11-01 11:20:49 +0100199}
200
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200201rtc_library("rate_control_settings") {
Erik Språng71215642019-01-21 16:30:55 +0100202 sources = [
203 "rate_control_settings.cc",
204 "rate_control_settings.h",
205 ]
206 deps = [
207 ":field_trial_parser",
Florent Castelli0af55ba2022-04-04 15:06:30 +0200208 "..:logging",
Florent Castellie10a9f62022-04-04 17:04:37 +0200209 "..:safe_conversions",
Erik Språng71215642019-01-21 16:30:55 +0100210 "../:rtc_base_approved",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200211 "../../api:field_trials_view",
Erik Språng71215642019-01-21 16:30:55 +0100212 "../../api/transport:field_trial_based_config",
Christoffer Rodbro034f7672019-12-06 13:13:40 +0100213 "../../api/units:data_size",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100214 "../../api/video_codecs:video_codecs_api",
Erik Språng71215642019-01-21 16:30:55 +0100215 "../../system_wrappers:field_trial",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200216 ]
217 absl_deps = [
Mirko Bonadei06d35592020-04-01 13:43:08 +0200218 "//third_party/abseil-cpp/absl/strings",
Erik Språng71215642019-01-21 16:30:55 +0100219 "//third_party/abseil-cpp/absl/types:optional",
220 ]
221}
222
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200223rtc_library("keyframe_interval_settings_experiment") {
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100224 sources = [
225 "keyframe_interval_settings.cc",
226 "keyframe_interval_settings.h",
227 ]
228 deps = [
229 ":field_trial_parser",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200230 "../../api:field_trials_view",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100231 "../../api/transport:field_trial_based_config",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100232 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200233 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100234}
235
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200236rtc_library("stable_target_rate_experiment") {
Erik Språngadfb4f72019-08-23 20:02:13 +0200237 sources = [
238 "stable_target_rate_experiment.cc",
239 "stable_target_rate_experiment.h",
240 ]
241 deps = [
242 ":field_trial_parser",
243 ":rate_control_settings",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200244 "../../api:field_trials_view",
Erik Språngadfb4f72019-08-23 20:02:13 +0200245 "../../api/transport:field_trial_based_config",
Erik Språngadfb4f72019-08-23 20:02:13 +0200246 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200247 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Erik Språngadfb4f72019-08-23 20:02:13 +0200248}
249
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200250rtc_library("min_video_bitrate_experiment") {
Elad Alon80f53b72019-10-11 16:19:43 +0200251 sources = [
252 "min_video_bitrate_experiment.cc",
253 "min_video_bitrate_experiment.h",
254 ]
255 deps = [
256 ":field_trial_parser",
257 "../../api/units:data_rate",
258 "../../api/video:video_frame",
259 "../../rtc_base:checks",
260 "../../rtc_base:logging",
261 "../../system_wrappers:field_trial",
Elad Alon80f53b72019-10-11 16:19:43 +0200262 ]
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200263 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Elad Alon80f53b72019-10-11 16:19:43 +0200264}
265
Andrey Logvine7c79fd2021-02-01 09:56:37 +0000266if (rtc_include_tests && !build_with_chromium) {
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200267 rtc_library("experiments_unittests") {
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200268 testonly = true
269
270 sources = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200271 "balanced_degradation_settings_unittest.cc",
Shuhai Pengf2707702021-09-29 17:19:44 +0800272 "bandwidth_quality_scaler_settings_unittest.cc",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100273 "cpu_speed_experiment_unittest.cc",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100274 "encoder_info_settings_unittest.cc",
Jonas Olsson97d84ef2019-04-11 11:53:26 +0200275 "field_trial_list_unittest.cc",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200276 "field_trial_parser_unittest.cc",
277 "field_trial_units_unittest.cc",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100278 "keyframe_interval_settings_unittest.cc",
Elad Alon80f53b72019-10-11 16:19:43 +0200279 "min_video_bitrate_experiment_unittest.cc",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200280 "normalize_simulcast_size_experiment_unittest.cc",
Åsa Perssone644a032019-11-08 15:56:00 +0100281 "quality_rampup_experiment_unittest.cc",
Åsa Persson517678c2019-05-06 14:17:35 +0200282 "quality_scaler_settings_unittest.cc",
Åsa Perssona945aee2018-04-24 16:53:25 +0200283 "quality_scaling_experiment_unittest.cc",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100284 "rate_control_settings_unittest.cc",
“Michaelf9fc1712018-08-27 10:08:58 -0500285 "rtt_mult_experiment_unittest.cc",
Erik Språngadfb4f72019-08-23 20:02:13 +0200286 "stable_target_rate_experiment_unittest.cc",
Sebastian Jansson55251c32019-08-08 11:14:51 +0200287 "struct_parameters_parser_unittest.cc",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200288 ]
289 deps = [
Åsa Perssonf3d828e2019-05-06 12:22:49 +0200290 ":balanced_degradation_settings",
Shuhai Pengf2707702021-09-29 17:19:44 +0800291 ":bandwidth_quality_scaler_settings",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100292 ":cpu_speed_experiment",
Åsa Perssona7e34d32021-01-20 15:36:13 +0100293 ":encoder_info_settings",
Sebastian Jansson9eb38862018-06-14 16:47:42 +0200294 ":field_trial_parser",
Rasmus Brandt3dde4502019-03-21 11:46:17 +0100295 ":keyframe_interval_settings_experiment",
Elad Alon80f53b72019-10-11 16:19:43 +0200296 ":min_video_bitrate_experiment",
Åsa Persson1a35fbd2018-10-12 17:36:57 +0200297 ":normalize_simulcast_size_experiment",
Åsa Perssone644a032019-11-08 15:56:00 +0100298 ":quality_rampup_experiment",
Åsa Persson517678c2019-05-06 14:17:35 +0200299 ":quality_scaler_settings",
Åsa Perssona945aee2018-04-24 16:53:25 +0200300 ":quality_scaling_experiment",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100301 ":rate_control_settings",
“Michaelf9fc1712018-08-27 10:08:58 -0500302 ":rtt_mult_experiment",
Erik Språngadfb4f72019-08-23 20:02:13 +0200303 ":stable_target_rate_experiment",
Mirko Bonadeie3abb812018-11-23 13:15:08 +0100304 "..:gunit_helpers",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200305 "../:rtc_base_tests_utils",
Elad Alon80f53b72019-10-11 16:19:43 +0200306 "../../api/units:data_rate",
307 "../../api/video:video_frame",
Rasmus Brandtc402dbe2019-02-04 11:09:46 +0100308 "../../api/video_codecs:video_codecs_api",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200309 "../../system_wrappers:field_trial",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200310 "../../test:field_trial",
Jonas Orelandc7f691a2022-03-09 15:12:07 +0100311 "../../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 13:01:58 +0200312 "../../test:test_main",
Åsa Perssonf8ba95e2018-11-02 11:38:46 +0100313 "../../test:test_support",
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200314 ]
Ali Tofigh7fa90572022-03-17 15:47:49 +0100315 absl_deps = [
316 "//third_party/abseil-cpp/absl/strings",
317 "//third_party/abseil-cpp/absl/types:optional",
318 ]
Sebastian Jansson2808ae92018-04-09 11:13:04 +0200319 }
320}