blob: d206909853d4b02bb81e0dbda01a6e0dbe9ea2aa [file] [log] [blame]
Henrik Boströmefbec9a2020-03-06 09:41:251# 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 = [
Evan Shrubsole00ea6282020-08-13 11:46:0613 "balanced_constraint.cc",
14 "balanced_constraint.h",
Shuhai Pengf2707702021-09-29 09:19:4415 "bandwidth_quality_scaler_resource.cc",
16 "bandwidth_quality_scaler_resource.h",
Evan Shrubsole00ea6282020-08-13 11:46:0617 "bitrate_constraint.cc",
18 "bitrate_constraint.h",
Henrik Boström62057622020-03-10 18:08:0519 "encode_usage_resource.cc",
20 "encode_usage_resource.h",
21 "overuse_frame_detector.cc",
22 "overuse_frame_detector.h",
Henrik Boströmad706092020-12-04 08:37:4723 "pixel_limit_resource.cc",
24 "pixel_limit_resource.h",
Evan Shrubsolef88dd4d2020-06-16 09:38:5025 "quality_rampup_experiment_helper.cc",
26 "quality_rampup_experiment_helper.h",
Henrik Boström62057622020-03-10 18:08:0527 "quality_scaler_resource.cc",
28 "quality_scaler_resource.h",
Henrik Boström5cc28b02020-06-01 15:59:0529 "video_stream_encoder_resource.cc",
30 "video_stream_encoder_resource.h",
Henrik Boströmde8d5512020-04-17 15:15:2631 "video_stream_encoder_resource_manager.cc",
32 "video_stream_encoder_resource_manager.h",
Henrik Boströmefbec9a2020-03-06 09:41:2533 ]
34
35 deps = [
Jonas Orelande62c2f22022-03-29 09:04:4836 "../../api:field_trials_view",
Henrik Boströmb0f2e0c2020-03-06 12:32:0337 "../../api:rtp_parameters",
Henrik Boströmc55516d2020-05-11 14:29:2238 "../../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:2439 "../../api:sequence_checker",
Henrik Boströme2e8c172020-06-03 07:24:0640 "../../api/adaptation:resource_adaptation_api",
Henrik Boström62057622020-03-10 18:08:0541 "../../api/task_queue:task_queue",
Evan Shrubsole2c9d76a2020-06-16 14:07:0242 "../../api/units:data_rate",
Henrik Boströmad706092020-12-04 08:37:4743 "../../api/units:time_delta",
Evan Shrubsolec70b1022020-04-06 09:23:0644 "../../api/video:video_adaptation",
Henrik Boström62057622020-03-10 18:08:0545 "../../api/video:video_frame",
Henrik Boströmb0f2e0c2020-03-06 12:32:0346 "../../api/video:video_stream_encoder",
47 "../../api/video_codecs:video_codecs_api",
Henrik Boströmefbec9a2020-03-06 09:41:2548 "../../call/adaptation:resource_adaptation",
Henrik Boströmb0f2e0c2020-03-06 12:32:0349 "../../modules/video_coding:video_coding_utility",
Asa Persson2ee3e4d2022-05-20 12:22:2750 "../../modules/video_coding/svc:scalability_mode_util",
Henrik Boströmefbec9a2020-03-06 09:41:2551 "../../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:1352 "../../rtc_base:event_tracer",
Henrik Boströmefbec9a2020-03-06 09:41:2553 "../../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:4654 "../../rtc_base:macromagic",
Florent Castellif86f6f92022-04-05 00:54:1255 "../../rtc_base:refcount",
Henrik Boströmefbec9a2020-03-06 09:41:2556 "../../rtc_base:rtc_event",
57 "../../rtc_base:rtc_numerics",
Florent Castellie10a9f62022-04-04 15:04:3758 "../../rtc_base:safe_conversions",
Florent Castelli57aa81b2022-04-04 15:14:0259 "../../rtc_base:stringutils",
Henrik Boström62057622020-03-10 18:08:0560 "../../rtc_base:timeutils",
Henrik Boströmb0f2e0c2020-03-06 12:32:0361 "../../rtc_base/experiments:balanced_degradation_settings",
Henrik Boström62057622020-03-10 18:08:0562 "../../rtc_base/experiments:field_trial_parser",
63 "../../rtc_base/experiments:quality_rampup_experiment",
64 "../../rtc_base/experiments:quality_scaler_settings",
Markus Handell9bbff072020-07-07 12:23:1865 "../../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:4266 "../../rtc_base/system:no_unique_address",
Henrik Boström62057622020-03-10 18:08:0567 "../../rtc_base/task_utils:repeating_task",
68 "../../system_wrappers:field_trial",
69 "../../system_wrappers:system_wrappers",
Jonas Oreland6c2dae22022-09-29 08:28:2470 "../../video:video_stream_encoder_interface",
71 "../../video/config:encoder_config",
Mirko Bonadei2dcf3482020-06-05 12:30:4172 ]
73 absl_deps = [
Henrik Boström62057622020-03-10 18:08:0574 "//third_party/abseil-cpp/absl/algorithm:container",
75 "//third_party/abseil-cpp/absl/base:core_headers",
Henrik Boströmefbec9a2020-03-06 09:41:2576 "//third_party/abseil-cpp/absl/types:optional",
77 ]
78}
79
80if (rtc_include_tests) {
81 rtc_library("video_adaptation_tests") {
82 testonly = true
83
84 defines = []
Henrik Boström62057622020-03-10 18:08:0585 sources = [
Sergey Silkin8c007ff2021-01-22 17:59:5986 "bitrate_constraint_unittest.cc",
Henrik Boström62057622020-03-10 18:08:0587 "overuse_frame_detector_unittest.cc",
Henrik Boströmad706092020-12-04 08:37:4788 "pixel_limit_resource_unittest.cc",
Henrik Boström9438ddc2020-05-11 14:32:4189 "quality_scaler_resource_unittest.cc",
Henrik Boström62057622020-03-10 18:08:0590 ]
Henrik Boströmefbec9a2020-03-06 09:41:2591 deps = [
92 ":video_adaptation",
Markus Handell8e4197b2022-05-30 13:45:2893 "../../api:field_trials_view",
Henrik Boströmc55516d2020-05-11 14:29:2294 "../../api:scoped_refptr",
Henrik Boström9438ddc2020-05-11 14:32:4195 "../../api/task_queue:task_queue",
Henrik Boströmad706092020-12-04 08:37:4796 "../../api/units:time_delta",
97 "../../api/units:timestamp",
Henrik Boström62057622020-03-10 18:08:0598 "../../api/video:encoded_image",
Evan Shrubsolec70b1022020-04-06 09:23:0699 "../../api/video:video_adaptation",
Ilya Nikolaevskiy38e9b062020-10-08 14:36:33100 "../../api/video:video_frame",
Asa Persson2ee3e4d2022-05-20 12:22:27101 "../../api/video_codecs:scalability_mode",
Henrik Boström4c076052020-03-18 09:09:59102 "../../api/video_codecs:video_codecs_api",
103 "../../call/adaptation:resource_adaptation",
Evan Shrubsolea1c77f62020-08-10 09:01:06104 "../../call/adaptation:resource_adaptation_test_utilities",
Henrik Boström62057622020-03-10 18:08:05105 "../../modules/video_coding:video_coding_utility",
Henrik Boströmefbec9a2020-03-06 09:41:25106 "../../rtc_base:checks",
107 "../../rtc_base:logging",
Florent Castelli71337f32022-04-14 10:41:26108 "../../rtc_base:random",
Henrik Boström62057622020-03-10 18:08:05109 "../../rtc_base:rtc_base_tests_utils",
Henrik Boströmefbec9a2020-03-06 09:41:25110 "../../rtc_base:rtc_event",
111 "../../rtc_base:rtc_numerics",
Henrik Boström62057622020-03-10 18:08:05112 "../../rtc_base:task_queue_for_test",
Niels Möller83830f32022-05-20 07:12:57113 "../../rtc_base:threading",
Henrik Boström4c076052020-03-18 09:09:59114 "../../test:field_trial",
Henrik Boströmad706092020-12-04 08:37:47115 "../../test:rtc_expect_death",
Markus Handell8e4197b2022-05-30 13:45:28116 "../../test:scoped_key_value_config",
Henrik Boströmad706092020-12-04 08:37:47117 "../../test:test_support",
118 "../../test/time_controller:time_controller",
Henrik Boströmefbec9a2020-03-06 09:41:25119 ]
Danil Chapovalov95eeaa72022-07-06 08:14:29120 absl_deps = [
121 "//third_party/abseil-cpp/absl/functional:any_invocable",
122 "//third_party/abseil-cpp/absl/types:optional",
123 ]
Henrik Boströmefbec9a2020-03-06 09:41:25124 }
125}