blob: 11871b8cbc4bce1b439f14d0ee22d4aeae486f39 [file] [log] [blame]
Jonas Oreland1262eb52022-09-27 14:53:041# 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 = [
Jonas Oreland6c2dae22022-09-29 08:28:2420 ":encoder_config",
Jonas Oreland1262eb52022-09-27 14:53:0421 "../../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 "../../media:rtc_media_base",
27 "../../modules/video_coding:video_coding_utility",
28 "../../modules/video_coding:webrtc_vp9_helpers",
29 "../../rtc_base:checks",
30 "../../rtc_base:logging",
31 "../../rtc_base/experiments:field_trial_parser",
32 "../../rtc_base/experiments:min_video_bitrate_experiment",
33 "../../rtc_base/experiments:normalize_simulcast_size_experiment",
34 "../../rtc_base/experiments:rate_control_settings",
35 ]
36 absl_deps = [
37 "//third_party/abseil-cpp/absl/algorithm:container",
38 "//third_party/abseil-cpp/absl/memory",
39 "//third_party/abseil-cpp/absl/strings",
40 "//third_party/abseil-cpp/absl/types:optional",
41 ]
42}
43
Jonas Oreland6c2dae22022-09-29 08:28:2444rtc_library("encoder_config") {
45 sources = [
46 "video_encoder_config.cc",
47 "video_encoder_config.h",
48 ]
49
50 deps = [
51 "../../api:scoped_refptr",
52 "../../api/video:resolution",
53 "../../api/video_codecs:scalability_mode",
54 "../../api/video_codecs:video_codecs_api",
55 "../../rtc_base:checks",
56 "../../rtc_base:refcount",
57 "../../rtc_base:stringutils",
58 ]
59 absl_deps = [
60 "//third_party/abseil-cpp/absl/algorithm:container",
61 "//third_party/abseil-cpp/absl/memory",
62 "//third_party/abseil-cpp/absl/strings",
63 "//third_party/abseil-cpp/absl/types:optional",
64 ]
65}
66
Jonas Oreland1262eb52022-09-27 14:53:0467if (rtc_include_tests) {
68 rtc_library("video_config_tests") {
69 testonly = true
70
71 defines = []
72 sources = [ "simulcast_unittest.cc" ]
73 deps = [
74 ":streams_config",
75 "../../api/transport:field_trial_based_config",
76 "../../test:field_trial",
77 "../../test:test_support",
78 ]
79 absl_deps = [
80 "//third_party/abseil-cpp/absl/algorithm:container",
81 "//third_party/abseil-cpp/absl/functional:any_invocable",
82 "//third_party/abseil-cpp/absl/functional:bind_front",
83 "//third_party/abseil-cpp/absl/memory",
84 "//third_party/abseil-cpp/absl/strings",
85 "//third_party/abseil-cpp/absl/types:optional",
86 "//third_party/abseil-cpp/absl/types:variant",
87 ]
88 if (!build_with_mozilla) {
89 deps += [ "../../media:rtc_media_base" ]
90 }
91 }
92}