# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../../webrtc.gni") rtc_library("video_adaptation") { sources = [ "balanced_constraint.cc", "balanced_constraint.h", "bandwidth_quality_scaler_resource.cc", "bandwidth_quality_scaler_resource.h", "bitrate_constraint.cc", "bitrate_constraint.h", "encode_usage_resource.cc", "encode_usage_resource.h", "overuse_frame_detector.cc", "overuse_frame_detector.h", "pixel_limit_resource.cc", "pixel_limit_resource.h", "quality_rampup_experiment_helper.cc", "quality_rampup_experiment_helper.h", "quality_scaler_resource.cc", "quality_scaler_resource.h", "video_stream_encoder_resource.cc", "video_stream_encoder_resource.h", "video_stream_encoder_resource_manager.cc", "video_stream_encoder_resource_manager.h", ] deps = [ "../../api:field_trials_view", "../../api:rtp_parameters", "../../api:scoped_refptr", "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", "../../api/units:data_rate", "../../api/units:time_delta", "../../api/video:video_adaptation", "../../api/video:video_frame", "../../api/video:video_stream_encoder", "../../api/video_codecs:video_codecs_api", "../../call/adaptation:resource_adaptation", "../../modules/video_coding:video_coding_utility", "../../modules/video_coding/svc:scalability_mode_util", "../../rtc_base:checks", "../../rtc_base:event_tracer", "../../rtc_base:logging", "../../rtc_base:macromagic", "../../rtc_base:refcount", "../../rtc_base:rtc_event", "../../rtc_base:rtc_numerics", "../../rtc_base:safe_conversions", "../../rtc_base:stringutils", "../../rtc_base:timeutils", "../../rtc_base/experiments:balanced_degradation_settings", "../../rtc_base/experiments:field_trial_parser", "../../rtc_base/experiments:quality_rampup_experiment", "../../rtc_base/experiments:quality_scaler_settings", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", "../../rtc_base/task_utils:repeating_task", "../../system_wrappers:field_trial", "../../system_wrappers:system_wrappers", "../../video:video_stream_encoder_interface", "../../video/config:encoder_config", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/base:core_headers", "//third_party/abseil-cpp/absl/types:optional", ] } if (rtc_include_tests) { rtc_library("video_adaptation_tests") { testonly = true defines = [] sources = [ "bitrate_constraint_unittest.cc", "overuse_frame_detector_unittest.cc", "pixel_limit_resource_unittest.cc", "quality_scaler_resource_unittest.cc", ] deps = [ ":video_adaptation", "../../api:field_trials_view", "../../api:scoped_refptr", "../../api/task_queue:task_queue", "../../api/units:time_delta", "../../api/units:timestamp", "../../api/video:encoded_image", "../../api/video:video_adaptation", "../../api/video:video_frame", "../../api/video_codecs:scalability_mode", "../../api/video_codecs:video_codecs_api", "../../call/adaptation:resource_adaptation", "../../call/adaptation:resource_adaptation_test_utilities", "../../modules/video_coding:video_coding_utility", "../../rtc_base:checks", "../../rtc_base:logging", "../../rtc_base:random", "../../rtc_base:rtc_base_tests_utils", "../../rtc_base:rtc_event", "../../rtc_base:rtc_numerics", "../../rtc_base:task_queue_for_test", "../../rtc_base:threading", "../../test:field_trial", "../../test:rtc_expect_death", "../../test:scoped_key_value_config", "../../test:test_support", "../../test/time_controller:time_controller", ] absl_deps = [ "//third_party/abseil-cpp/absl/functional:any_invocable", "//third_party/abseil-cpp/absl/types:optional", ] } }