1# Copyright (c) 2020 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("video_adaptation") { 12 sources = [ 13 "balanced_constraint.cc", 14 "balanced_constraint.h", 15 "bandwidth_quality_scaler_resource.cc", 16 "bandwidth_quality_scaler_resource.h", 17 "bitrate_constraint.cc", 18 "bitrate_constraint.h", 19 "encode_usage_resource.cc", 20 "encode_usage_resource.h", 21 "overuse_frame_detector.cc", 22 "overuse_frame_detector.h", 23 "pixel_limit_resource.cc", 24 "pixel_limit_resource.h", 25 "quality_rampup_experiment_helper.cc", 26 "quality_rampup_experiment_helper.h", 27 "quality_scaler_resource.cc", 28 "quality_scaler_resource.h", 29 "video_stream_encoder_resource.cc", 30 "video_stream_encoder_resource.h", 31 "video_stream_encoder_resource_manager.cc", 32 "video_stream_encoder_resource_manager.h", 33 ] 34 35 deps = [ 36 "../../api:field_trials_view", 37 "../../api:rtp_parameters", 38 "../../api:scoped_refptr", 39 "../../api:sequence_checker", 40 "../../api/adaptation:resource_adaptation_api", 41 "../../api/task_queue:task_queue", 42 "../../api/units:data_rate", 43 "../../api/units:time_delta", 44 "../../api/video:video_adaptation", 45 "../../api/video:video_frame", 46 "../../api/video:video_stream_encoder", 47 "../../api/video_codecs:video_codecs_api", 48 "../../call/adaptation:resource_adaptation", 49 "../../modules/video_coding:video_coding_utility", 50 "../../modules/video_coding/svc:scalability_mode_util", 51 "../../rtc_base:checks", 52 "../../rtc_base:event_tracer", 53 "../../rtc_base:logging", 54 "../../rtc_base:macromagic", 55 "../../rtc_base:refcount", 56 "../../rtc_base:rtc_event", 57 "../../rtc_base:rtc_numerics", 58 "../../rtc_base:safe_conversions", 59 "../../rtc_base:stringutils", 60 "../../rtc_base:timeutils", 61 "../../rtc_base/experiments:balanced_degradation_settings", 62 "../../rtc_base/experiments:field_trial_parser", 63 "../../rtc_base/experiments:quality_rampup_experiment", 64 "../../rtc_base/experiments:quality_scaler_settings", 65 "../../rtc_base/synchronization:mutex", 66 "../../rtc_base/system:no_unique_address", 67 "../../rtc_base/task_utils:repeating_task", 68 "../../system_wrappers:field_trial", 69 "../../system_wrappers:system_wrappers", 70 "../../video:video_stream_encoder_interface", 71 "../../video/config:encoder_config", 72 ] 73 absl_deps = [ 74 "//third_party/abseil-cpp/absl/algorithm:container", 75 "//third_party/abseil-cpp/absl/base:core_headers", 76 "//third_party/abseil-cpp/absl/types:optional", 77 ] 78} 79 80if (rtc_include_tests) { 81 rtc_library("video_adaptation_tests") { 82 testonly = true 83 84 defines = [] 85 sources = [ 86 "bitrate_constraint_unittest.cc", 87 "overuse_frame_detector_unittest.cc", 88 "pixel_limit_resource_unittest.cc", 89 "quality_scaler_resource_unittest.cc", 90 ] 91 deps = [ 92 ":video_adaptation", 93 "../../api:field_trials_view", 94 "../../api:scoped_refptr", 95 "../../api/task_queue:task_queue", 96 "../../api/units:time_delta", 97 "../../api/units:timestamp", 98 "../../api/video:encoded_image", 99 "../../api/video:video_adaptation", 100 "../../api/video:video_frame", 101 "../../api/video_codecs:scalability_mode", 102 "../../api/video_codecs:video_codecs_api", 103 "../../call/adaptation:resource_adaptation", 104 "../../call/adaptation:resource_adaptation_test_utilities", 105 "../../modules/video_coding:video_coding_utility", 106 "../../rtc_base:checks", 107 "../../rtc_base:logging", 108 "../../rtc_base:random", 109 "../../rtc_base:rtc_base_tests_utils", 110 "../../rtc_base:rtc_event", 111 "../../rtc_base:rtc_numerics", 112 "../../rtc_base:task_queue_for_test", 113 "../../rtc_base:threading", 114 "../../test:field_trial", 115 "../../test:rtc_expect_death", 116 "../../test:scoped_key_value_config", 117 "../../test:test_support", 118 "../../test/time_controller:time_controller", 119 ] 120 absl_deps = [ 121 "//third_party/abseil-cpp/absl/functional:any_invocable", 122 "//third_party/abseil-cpp/absl/types:optional", 123 ] 124 } 125} 126