| # 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_source_set("scalability_mode_util") { | 
 |   sources = [ | 
 |     "scalability_mode_util.cc", | 
 |     "scalability_mode_util.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../../../api/video_codecs:scalability_mode", | 
 |     "../../../rtc_base:checks", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("scalable_video_controller") { | 
 |   sources = [ | 
 |     "scalable_video_controller.h", | 
 |     "scalable_video_controller_no_layering.cc", | 
 |     "scalable_video_controller_no_layering.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../../../api/transport/rtp:dependency_descriptor", | 
 |     "../../../api/video:video_bitrate_allocation", | 
 |     "../../../common_video/generic_frame_descriptor", | 
 |     "../../../rtc_base:checks", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/container:inlined_vector", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("scalability_structures") { | 
 |   sources = [ | 
 |     "create_scalability_structure.cc", | 
 |     "create_scalability_structure.h", | 
 |     "scalability_structure_full_svc.cc", | 
 |     "scalability_structure_full_svc.h", | 
 |     "scalability_structure_key_svc.cc", | 
 |     "scalability_structure_key_svc.h", | 
 |     "scalability_structure_l2t2_key_shift.cc", | 
 |     "scalability_structure_l2t2_key_shift.h", | 
 |     "scalability_structure_simulcast.cc", | 
 |     "scalability_structure_simulcast.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":scalable_video_controller", | 
 |     "../../../api/transport/rtp:dependency_descriptor", | 
 |     "../../../api/video:video_bitrate_allocation", | 
 |     "../../../api/video_codecs:scalability_mode", | 
 |     "../../../common_video/generic_frame_descriptor", | 
 |     "../../../rtc_base:checks", | 
 |     "../../../rtc_base:logging", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("svc_rate_allocator") { | 
 |   sources = [ | 
 |     "svc_rate_allocator.cc", | 
 |     "svc_rate_allocator.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":scalability_structures", | 
 |     "../../../api/video:video_bitrate_allocation", | 
 |     "../../../api/video:video_bitrate_allocator", | 
 |     "../../../api/video:video_codec_constants", | 
 |     "../../../api/video_codecs:video_codecs_api", | 
 |     "../../../rtc_base:checks", | 
 |     "../../../rtc_base/experiments:stable_target_rate_experiment", | 
 |   ] | 
 |   absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   rtc_source_set("scalability_structure_tests") { | 
 |     testonly = true | 
 |     sources = [ | 
 |       "scalability_mode_util_unittest.cc", | 
 |       "scalability_structure_full_svc_unittest.cc", | 
 |       "scalability_structure_key_svc_unittest.cc", | 
 |       "scalability_structure_l2t2_key_shift_unittest.cc", | 
 |       "scalability_structure_test_helpers.cc", | 
 |       "scalability_structure_test_helpers.h", | 
 |       "scalability_structure_unittest.cc", | 
 |     ] | 
 |     deps = [ | 
 |       ":scalability_mode_util", | 
 |       ":scalability_structures", | 
 |       ":scalable_video_controller", | 
 |       "..:chain_diff_calculator", | 
 |       "..:frame_dependencies_calculator", | 
 |       "../../../api:array_view", | 
 |       "../../../api/transport/rtp:dependency_descriptor", | 
 |       "../../../api/video:video_bitrate_allocation", | 
 |       "../../../api/video:video_frame_type", | 
 |       "../../../api/video_codecs:scalability_mode", | 
 |       "../../../common_video/generic_frame_descriptor", | 
 |       "../../../test:test_support", | 
 |     ] | 
 |     absl_deps = [ | 
 |       "//third_party/abseil-cpp/absl/strings", | 
 |       "//third_party/abseil-cpp/absl/types:optional", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_source_set("svc_rate_allocator_tests") { | 
 |     testonly = true | 
 |     sources = [ "svc_rate_allocator_unittest.cc" ] | 
 |     deps = [ | 
 |       ":svc_rate_allocator", | 
 |       "..:webrtc_vp9_helpers", | 
 |       "../../../rtc_base:checks", | 
 |       "../../../test:field_trial", | 
 |       "../../../test:test_support", | 
 |     ] | 
 |   } | 
 | } |