# Copyright (c) 2019 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("resource_adaptation") { sources = [ "adaptation_constraint.cc", "adaptation_constraint.h", "broadcast_resource_listener.cc", "broadcast_resource_listener.h", "degradation_preference_provider.cc", "degradation_preference_provider.h", "encoder_settings.cc", "encoder_settings.h", "resource_adaptation_processor.cc", "resource_adaptation_processor.h", "resource_adaptation_processor_interface.cc", "resource_adaptation_processor_interface.h", "video_source_restrictions.cc", "video_source_restrictions.h", "video_stream_adapter.cc", "video_stream_adapter.h", "video_stream_input_state.cc", "video_stream_input_state.h", "video_stream_input_state_provider.cc", "video_stream_input_state_provider.h", ] deps = [ "../../api:field_trials_view", "../../api:make_ref_counted", "../../api:rtp_parameters", "../../api:scoped_refptr", "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", "../../api/video:video_adaptation", "../../api/video:video_frame", "../../api/video:video_stream_encoder", "../../api/video_codecs:video_codecs_api", "../../modules/video_coding:video_coding_utility", "../../rtc_base:checks", "../../rtc_base:logging", "../../rtc_base:macromagic", "../../rtc_base:refcount", "../../rtc_base:rtc_task_queue", "../../rtc_base:safe_conversions", "../../rtc_base:stringutils", "../../rtc_base/experiments:balanced_degradation_settings", "../../rtc_base/synchronization:mutex", "../../rtc_base/system:no_unique_address", ] absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container", "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", "//third_party/abseil-cpp/absl/types:variant", ] } if (rtc_include_tests) { rtc_library("resource_adaptation_tests") { testonly = true sources = [ "broadcast_resource_listener_unittest.cc", "resource_adaptation_processor_unittest.cc", "resource_unittest.cc", "video_source_restrictions_unittest.cc", "video_stream_adapter_unittest.cc", "video_stream_input_state_provider_unittest.cc", ] deps = [ ":resource_adaptation", ":resource_adaptation_test_utilities", "../../api:scoped_refptr", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:default_task_queue_factory", "../../api/task_queue:task_queue", "../../api/video:video_adaptation", "../../api/video_codecs:video_codecs_api", "../../rtc_base:checks", "../../rtc_base:gunit_helpers", "../../rtc_base:rtc_event", "../../rtc_base:rtc_task_queue", "../../rtc_base:stringutils", "../../rtc_base:task_queue_for_test", "../../rtc_base/synchronization:mutex", "../../test:field_trial", "../../test:rtc_expect_death", "../../test:scoped_key_value_config", "../../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("resource_adaptation_test_utilities") { testonly = true sources = [ "test/fake_adaptation_constraint.cc", "test/fake_adaptation_constraint.h", "test/fake_frame_rate_provider.cc", "test/fake_frame_rate_provider.h", "test/fake_resource.cc", "test/fake_resource.h", "test/fake_video_stream_input_state_provider.cc", "test/fake_video_stream_input_state_provider.h", "test/mock_resource_listener.h", ] deps = [ ":resource_adaptation", "../../api:make_ref_counted", "../../api:scoped_refptr", "../../api:sequence_checker", "../../api/adaptation:resource_adaptation_api", "../../api/task_queue:task_queue", "../../api/video:video_stream_encoder", "../../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } }