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 "encode_usage_resource.cc", 14 "encode_usage_resource.h", 15 "overuse_frame_detector.cc", 16 "overuse_frame_detector.h", 17 "quality_rampup_experiment_helper.cc", 18 "quality_rampup_experiment_helper.h", 19 "quality_scaler_resource.cc", 20 "quality_scaler_resource.h", 21 "video_stream_encoder_resource.cc", 22 "video_stream_encoder_resource.h", 23 "video_stream_encoder_resource_manager.cc", 24 "video_stream_encoder_resource_manager.h", 25 ] 26 27 deps = [ 28 "../../api:rtp_parameters", 29 "../../api:scoped_refptr", 30 "../../api/adaptation:resource_adaptation_api", 31 "../../api/task_queue:task_queue", 32 "../../api/units:data_rate", 33 "../../api/video:video_adaptation", 34 "../../api/video:video_frame", 35 "../../api/video:video_stream_encoder", 36 "../../api/video_codecs:video_codecs_api", 37 "../../call/adaptation:resource_adaptation", 38 "../../modules/video_coding:video_coding_utility", 39 "../../rtc_base:checks", 40 "../../rtc_base:logging", 41 "../../rtc_base:macromagic", 42 "../../rtc_base:rtc_base_approved", 43 "../../rtc_base:rtc_event", 44 "../../rtc_base:rtc_numerics", 45 "../../rtc_base:rtc_task_queue", 46 "../../rtc_base:timeutils", 47 "../../rtc_base/experiments:balanced_degradation_settings", 48 "../../rtc_base/experiments:field_trial_parser", 49 "../../rtc_base/experiments:quality_rampup_experiment", 50 "../../rtc_base/experiments:quality_scaler_settings", 51 "../../rtc_base/synchronization:mutex", 52 "../../rtc_base/synchronization:sequence_checker", 53 "../../rtc_base/task_utils:repeating_task", 54 "../../rtc_base/task_utils:to_queued_task", 55 "../../system_wrappers:field_trial", 56 "../../system_wrappers:system_wrappers", 57 ] 58 absl_deps = [ 59 "//third_party/abseil-cpp/absl/algorithm:container", 60 "//third_party/abseil-cpp/absl/base:core_headers", 61 "//third_party/abseil-cpp/absl/types:optional", 62 ] 63} 64 65if (rtc_include_tests) { 66 rtc_library("video_adaptation_tests") { 67 testonly = true 68 69 defines = [] 70 sources = [ 71 "overuse_frame_detector_unittest.cc", 72 "quality_scaler_resource_unittest.cc", 73 ] 74 deps = [ 75 ":video_adaptation", 76 "../../api:scoped_refptr", 77 "../../api/task_queue:default_task_queue_factory", 78 "../../api/task_queue:task_queue", 79 "../../api/video:encoded_image", 80 "../../api/video:video_adaptation", 81 "../../api/video:video_frame_i420", 82 "../../api/video_codecs:video_codecs_api", 83 "../../call/adaptation:resource_adaptation", 84 "../../modules/video_coding:video_coding_utility", 85 "../../rtc_base:checks", 86 "../../rtc_base:logging", 87 "../../rtc_base:rtc_base_approved", 88 "../../rtc_base:rtc_base_tests_utils", 89 "../../rtc_base:rtc_event", 90 "../../rtc_base:rtc_numerics", 91 "../../rtc_base:rtc_task_queue", 92 "../../rtc_base:task_queue_for_test", 93 "../../test:field_trial", 94 "//test:rtc_expect_death", 95 "//test:test_support", 96 "//testing/gtest", 97 ] 98 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 99 } 100} 101