xref: /aosp_15_r20/external/webrtc/rtc_base/experiments/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# 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
11rtc_library("alr_experiment") {
12  sources = [
13    "alr_experiment.cc",
14    "alr_experiment.h",
15  ]
16  deps = [
17    "..:logging",
18    "../../api:field_trials_view",
19    "../../api/transport:field_trial_based_config",
20  ]
21  absl_deps = [
22    "//third_party/abseil-cpp/absl/strings:strings",
23    "//third_party/abseil-cpp/absl/types:optional",
24  ]
25}
26
27rtc_library("field_trial_parser") {
28  sources = [
29    "field_trial_list.cc",
30    "field_trial_list.h",
31    "field_trial_parser.cc",
32    "field_trial_parser.h",
33    "field_trial_units.cc",
34    "field_trial_units.h",
35    "struct_parameters_parser.cc",
36    "struct_parameters_parser.h",
37  ]
38  deps = [
39    "../../api/units:data_rate",
40    "../../api/units:data_size",
41    "../../api/units:time_delta",
42    "../../rtc_base:checks",
43    "../../rtc_base:logging",
44    "../../rtc_base:safe_conversions",
45    "../../rtc_base:stringutils",
46  ]
47  absl_deps = [
48    "//third_party/abseil-cpp/absl/memory",
49    "//third_party/abseil-cpp/absl/strings:strings",
50    "//third_party/abseil-cpp/absl/types:optional",
51  ]
52}
53
54rtc_library("quality_rampup_experiment") {
55  sources = [
56    "quality_rampup_experiment.cc",
57    "quality_rampup_experiment.h",
58  ]
59  deps = [
60    ":field_trial_parser",
61    "..:logging",
62    "../../api:field_trials_view",
63    "../../api/transport:field_trial_based_config",
64    "../../system_wrappers:field_trial",
65  ]
66  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
67}
68
69rtc_library("quality_scaler_settings") {
70  sources = [
71    "quality_scaler_settings.cc",
72    "quality_scaler_settings.h",
73  ]
74  deps = [
75    ":field_trial_parser",
76    "..:logging",
77    "../../api:field_trials_view",
78    "../../api/transport:field_trial_based_config",
79    "../../system_wrappers:field_trial",
80  ]
81  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
82}
83
84rtc_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",
91    "..:logging",
92    "../../api:field_trials_view",
93    "../../api/transport:field_trial_based_config",
94    "../../system_wrappers:field_trial",
95  ]
96  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
97}
98
99rtc_library("quality_scaling_experiment") {
100  sources = [
101    "quality_scaling_experiment.cc",
102    "quality_scaling_experiment.h",
103  ]
104  deps = [
105    "..:logging",
106    "../../api/video_codecs:video_codecs_api",
107    "../../system_wrappers:field_trial",
108  ]
109  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
110}
111
112rtc_library("normalize_simulcast_size_experiment") {
113  sources = [
114    "normalize_simulcast_size_experiment.cc",
115    "normalize_simulcast_size_experiment.h",
116  ]
117  deps = [
118    "..:logging",
119    "../../system_wrappers:field_trial",
120  ]
121  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
122}
123
124rtc_library("balanced_degradation_settings") {
125  sources = [
126    "balanced_degradation_settings.cc",
127    "balanced_degradation_settings.h",
128  ]
129  deps = [
130    ":field_trial_parser",
131    "..:logging",
132    "../../api:field_trials_view",
133    "../../api/video_codecs:video_codecs_api",
134    "../../system_wrappers:field_trial",
135  ]
136  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
137}
138
139rtc_library("cpu_speed_experiment") {
140  sources = [
141    "cpu_speed_experiment.cc",
142    "cpu_speed_experiment.h",
143  ]
144  deps = [
145    ":field_trial_parser",
146    "..:logging",
147    "../../system_wrappers:field_trial",
148  ]
149  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
150}
151
152rtc_library("encoder_info_settings") {
153  sources = [
154    "encoder_info_settings.cc",
155    "encoder_info_settings.h",
156  ]
157  deps = [
158    ":field_trial_parser",
159    "..:logging",
160    "../../api/video_codecs:video_codecs_api",
161    "../../system_wrappers:field_trial",
162  ]
163  absl_deps = [
164    "//third_party/abseil-cpp/absl/strings",
165    "//third_party/abseil-cpp/absl/types:optional",
166  ]
167}
168
169rtc_library("rtt_mult_experiment") {
170  sources = [
171    "rtt_mult_experiment.cc",
172    "rtt_mult_experiment.h",
173  ]
174  deps = [
175    "..:logging",
176    "../../system_wrappers:field_trial",
177  ]
178  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
179}
180
181rtc_library("rate_control_settings") {
182  sources = [
183    "rate_control_settings.cc",
184    "rate_control_settings.h",
185  ]
186  deps = [
187    ":field_trial_parser",
188    "..:logging",
189    "..:safe_conversions",
190    "../../api:field_trials_view",
191    "../../api/transport:field_trial_based_config",
192    "../../api/units:data_size",
193    "../../api/video_codecs:video_codecs_api",
194    "../../system_wrappers:field_trial",
195    "../../video/config:encoder_config",
196  ]
197  absl_deps = [
198    "//third_party/abseil-cpp/absl/strings",
199    "//third_party/abseil-cpp/absl/types:optional",
200  ]
201}
202
203rtc_library("keyframe_interval_settings_experiment") {
204  sources = [
205    "keyframe_interval_settings.cc",
206    "keyframe_interval_settings.h",
207  ]
208  deps = [
209    ":field_trial_parser",
210    "../../api:field_trials_view",
211    "../../api/transport:field_trial_based_config",
212  ]
213  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
214}
215
216rtc_library("stable_target_rate_experiment") {
217  sources = [
218    "stable_target_rate_experiment.cc",
219    "stable_target_rate_experiment.h",
220  ]
221  deps = [
222    ":field_trial_parser",
223    "../../api:field_trials_view",
224    "../../api/transport:field_trial_based_config",
225  ]
226  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
227}
228
229rtc_library("min_video_bitrate_experiment") {
230  sources = [
231    "min_video_bitrate_experiment.cc",
232    "min_video_bitrate_experiment.h",
233  ]
234  deps = [
235    ":field_trial_parser",
236    "../../api/units:data_rate",
237    "../../api/video:video_frame",
238    "../../rtc_base:checks",
239    "../../rtc_base:logging",
240    "../../system_wrappers:field_trial",
241  ]
242  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
243}
244
245if (rtc_include_tests && !build_with_chromium) {
246  rtc_library("experiments_unittests") {
247    testonly = true
248
249    sources = [
250      "balanced_degradation_settings_unittest.cc",
251      "bandwidth_quality_scaler_settings_unittest.cc",
252      "cpu_speed_experiment_unittest.cc",
253      "encoder_info_settings_unittest.cc",
254      "field_trial_list_unittest.cc",
255      "field_trial_parser_unittest.cc",
256      "field_trial_units_unittest.cc",
257      "keyframe_interval_settings_unittest.cc",
258      "min_video_bitrate_experiment_unittest.cc",
259      "normalize_simulcast_size_experiment_unittest.cc",
260      "quality_rampup_experiment_unittest.cc",
261      "quality_scaler_settings_unittest.cc",
262      "quality_scaling_experiment_unittest.cc",
263      "rate_control_settings_unittest.cc",
264      "rtt_mult_experiment_unittest.cc",
265      "stable_target_rate_experiment_unittest.cc",
266      "struct_parameters_parser_unittest.cc",
267    ]
268    deps = [
269      ":balanced_degradation_settings",
270      ":bandwidth_quality_scaler_settings",
271      ":cpu_speed_experiment",
272      ":encoder_info_settings",
273      ":field_trial_parser",
274      ":keyframe_interval_settings_experiment",
275      ":min_video_bitrate_experiment",
276      ":normalize_simulcast_size_experiment",
277      ":quality_rampup_experiment",
278      ":quality_scaler_settings",
279      ":quality_scaling_experiment",
280      ":rate_control_settings",
281      ":rtt_mult_experiment",
282      ":stable_target_rate_experiment",
283      "..:gunit_helpers",
284      "../:rtc_base_tests_utils",
285      "../../api/units:data_rate",
286      "../../api/video:video_frame",
287      "../../api/video_codecs:video_codecs_api",
288      "../../system_wrappers:field_trial",
289      "../../test:field_trial",
290      "../../test:scoped_key_value_config",
291      "../../test:test_main",
292      "../../test:test_support",
293      "../../video/config:encoder_config",
294    ]
295    absl_deps = [
296      "//third_party/abseil-cpp/absl/strings",
297      "//third_party/abseil-cpp/absl/types:optional",
298    ]
299  }
300}
301