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 "../:rtc_base_approved", 18 "../../api/transport:field_trial_based_config", 19 "../../api/transport:webrtc_key_value_config", 20 ] 21 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 22} 23 24rtc_library("field_trial_parser") { 25 sources = [ 26 "field_trial_list.cc", 27 "field_trial_list.h", 28 "field_trial_parser.cc", 29 "field_trial_parser.h", 30 "field_trial_units.cc", 31 "field_trial_units.h", 32 "struct_parameters_parser.cc", 33 "struct_parameters_parser.h", 34 ] 35 deps = [ 36 "../../api/units:data_rate", 37 "../../api/units:data_size", 38 "../../api/units:time_delta", 39 "../../rtc_base:checks", 40 "../../rtc_base:logging", 41 "../../rtc_base:safe_conversions", 42 "../../rtc_base:stringutils", 43 ] 44 absl_deps = [ 45 "//third_party/abseil-cpp/absl/memory", 46 "//third_party/abseil-cpp/absl/strings:strings", 47 "//third_party/abseil-cpp/absl/types:optional", 48 ] 49} 50 51rtc_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", 62 ] 63 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 64} 65 66rtc_library("quality_scaler_settings") { 67 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", 77 ] 78 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 79} 80 81rtc_library("quality_scaling_experiment") { 82 sources = [ 83 "quality_scaling_experiment.cc", 84 "quality_scaling_experiment.h", 85 ] 86 deps = [ 87 "../:rtc_base_approved", 88 "../../api/video_codecs:video_codecs_api", 89 "../../system_wrappers:field_trial", 90 ] 91 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 92} 93 94rtc_library("normalize_simulcast_size_experiment") { 95 sources = [ 96 "normalize_simulcast_size_experiment.cc", 97 "normalize_simulcast_size_experiment.h", 98 ] 99 deps = [ 100 "../:rtc_base_approved", 101 "../../system_wrappers:field_trial", 102 ] 103 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 104} 105 106rtc_library("balanced_degradation_settings") { 107 sources = [ 108 "balanced_degradation_settings.cc", 109 "balanced_degradation_settings.h", 110 ] 111 deps = [ 112 ":field_trial_parser", 113 "../:rtc_base_approved", 114 "../../api/video_codecs:video_codecs_api", 115 "../../system_wrappers:field_trial", 116 ] 117 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 118} 119 120rtc_library("cpu_speed_experiment") { 121 sources = [ 122 "cpu_speed_experiment.cc", 123 "cpu_speed_experiment.h", 124 ] 125 deps = [ 126 "../:rtc_base_approved", 127 "../../system_wrappers:field_trial", 128 ] 129 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 130} 131 132rtc_library("rtt_mult_experiment") { 133 sources = [ 134 "rtt_mult_experiment.cc", 135 "rtt_mult_experiment.h", 136 ] 137 deps = [ 138 "../:rtc_base_approved", 139 "../../system_wrappers:field_trial", 140 ] 141 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 142} 143 144rtc_library("jitter_upper_bound_experiment") { 145 sources = [ 146 "jitter_upper_bound_experiment.cc", 147 "jitter_upper_bound_experiment.h", 148 ] 149 deps = [ 150 "../:rtc_base_approved", 151 "../../system_wrappers:field_trial", 152 ] 153 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 154} 155 156rtc_library("rate_control_settings") { 157 sources = [ 158 "rate_control_settings.cc", 159 "rate_control_settings.h", 160 ] 161 deps = [ 162 ":field_trial_parser", 163 "../:rtc_base_approved", 164 "../../api/transport:field_trial_based_config", 165 "../../api/transport:webrtc_key_value_config", 166 "../../api/units:data_size", 167 "../../api/video_codecs:video_codecs_api", 168 "../../system_wrappers:field_trial", 169 ] 170 absl_deps = [ 171 "//third_party/abseil-cpp/absl/strings", 172 "//third_party/abseil-cpp/absl/types:optional", 173 ] 174} 175 176rtc_library("keyframe_interval_settings_experiment") { 177 sources = [ 178 "keyframe_interval_settings.cc", 179 "keyframe_interval_settings.h", 180 ] 181 deps = [ 182 ":field_trial_parser", 183 "../../api/transport:field_trial_based_config", 184 "../../api/transport:webrtc_key_value_config", 185 ] 186 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 187} 188 189rtc_library("stable_target_rate_experiment") { 190 sources = [ 191 "stable_target_rate_experiment.cc", 192 "stable_target_rate_experiment.h", 193 ] 194 deps = [ 195 ":field_trial_parser", 196 ":rate_control_settings", 197 "../../api/transport:field_trial_based_config", 198 "../../api/transport:webrtc_key_value_config", 199 ] 200 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 201} 202 203rtc_library("min_video_bitrate_experiment") { 204 sources = [ 205 "min_video_bitrate_experiment.cc", 206 "min_video_bitrate_experiment.h", 207 ] 208 deps = [ 209 ":field_trial_parser", 210 "../../api/units:data_rate", 211 "../../api/video:video_frame", 212 "../../rtc_base:checks", 213 "../../rtc_base:logging", 214 "../../system_wrappers:field_trial", 215 ] 216 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 217} 218 219if (rtc_include_tests) { 220 rtc_library("experiments_unittests") { 221 testonly = true 222 223 sources = [ 224 "balanced_degradation_settings_unittest.cc", 225 "cpu_speed_experiment_unittest.cc", 226 "field_trial_list_unittest.cc", 227 "field_trial_parser_unittest.cc", 228 "field_trial_units_unittest.cc", 229 "keyframe_interval_settings_unittest.cc", 230 "min_video_bitrate_experiment_unittest.cc", 231 "normalize_simulcast_size_experiment_unittest.cc", 232 "quality_rampup_experiment_unittest.cc", 233 "quality_scaler_settings_unittest.cc", 234 "quality_scaling_experiment_unittest.cc", 235 "rate_control_settings_unittest.cc", 236 "rtt_mult_experiment_unittest.cc", 237 "stable_target_rate_experiment_unittest.cc", 238 "struct_parameters_parser_unittest.cc", 239 ] 240 deps = [ 241 ":balanced_degradation_settings", 242 ":cpu_speed_experiment", 243 ":field_trial_parser", 244 ":keyframe_interval_settings_experiment", 245 ":min_video_bitrate_experiment", 246 ":normalize_simulcast_size_experiment", 247 ":quality_rampup_experiment", 248 ":quality_scaler_settings", 249 ":quality_scaling_experiment", 250 ":rate_control_settings", 251 ":rtt_mult_experiment", 252 ":stable_target_rate_experiment", 253 "..:gunit_helpers", 254 "../:rtc_base_tests_utils", 255 "../../api/units:data_rate", 256 "../../api/video:video_frame", 257 "../../api/video_codecs:video_codecs_api", 258 "../../system_wrappers:field_trial", 259 "../../test:field_trial", 260 "../../test:test_main", 261 "../../test:test_support", 262 ] 263 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 264 } 265} 266