| # 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", | 
 |     "../../modules/video_coding/svc:scalability_mode_util", | 
 |     "../../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", | 
 |     "../../video:video_stream_encoder_interface", | 
 |     "../../video/config:encoder_config", | 
 |   ] | 
 |   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", | 
 |       "../../video/config:encoder_config", | 
 |     ] | 
 |     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", | 
 |       "../../video:video_stream_encoder_interface", | 
 |       "../../video/config:encoder_config", | 
 |     ] | 
 |     absl_deps = [ | 
 |       "//third_party/abseil-cpp/absl/strings", | 
 |       "//third_party/abseil-cpp/absl/types:optional", | 
 |     ] | 
 |   } | 
 | } |