xref: /aosp_15_r20/external/webrtc/api/transport/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1# Copyright (c) 2018 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("bitrate_settings") {
12  visibility = [ "*" ]
13  sources = [
14    "bitrate_settings.cc",
15    "bitrate_settings.h",
16  ]
17  deps = [ "../../rtc_base/system:rtc_export" ]
18  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
19}
20
21rtc_source_set("enums") {
22  visibility = [ "*" ]
23  sources = [ "enums.h" ]
24}
25
26rtc_library("network_control") {
27  visibility = [ "*" ]
28  sources = [
29    "network_control.h",
30    "network_types.cc",
31    "network_types.h",
32  ]
33
34  deps = [
35    "../../api:field_trials_view",
36    "../rtc_event_log",
37    "../units:data_rate",
38    "../units:data_size",
39    "../units:time_delta",
40    "../units:timestamp",
41  ]
42  absl_deps = [
43    "//third_party/abseil-cpp/absl/base:core_headers",
44    "//third_party/abseil-cpp/absl/types:optional",
45  ]
46}
47
48rtc_library("field_trial_based_config") {
49  visibility = [ "*" ]
50  sources = [
51    "field_trial_based_config.cc",
52    "field_trial_based_config.h",
53  ]
54  deps = [
55    "../../api:field_trials_registry",
56    "../../system_wrappers:field_trial",
57  ]
58  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
59}
60
61rtc_source_set("datagram_transport_interface") {
62  visibility = [ "*" ]
63  sources = [ "data_channel_transport_interface.h" ]
64  deps = [
65    "..:array_view",
66    "..:rtc_error",
67    "../../rtc_base:copy_on_write_buffer",
68  ]
69  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
70}
71
72rtc_library("goog_cc") {
73  visibility = [ "*" ]
74  sources = [
75    "goog_cc_factory.cc",
76    "goog_cc_factory.h",
77  ]
78  deps = [
79    ":network_control",
80    "..:network_state_predictor_api",
81    "../../api:field_trials_view",
82    "../../modules/congestion_controller/goog_cc",
83  ]
84  absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ]
85}
86
87rtc_source_set("sctp_transport_factory_interface") {
88  visibility = [ "*" ]
89  sources = [ "sctp_transport_factory_interface.h" ]
90}
91
92rtc_source_set("stun_types") {
93  visibility = [ "*" ]
94  sources = [
95    "stun.cc",
96    "stun.h",
97  ]
98
99  deps = [
100    "../../api:array_view",
101    "../../rtc_base:byte_buffer",
102    "../../rtc_base:byte_order",
103    "../../rtc_base:checks",
104    "../../rtc_base:ip_address",
105    "../../rtc_base:logging",
106    "../../rtc_base:rtc_base",
107    "../../rtc_base:socket_address",
108    "../../system_wrappers:metrics",
109  ]
110  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
111}
112
113if (rtc_include_tests) {
114  rtc_source_set("test_feedback_generator_interface") {
115    testonly = true
116    sources = [ "test/feedback_generator_interface.h" ]
117    deps = [
118      ":network_control",
119      "..:simulated_network_api",
120    ]
121  }
122  rtc_library("test_feedback_generator") {
123    testonly = true
124    sources = [
125      "test/create_feedback_generator.cc",
126      "test/create_feedback_generator.h",
127    ]
128    visibility = [ "*" ]
129    deps = [
130      ":network_control",
131      ":test_feedback_generator_interface",
132      "../../test/network:feedback_generator",
133    ]
134  }
135}
136
137if (rtc_include_tests) {
138  rtc_source_set("stun_unittest") {
139    visibility = [ "*" ]
140    testonly = true
141    sources = [ "stun_unittest.cc" ]
142    deps = [
143      ":stun_types",
144      "../../rtc_base",
145      "../../rtc_base:byte_buffer",
146      "../../rtc_base:byte_order",
147      "../../rtc_base:macromagic",
148      "../../rtc_base:socket_address",
149      "../../system_wrappers:metrics",
150      "../../test:test_support",
151      "//testing/gtest",
152    ]
153  }
154}
155
156if (rtc_include_tests) {
157  rtc_source_set("mock_network_control") {
158    testonly = true
159    sources = [ "test/mock_network_control.h" ]
160    deps = [
161      ":network_control",
162      "../../test:test_support",
163    ]
164  }
165}
166