xref: /aosp_15_r20/external/webrtc/video/config/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# Copyright (c) 2022 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("streams_config") {
12  sources = [
13    "encoder_stream_factory.cc",
14    "encoder_stream_factory.h",
15    "simulcast.cc",
16    "simulcast.h",
17  ]
18
19  deps = [
20    ":encoder_config",
21    "../../api:field_trials_view",
22    "../../api/transport:field_trial_based_config",
23    "../../api/units:data_rate",
24    "../../api/video:video_codec_constants",
25    "../../api/video_codecs:video_codecs_api",
26    "../../call/adaptation:resource_adaptation",
27    "../../media:rtc_media_base",
28    "../../modules/video_coding:video_coding_utility",
29    "../../modules/video_coding:webrtc_vp9_helpers",
30    "../../rtc_base:checks",
31    "../../rtc_base:logging",
32    "../../rtc_base/experiments:field_trial_parser",
33    "../../rtc_base/experiments:min_video_bitrate_experiment",
34    "../../rtc_base/experiments:normalize_simulcast_size_experiment",
35    "../../rtc_base/experiments:rate_control_settings",
36  ]
37  absl_deps = [
38    "//third_party/abseil-cpp/absl/algorithm:container",
39    "//third_party/abseil-cpp/absl/memory",
40    "//third_party/abseil-cpp/absl/strings",
41    "//third_party/abseil-cpp/absl/types:optional",
42  ]
43}
44
45rtc_library("encoder_config") {
46  sources = [
47    "video_encoder_config.cc",
48    "video_encoder_config.h",
49  ]
50
51  deps = [
52    "../../api:scoped_refptr",
53    "../../api/video:resolution",
54    "../../api/video_codecs:scalability_mode",
55    "../../api/video_codecs:video_codecs_api",
56    "../../rtc_base:checks",
57    "../../rtc_base:refcount",
58    "../../rtc_base:stringutils",
59  ]
60  absl_deps = [
61    "//third_party/abseil-cpp/absl/algorithm:container",
62    "//third_party/abseil-cpp/absl/memory",
63    "//third_party/abseil-cpp/absl/strings",
64    "//third_party/abseil-cpp/absl/types:optional",
65  ]
66}
67
68if (rtc_include_tests) {
69  rtc_library("video_config_tests") {
70    testonly = true
71
72    defines = []
73    sources = [
74      "encoder_stream_factory_unittest.cc",
75      "simulcast_unittest.cc",
76    ]
77    deps = [
78      ":streams_config",
79      "../../api/transport:field_trial_based_config",
80      "../../call/adaptation:resource_adaptation",
81      "../../test:field_trial",
82      "../../test:test_support",
83    ]
84    absl_deps = [
85      "//third_party/abseil-cpp/absl/algorithm:container",
86      "//third_party/abseil-cpp/absl/functional:any_invocable",
87      "//third_party/abseil-cpp/absl/functional:bind_front",
88      "//third_party/abseil-cpp/absl/memory",
89      "//third_party/abseil-cpp/absl/strings",
90      "//third_party/abseil-cpp/absl/types:optional",
91      "//third_party/abseil-cpp/absl/types:variant",
92    ]
93    if (!build_with_mozilla) {
94      deps += [ "../../media:rtc_media_base" ]
95    }
96  }
97}
98