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