blob: 1f830072f31669d5a7b0817bfcde50fc46557829 [file] [log] [blame]
kjellanderc76dc952016-06-03 10:09:321# Copyright (c) 2016 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
Harald Alvestrande47493b2022-02-15 12:45:029# Visibility considerations:
10#
11# Most targets in this file should have visibility ":*", as they are only
12# used internally.
13# Some functions are cleared for wider webrtc usage; these have default
14# visibility (set to "//*", not the gn default of "*").
15# These are:
Harald Alvestrande47493b2022-02-15 12:45:0216# - rtc_pc
17# - session_description
18# - simulcast_description
19# - peerconnection
20# - sdp_utils
21# - media_stream_observer
22# - video_track_source
23# - libjingle_peerconnection
24#
25# Some targets are depended on by external users for historical reasons,
26# and are therefore marked with visibility "*". This is in the process
27# of being removed.
28#
29# Some targets are only publicly visible in Chrome builds.
30# These are marked up as such.
31
mbonadei9aa3f0a2017-01-24 14:58:2232import("../webrtc.gni")
ossu7bb87ee2017-01-23 12:56:2533if (is_android) {
34 import("//build/config/android/config.gni")
35 import("//build/config/android/rules.gni")
36}
kjellanderc76dc952016-06-03 10:09:3237
38group("pc") {
Danil Chapovalov64f1f3f2020-01-16 13:41:1039 deps = [ ":rtc_pc" ]
kjellanderc76dc952016-06-03 10:09:3240}
41
Markus Handella1b82012021-05-26 16:56:3042rtc_library("proxy") {
Harald Alvestrande47493b2022-02-15 12:45:0243 visibility = [ ":*" ]
Markus Handella1b82012021-05-26 16:56:3044 sources = [
45 "proxy.cc",
46 "proxy.h",
47 ]
48 deps = [
49 "../api:scoped_refptr",
50 "../api/task_queue",
Florent Castellia30aef32022-04-19 15:47:1351 "../rtc_base:event_tracer",
Florent Castelli33d31fb2022-04-04 14:57:5252 "../rtc_base:rtc_event",
Florent Castelli57aa81b2022-04-04 15:14:0253 "../rtc_base:stringutils",
Markus Handella1b82012021-05-26 16:56:3054 "../rtc_base:threading",
55 "../rtc_base/system:rtc_export",
56 ]
57}
58
Harald Alvestrand03fad382022-03-10 07:30:3159rtc_source_set("channel") {
Harald Alvestrand65685a62022-04-27 12:15:4960 visibility = [
61 ":*",
62 "../test/peer_scenario",
63 ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:5164 sources = [
65 "channel.cc",
66 "channel.h",
67 ]
68 deps = [
69 ":channel_interface",
70 ":rtp_media_utils",
71 ":rtp_transport_internal",
72 ":session_description",
73 "../api:libjingle_peerconnection_api",
74 "../api:rtp_parameters",
75 "../api:rtp_transceiver_direction",
76 "../api:scoped_refptr",
77 "../api:sequence_checker",
78 "../api/crypto:options",
Artem Titovc374d112022-06-16 19:27:4579 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5180 "../api/units:timestamp",
81 "../call:rtp_interfaces",
82 "../call:rtp_receiver",
Harald Alvestrand794d5992022-12-16 09:54:5783 "../media:codec",
84 "../media:media_channel",
85 "../media:media_channel_impl",
86 "../media:rid_description",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5187 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:5788 "../media:rtp_utils",
89 "../media:stream_params",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5190 "../modules/rtp_rtcp:rtp_rtcp_format",
91 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:0992 "../rtc_base:async_packet_socket",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5193 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:4694 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:1395 "../rtc_base:event_tracer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5196 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:4697 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:0998 "../rtc_base:network_route",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5199 "../rtc_base:socket",
Florent Castelli57aa81b2022-04-04 15:14:02100 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51101 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:09102 "../rtc_base:unique_id_generator",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51103 "../rtc_base/containers:flat_set",
104 "../rtc_base/network:sent_packet",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51105 "../rtc_base/third_party/sigslot",
106 ]
107 absl_deps = [
108 "//third_party/abseil-cpp/absl/strings",
109 "//third_party/abseil-cpp/absl/types:optional",
110 ]
Harald Alvestrand03fad382022-03-10 07:30:31111}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51112
Harald Alvestrand03fad382022-03-10 07:30:31113rtc_source_set("channel_interface") {
114 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40115 sources = [ "channel_interface.h" ]
116 deps = [
117 ":rtp_transport_internal",
118 "../api:libjingle_peerconnection_api",
119 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:57120 "../media:media_channel",
Harald Alvestrandc5b9c952022-03-14 07:16:40121 "../media:rtc_media_base",
122 ]
123 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand03fad382022-03-10 07:30:31124}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51125
Harald Alvestrand03fad382022-03-10 07:30:31126rtc_source_set("dtls_srtp_transport") {
127 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51128 sources = [
129 "dtls_srtp_transport.cc",
130 "dtls_srtp_transport.h",
131 ]
132 deps = [
133 ":srtp_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28134 "../api:dtls_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51135 "../api:libjingle_peerconnection_api",
136 "../api:rtc_error",
137 "../p2p:rtc_p2p",
Florent Castellif9c59842022-04-19 15:07:23138 "../rtc_base:buffer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51139 "../rtc_base:checks",
140 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09141 "../rtc_base:ssl",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51142 "../rtc_base/third_party/sigslot",
143 ]
144 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31145}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51146
Harald Alvestrand03fad382022-03-10 07:30:31147rtc_source_set("dtls_transport") {
148 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40149 sources = [
150 "dtls_transport.cc",
151 "dtls_transport.h",
152 ]
153 deps = [
154 ":ice_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28155 "../api:dtls_transport_interface",
156 "../api:ice_transport_interface",
Harald Alvestrandc5b9c952022-03-14 07:16:40157 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:26158 "../api:make_ref_counted",
Harald Alvestrandc5b9c952022-03-14 07:16:40159 "../api:scoped_refptr",
160 "../api:sequence_checker",
161 "../p2p:rtc_p2p",
Harald Alvestrandc5b9c952022-03-14 07:16:40162 "../rtc_base:checks",
163 "../rtc_base:logging",
164 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09165 "../rtc_base:ssl",
Harald Alvestrandc5b9c952022-03-14 07:16:40166 "../rtc_base:threading",
167 "../rtc_base/synchronization:mutex",
168 ]
169 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31170}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51171
Harald Alvestrand03fad382022-03-10 07:30:31172rtc_source_set("external_hmac") {
173 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28174 sources = [
175 "external_hmac.cc",
176 "external_hmac.h",
177 ]
Florent Castelli0af55ba2022-04-04 13:06:30178 deps = [
179 "../rtc_base:logging",
Florent Castellid119b9e2022-04-14 11:23:51180 "../rtc_base:zero_memory",
Florent Castelli0af55ba2022-04-04 13:06:30181 ]
Harald Alvestrand7ee138e2022-03-10 13:21:28182 if (rtc_build_libsrtp) {
183 deps += [ "//third_party/libsrtp" ]
184 }
Harald Alvestrand03fad382022-03-10 07:30:31185}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51186
Harald Alvestrand03fad382022-03-10 07:30:31187rtc_source_set("ice_transport") {
188 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28189 sources = [
190 "ice_transport.cc",
191 "ice_transport.h",
192 ]
193 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28194 "../api:ice_transport_interface",
Harald Alvestrand7ee138e2022-03-10 13:21:28195 "../api:libjingle_peerconnection_api",
196 "../api:sequence_checker",
197 "../rtc_base:checks",
198 "../rtc_base:macromagic",
199 "../rtc_base:threading",
200 ]
Harald Alvestrand03fad382022-03-10 07:30:31201}
Harald Alvestrande5a73f52022-03-28 12:06:34202
Harald Alvestrand03fad382022-03-10 07:30:31203rtc_source_set("jsep_transport") {
204 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51205 sources = [
206 "jsep_transport.cc",
207 "jsep_transport.h",
208 ]
209 deps = [
210 ":dtls_srtp_transport",
211 ":dtls_transport",
212 ":rtcp_mux_filter",
213 ":rtp_transport",
214 ":rtp_transport_internal",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51215 ":sctp_transport",
216 ":session_description",
217 ":srtp_filter",
218 ":srtp_transport",
219 ":transport_stats",
220 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:28221 "../api:candidate",
222 "../api:ice_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51223 "../api:libjingle_peerconnection_api",
224 "../api:rtc_error",
225 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:21226 "../api:sequence_checker",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51227 "../api/transport:datagram_transport_interface",
228 "../media:rtc_data_sctp_transport_internal",
229 "../p2p:rtc_p2p",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51230 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46231 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13232 "../rtc_base:event_tracer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51233 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46234 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09235 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02236 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51237 "../rtc_base:threading",
238 ]
239 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31240}
Harald Alvestrande5a73f52022-03-28 12:06:34241
Harald Alvestrand03fad382022-03-10 07:30:31242rtc_source_set("jsep_transport_collection") {
243 visibility = [ ":*" ]
Harald Alvestrande5a73f52022-03-28 12:06:34244 sources = [
245 "jsep_transport_collection.cc",
246 "jsep_transport_collection.h",
247 ]
248 deps = [
249 ":jsep_transport",
250 ":session_description",
251 "../api:libjingle_peerconnection_api",
252 "../api:sequence_checker",
253 "../p2p:rtc_p2p",
254 "../rtc_base:checks",
255 "../rtc_base:logging",
256 "../rtc_base:macromagic",
257 "../rtc_base/system:no_unique_address",
258 ]
259 absl_deps = []
Harald Alvestrand03fad382022-03-10 07:30:31260}
Harald Alvestrande5a73f52022-03-28 12:06:34261
Harald Alvestrand03fad382022-03-10 07:30:31262rtc_source_set("jsep_transport_controller") {
Harald Alvestrande5a73f52022-03-28 12:06:34263 visibility = [
264 ":*",
265 "../test/peer_scenario:*",
266 ]
267 sources = [
268 "jsep_transport_controller.cc",
269 "jsep_transport_controller.h",
270 ]
271 deps = [
272 ":channel",
273 ":dtls_srtp_transport",
274 ":dtls_transport",
275 ":jsep_transport",
276 ":jsep_transport_collection",
277 ":rtp_transport",
278 ":rtp_transport_internal",
279 ":sctp_transport",
280 ":session_description",
281 ":srtp_transport",
282 ":transport_stats",
283 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:28284 "../api:candidate",
285 "../api:dtls_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34286 "../api:ice_transport_factory",
Mirko Bonadeid151cc62022-06-20 06:35:28287 "../api:ice_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34288 "../api:libjingle_peerconnection_api",
289 "../api:rtc_error",
290 "../api:rtp_parameters",
291 "../api:scoped_refptr",
292 "../api:sequence_checker",
293 "../api/crypto:options",
294 "../api/rtc_event_log",
295 "../api/transport:datagram_transport_interface",
296 "../api/transport:enums",
297 "../api/transport:sctp_transport_factory_interface",
298 "../media:rtc_data_sctp_transport_internal",
299 "../p2p:rtc_p2p",
Harald Alvestrande5a73f52022-03-28 12:06:34300 "../rtc_base:callback_list",
301 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46302 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13303 "../rtc_base:event_tracer",
Harald Alvestrande5a73f52022-03-28 12:06:34304 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46305 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09306 "../rtc_base:ssl",
Harald Alvestrande5a73f52022-03-28 12:06:34307 "../rtc_base:threading",
308 "../rtc_base/third_party/sigslot",
309 ]
310 absl_deps = [
311 "//third_party/abseil-cpp/absl/algorithm:container",
Per Ke1e94ad2023-03-30 14:53:59312 "//third_party/abseil-cpp/absl/functional:any_invocable",
Harald Alvestrande5a73f52022-03-28 12:06:34313 "//third_party/abseil-cpp/absl/types:optional",
314 ]
Harald Alvestrand03fad382022-03-10 07:30:31315}
Harald Alvestrande5a73f52022-03-28 12:06:34316
Harald Alvestrand03fad382022-03-10 07:30:31317rtc_source_set("media_session") {
Harald Alvestrand66ddd5a2022-03-18 09:02:59318 visibility = [ "*" ] # Used by Chrome
Harald Alvestrande5a73f52022-03-28 12:06:34319 sources = [
320 "media_session.cc",
321 "media_session.h",
322 ]
323 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:34324 ":jsep_transport",
325 ":media_protocol_names",
326 ":rtp_media_utils",
327 ":session_description",
328 ":simulcast_description",
329 ":used_ids",
Jonas Orelande62c2f22022-03-29 09:04:48330 "../api:field_trials_view",
Harald Alvestrande5a73f52022-03-28 12:06:34331 "../api:libjingle_peerconnection_api",
332 "../api:rtp_parameters",
333 "../api:rtp_transceiver_direction",
Harald Alvestrande5a73f52022-03-28 12:06:34334 "../api/crypto:options",
Harald Alvestrand794d5992022-12-16 09:54:57335 "../media:codec",
336 "../media:media_constants",
337 "../media:rid_description",
Harald Alvestrande5a73f52022-03-28 12:06:34338 "../media:rtc_data_sctp_transport_internal",
339 "../media:rtc_media_base",
340 "../media:rtc_sdp_video_format_utils",
Harald Alvestrand794d5992022-12-16 09:54:57341 "../media:stream_params",
Harald Alvestrande5a73f52022-03-28 12:06:34342 "../p2p:rtc_p2p",
Harald Alvestrande5a73f52022-03-28 12:06:34343 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30344 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09345 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02346 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:09347 "../rtc_base:unique_id_generator",
Harald Alvestrand8101e7b2022-05-23 14:57:47348 "../rtc_base/memory:always_valid_pointer",
Harald Alvestrande5a73f52022-03-28 12:06:34349 "../rtc_base/third_party/base64",
350 ]
351 absl_deps = [
352 "//third_party/abseil-cpp/absl/algorithm:container",
353 "//third_party/abseil-cpp/absl/strings",
354 "//third_party/abseil-cpp/absl/types:optional",
355 ]
Harald Alvestrand03fad382022-03-10 07:30:31356}
Harald Alvestrande5a73f52022-03-28 12:06:34357
Harald Alvestrand03fad382022-03-10 07:30:31358rtc_source_set("media_stream_proxy") {
359 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51360 sources = [ "media_stream_proxy.h" ]
361 deps = [
362 ":proxy",
363 "../api:media_stream_interface",
364 ]
Harald Alvestrand03fad382022-03-10 07:30:31365}
Harald Alvestrande5a73f52022-03-28 12:06:34366
Harald Alvestrand03fad382022-03-10 07:30:31367rtc_source_set("media_stream_track_proxy") {
368 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51369 sources = [ "media_stream_track_proxy.h" ]
370 deps = [
371 ":proxy",
372 "../api:media_stream_interface",
373 ]
Harald Alvestrand03fad382022-03-10 07:30:31374}
Harald Alvestrande5a73f52022-03-28 12:06:34375
Harald Alvestrand03fad382022-03-10 07:30:31376rtc_source_set("peer_connection_factory_proxy") {
377 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51378 sources = [ "peer_connection_factory_proxy.h" ]
379 deps = [
380 ":proxy",
381 "../api:libjingle_peerconnection_api",
382 ]
Harald Alvestrand03fad382022-03-10 07:30:31383}
Harald Alvestrande5a73f52022-03-28 12:06:34384
Harald Alvestrand03fad382022-03-10 07:30:31385rtc_source_set("peer_connection_proxy") {
386 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51387 sources = [ "peer_connection_proxy.h" ]
388 deps = [
389 ":proxy",
390 "../api:libjingle_peerconnection_api",
391 ]
Harald Alvestrand03fad382022-03-10 07:30:31392}
Harald Alvestrande5a73f52022-03-28 12:06:34393
Harald Alvestrand03fad382022-03-10 07:30:31394rtc_source_set("rtcp_mux_filter") {
395 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28396 sources = [
397 "rtcp_mux_filter.cc",
398 "rtcp_mux_filter.h",
399 ]
400 deps = [
401 ":session_description",
402 "../rtc_base:logging",
403 ]
Harald Alvestrand03fad382022-03-10 07:30:31404}
Harald Alvestrande5a73f52022-03-28 12:06:34405
Harald Alvestrand03fad382022-03-10 07:30:31406rtc_source_set("rtp_media_utils") {
407 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28408 sources = [
409 "rtp_media_utils.cc",
410 "rtp_media_utils.h",
411 ]
412 deps = [
413 "../api:rtp_transceiver_direction",
414 "../rtc_base:checks",
415 ]
Harald Alvestrand03fad382022-03-10 07:30:31416}
Harald Alvestrande5a73f52022-03-28 12:06:34417
Harald Alvestrand03fad382022-03-10 07:30:31418rtc_source_set("rtp_receiver_proxy") {
419 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51420 sources = [ "rtp_receiver_proxy.h" ]
421 deps = [
422 ":proxy",
423 "../api:libjingle_peerconnection_api",
424 ]
Harald Alvestrand03fad382022-03-10 07:30:31425}
Harald Alvestrande5a73f52022-03-28 12:06:34426
Harald Alvestrand03fad382022-03-10 07:30:31427rtc_source_set("rtp_sender_proxy") {
428 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51429 sources = [ "rtp_sender_proxy.h" ]
430 deps = [
431 ":proxy",
432 "../api:libjingle_peerconnection_api",
Florent Castelliacabb362022-10-18 15:05:16433 "../api:rtp_sender_interface",
Harald Alvestrandd9f68462022-03-10 10:09:51434 ]
Harald Alvestrand03fad382022-03-10 07:30:31435}
Harald Alvestrande5a73f52022-03-28 12:06:34436
Harald Alvestrand03fad382022-03-10 07:30:31437rtc_source_set("rtp_transport") {
438 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59439 sources = [
440 "rtp_transport.cc",
441 "rtp_transport.h",
442 ]
443 deps = [
444 ":rtp_transport_internal",
445 ":session_description",
446 "../api:array_view",
447 "../api/units:timestamp",
448 "../call:rtp_receiver",
449 "../call:video_stream_api",
450 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:57451 "../media:rtp_utils",
Harald Alvestrand4bac0bb2022-03-15 13:21:59452 "../modules/rtp_rtcp:rtp_rtcp_format",
453 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09454 "../rtc_base:async_packet_socket",
Harald Alvestrand4bac0bb2022-03-15 13:21:59455 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46456 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13457 "../rtc_base:event_tracer",
Harald Alvestrand4bac0bb2022-03-15 13:21:59458 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09459 "../rtc_base:network_route",
Harald Alvestrand4bac0bb2022-03-15 13:21:59460 "../rtc_base:socket",
461 "../rtc_base/network:sent_packet",
Harald Alvestrand4bac0bb2022-03-15 13:21:59462 ]
463 absl_deps = [
464 "//third_party/abseil-cpp/absl/strings",
465 "//third_party/abseil-cpp/absl/types:optional",
466 ]
Harald Alvestrand03fad382022-03-10 07:30:31467}
Harald Alvestrande5a73f52022-03-28 12:06:34468
Harald Alvestrand03fad382022-03-10 07:30:31469rtc_source_set("rtp_transport_internal") {
Harald Alvestrand2ea4d372022-03-10 22:15:42470 visibility = [
471 ":*",
472 "../test/peer_scenario",
473 ]
474 sources = [ "rtp_transport_internal.h" ]
475 deps = [
476 ":session_description",
477 "../call:rtp_receiver",
478 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09479 "../rtc_base:network_route",
480 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42481 "../rtc_base/third_party/sigslot",
482 ]
Harald Alvestrand03fad382022-03-10 07:30:31483}
Harald Alvestrande5a73f52022-03-28 12:06:34484
Harald Alvestrand03fad382022-03-10 07:30:31485rtc_source_set("sctp_transport") {
486 visibility = [ ":*" ]
Harald Alvestrand7e539922022-03-17 06:26:03487 sources = [
488 "sctp_transport.cc",
489 "sctp_transport.h",
490 ]
491 deps = [
492 ":dtls_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28493 "../api:dtls_transport_interface",
Harald Alvestrand7e539922022-03-17 06:26:03494 "../api:libjingle_peerconnection_api",
495 "../api:scoped_refptr",
496 "../api:sequence_checker",
Fredrik Solenberg5cb3a902022-08-22 09:34:29497 "../api/transport:datagram_transport_interface",
Harald Alvestrand7e539922022-03-17 06:26:03498 "../media:rtc_data_sctp_transport_internal",
499 "../p2p:rtc_p2p",
Harald Alvestrand7e539922022-03-17 06:26:03500 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30501 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46502 "../rtc_base:macromagic",
Harald Alvestrand7e539922022-03-17 06:26:03503 "../rtc_base:threading",
504 "../rtc_base/third_party/sigslot",
505 ]
506 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31507}
Harald Alvestrande5a73f52022-03-28 12:06:34508
Harald Alvestrand03fad382022-03-10 07:30:31509rtc_source_set("sctp_utils") {
Harald Alvestrand2ea4d372022-03-10 22:15:42510 visibility = [
511 ":*",
Harald Alvestrandbc8c0952022-03-15 06:53:07512 "../test/fuzzers:*",
Harald Alvestrand2ea4d372022-03-10 22:15:42513 ]
514 sources = [
515 "sctp_utils.cc",
516 "sctp_utils.h",
517 ]
518 deps = [
519 "../api:libjingle_peerconnection_api",
520 "../api:priority",
521 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57522 "../media:media_channel",
Tommi492296c2023-03-12 15:59:25523 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrand2ea4d372022-03-10 22:15:42524 "../media:rtc_media_base",
Tommi492296c2023-03-12 15:59:25525 "../net/dcsctp/public:types",
Florent Castelliceb7b362022-04-19 15:35:04526 "../rtc_base:byte_buffer",
Florent Castellied4aadc2022-04-19 15:40:46527 "../rtc_base:copy_on_write_buffer",
Florent Castelli0af55ba2022-04-04 13:06:30528 "../rtc_base:logging",
Tommi492296c2023-03-12 15:59:25529 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42530 ]
531 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31532}
533rtc_source_set("srtp_filter") {
534 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42535 sources = [
536 "srtp_filter.cc",
537 "srtp_filter.h",
538 ]
539 deps = [
540 ":session_description",
541 "../api:array_view",
542 "../api:libjingle_peerconnection_api",
543 "../api:sequence_checker",
Florent Castellif9c59842022-04-19 15:07:23544 "../rtc_base:buffer",
Harald Alvestrand2ea4d372022-03-10 22:15:42545 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09546 "../rtc_base:ssl",
Florent Castellid119b9e2022-04-14 11:23:51547 "../rtc_base:zero_memory",
Harald Alvestrand2ea4d372022-03-10 22:15:42548 "../rtc_base/third_party/base64",
549 ]
550 absl_deps = [
551 "//third_party/abseil-cpp/absl/strings",
552 "//third_party/abseil-cpp/absl/types:optional",
553 ]
Harald Alvestrand03fad382022-03-10 07:30:31554}
Harald Alvestrande5a73f52022-03-28 12:06:34555
Harald Alvestrand03fad382022-03-10 07:30:31556rtc_source_set("srtp_session") {
557 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59558 sources = [
559 "srtp_session.cc",
560 "srtp_session.h",
561 ]
562 deps = [
563 ":external_hmac",
564 "../api:array_view",
Jonas Orelande62c2f22022-03-29 09:04:48565 "../api:field_trials_view",
Harald Alvestrand4bac0bb2022-03-15 13:21:59566 "../api:scoped_refptr",
567 "../api:sequence_checker",
Harald Alvestrand4bac0bb2022-03-15 13:21:59568 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia876a922022-04-19 15:18:36569 "../rtc_base:byte_order",
Harald Alvestrand4bac0bb2022-03-15 13:21:59570 "../rtc_base:checks",
571 "../rtc_base:logging",
Niels Möller2d6c4d02022-04-05 14:14:21572 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09573 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02574 "../rtc_base:stringutils",
Florent Castellidd837e22022-04-04 15:16:15575 "../rtc_base:timeutils",
Harald Alvestrand4bac0bb2022-03-15 13:21:59576 "../rtc_base/synchronization:mutex",
577 "../system_wrappers:metrics",
578 ]
Ali Tofighfd6a4d62022-03-31 08:36:48579 absl_deps = [
580 "//third_party/abseil-cpp/absl/base:core_headers",
581 "//third_party/abseil-cpp/absl/strings:strings",
582 ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59583 if (rtc_build_libsrtp) {
584 deps += [ "//third_party/libsrtp" ]
585 }
Harald Alvestrand03fad382022-03-10 07:30:31586}
587rtc_source_set("srtp_transport") {
588 visibility = [ ":*" ]
Harald Alvestrand7e539922022-03-17 06:26:03589 sources = [
590 "srtp_transport.cc",
591 "srtp_transport.h",
592 ]
593 deps = [
594 ":rtp_transport",
595 ":srtp_session",
Jonas Orelande62c2f22022-03-29 09:04:48596 "../api:field_trials_view",
Harald Alvestrand7e539922022-03-17 06:26:03597 "../api:libjingle_peerconnection_api",
598 "../api:rtc_error",
Harald Alvestrand7e539922022-03-17 06:26:03599 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:57600 "../media:rtp_utils",
Harald Alvestrand7e539922022-03-17 06:26:03601 "../modules/rtp_rtcp:rtp_rtcp_format",
602 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09603 "../rtc_base:async_packet_socket",
Florent Castellif9c59842022-04-19 15:07:23604 "../rtc_base:buffer",
Harald Alvestrand7e539922022-03-17 06:26:03605 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46606 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13607 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30608 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09609 "../rtc_base:network_route",
Florent Castellie10a9f62022-04-04 15:04:37610 "../rtc_base:safe_conversions",
Florent Castellia138c6c2023-01-04 11:01:09611 "../rtc_base:ssl",
Florent Castellid119b9e2022-04-14 11:23:51612 "../rtc_base:zero_memory",
Harald Alvestrand7e539922022-03-17 06:26:03613 "../rtc_base/third_party/base64",
Harald Alvestrand7e539922022-03-17 06:26:03614 ]
615 absl_deps = [
616 "//third_party/abseil-cpp/absl/strings",
617 "//third_party/abseil-cpp/absl/types:optional",
618 ]
Harald Alvestrand03fad382022-03-10 07:30:31619}
Harald Alvestrande5a73f52022-03-28 12:06:34620
Harald Alvestrand03fad382022-03-10 07:30:31621rtc_source_set("transport_stats") {
622 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42623 sources = [
624 "transport_stats.cc",
625 "transport_stats.h",
626 ]
627 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28628 "../api:dtls_transport_interface",
Harald Alvestrand2ea4d372022-03-10 22:15:42629 "../api:libjingle_peerconnection_api",
630 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09631 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42632 ]
Harald Alvestrand03fad382022-03-10 07:30:31633}
Harald Alvestrande5a73f52022-03-28 12:06:34634
Harald Alvestrand03fad382022-03-10 07:30:31635rtc_source_set("used_ids") {
636 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40637 sources = [ "used_ids.h" ]
638 deps = [
639 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:57640 "../media:codec",
Harald Alvestrandc5b9c952022-03-14 07:16:40641 "../media:rtc_media_base",
642 "../rtc_base:checks",
643 "../rtc_base:logging",
644 ]
Harald Alvestrand03fad382022-03-10 07:30:31645}
Harald Alvestrande5a73f52022-03-28 12:06:34646
Harald Alvestrand03fad382022-03-10 07:30:31647rtc_source_set("video_track_source_proxy") {
Harald Alvestrande5a73f52022-03-28 12:06:34648 visibility = [ "*" ] # Used by Chrome
649 sources = [
650 "video_track_source_proxy.cc",
651 "video_track_source_proxy.h",
652 ]
653 deps = [
654 ":proxy",
655 "../api:libjingle_peerconnection_api",
656 "../api:media_stream_interface",
657 "../api:scoped_refptr",
658 "../api:video_track_source_constraints",
659 "../api/video:recordable_encoded_frame",
660 "../api/video:video_frame",
661 "../rtc_base:threading",
662 ]
663 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31664}
665
Harald Alvestrandc0a95862021-06-09 09:33:56666rtc_source_set("session_description") {
Harald Alvestrande79f85c2022-02-07 08:39:52667 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:02668 visibility = [ "*" ] # Used by Chrome and others
669
Harald Alvestrandc0a95862021-06-09 09:33:56670 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48671 "session_description.cc",
672 "session_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56673 ]
674 deps = [
675 ":media_protocol_names",
676 ":simulcast_description",
677 "../api:libjingle_peerconnection_api",
678 "../api:rtp_parameters",
679 "../api:rtp_transceiver_direction",
Harald Alvestrand794d5992022-12-16 09:54:57680 "../media:codec",
681 "../media:media_channel",
682 "../media:media_constants",
683 "../media:rid_description",
Harald Alvestrandc0a95862021-06-09 09:33:56684 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:57685 "../media:stream_params",
Harald Alvestrandc0a95862021-06-09 09:33:56686 "../p2p:rtc_p2p",
687 "../rtc_base:checks",
688 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:59689 "../rtc_base:stringutils",
Harald Alvestrandc0a95862021-06-09 09:33:56690 "../rtc_base/system:rtc_export",
691 ]
692 absl_deps = [
693 "//third_party/abseil-cpp/absl/algorithm:container",
694 "//third_party/abseil-cpp/absl/memory:memory",
Niels Möllerf1d822b2022-06-07 11:58:27695 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc0a95862021-06-09 09:33:56696 ]
697}
698
699rtc_source_set("simulcast_description") {
700 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48701 "simulcast_description.cc",
702 "simulcast_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56703 ]
704 deps = [
705 "../rtc_base:checks",
706 "../rtc_base:socket_address",
707 "../rtc_base/system:rtc_export",
708 ]
Niels Möller2d3186e2022-01-24 13:15:03709 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrandc0a95862021-06-09 09:33:56710}
711
zhihuang38ede132017-06-15 19:52:32712rtc_source_set("rtc_pc") {
Harald Alvestrande47493b2022-02-15 12:45:02713 if (build_with_chromium) {
714 visibility = [ "*" ]
715 }
Anders Carlsson45340ca2019-01-14 13:23:23716 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Harald Alvestrand8df19572022-03-29 07:53:50717 deps = [ "../media:rtc_audio_video" ]
zhihuang38ede132017-06-15 19:52:32718}
719
Mirko Bonadei86d053c2019-10-17 19:32:04720rtc_library("media_protocol_names") {
Harald Alvestrande47493b2022-02-15 12:45:02721 visibility = [ ":*" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16722 sources = [
723 "media_protocol_names.cc",
724 "media_protocol_names.h",
725 ]
Niels Möllerd4aa3a32021-09-29 11:23:01726 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16727}
728
Harald Alvestrand15ad4ed2022-02-09 05:52:11729rtc_source_set("peerconnection") {
Harald Alvestrande47493b2022-02-15 12:45:02730 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
731 visibility = [ "*" ] # Used by Chromium and others
ossu7bb87ee2017-01-23 12:56:25732 cflags = []
Harald Alvestrand15ad4ed2022-02-09 05:52:11733 sources = []
ossu7bb87ee2017-01-23 12:56:25734
ossu7bb87ee2017-01-23 12:56:25735 deps = [
Harald Alvestrand7165f482020-10-12 07:37:31736 ":audio_rtp_receiver",
737 ":audio_track",
Harald Alvestranda39689c2020-10-15 08:34:31738 ":connection_context",
Harald Alvestrand48e1b292022-01-31 10:58:51739 ":data_channel_controller",
740 ":data_channel_utils",
Harald Alvestrand445e6b02020-09-29 14:21:47741 ":dtmf_sender",
Harald Alvestrand48e1b292022-01-31 10:58:51742 ":ice_server_parsing",
Harald Alvestrand7165f482020-10-12 07:37:31743 ":jitter_buffer_delay",
Harald Alvestrandae940a52022-02-01 13:37:08744 ":jsep_ice_candidate",
745 ":jsep_session_description",
Henrik Boströmf7859892022-07-04 12:36:37746 ":legacy_stats_collector",
747 ":legacy_stats_collector_interface",
Harald Alvestrandae940a52022-02-01 13:37:08748 ":local_audio_source",
Harald Alvestrand1f7eab62020-10-18 16:51:47749 ":media_protocol_names",
Harald Alvestrand445e6b02020-09-29 14:21:47750 ":media_stream",
Harald Alvestrand48e1b292022-01-31 10:58:51751 ":media_stream_observer",
Harald Alvestrandae940a52022-02-01 13:37:08752 ":peer_connection",
Harald Alvestrand48e1b292022-01-31 10:58:51753 ":peer_connection_factory",
754 ":peer_connection_internal",
Harald Alvestrand1090e442020-10-05 07:01:09755 ":peer_connection_message_handler",
Markus Handella1b82012021-05-26 16:56:30756 ":proxy",
Harald Alvestrand7165f482020-10-12 07:37:31757 ":remote_audio_source",
Harald Alvestrand48e1b292022-01-31 10:58:51758 ":rtc_stats_collector",
Harald Alvestrandae940a52022-02-01 13:37:08759 ":rtc_stats_traversal",
Harald Alvestrandbb02db22020-10-08 16:35:18760 ":rtp_parameters_conversion",
Harald Alvestrand445e6b02020-09-29 14:21:47761 ":rtp_receiver",
762 ":rtp_sender",
Harald Alvestrandbb02db22020-10-08 16:35:18763 ":rtp_transceiver",
Harald Alvestrande15fb152020-10-19 13:28:05764 ":rtp_transmission_manager",
Harald Alvestrand48e1b292022-01-31 10:58:51765 ":sctp_data_channel",
766 ":sdp_offer_answer",
Harald Alvestrandae940a52022-02-01 13:37:08767 ":sdp_serializer",
Harald Alvestrandf01bd6c2020-10-23 13:30:46768 ":sdp_state_provider",
Harald Alvestrandae940a52022-02-01 13:37:08769 ":sdp_utils",
Harald Alvestrandc0a95862021-06-09 09:33:56770 ":session_description",
771 ":simulcast_description",
Harald Alvestrandae940a52022-02-01 13:37:08772 ":stream_collection",
773 ":track_media_info_map",
Harald Alvestrande15fb152020-10-19 13:28:05774 ":transceiver_list",
Harald Alvestrand44d0dff2020-10-09 05:43:53775 ":usage_pattern",
Harald Alvestrand7165f482020-10-12 07:37:31776 ":video_rtp_receiver",
777 ":video_track",
Harald Alvestrand445e6b02020-09-29 14:21:47778 ":video_track_source",
Harald Alvestrandae940a52022-02-01 13:37:08779 ":webrtc_sdp",
780 ":webrtc_session_description_factory",
Yves Gerey3e707812018-11-28 15:47:49781 "../api:array_view",
Harald Alvestrand0ccfbd22021-04-08 07:25:04782 "../api:async_dns_resolver",
Yves Gerey3e707812018-11-28 15:47:49783 "../api:audio_options_api",
ossu7bb87ee2017-01-23 12:56:25784 "../api:call_api",
Harald Alvestrandffd5dc72020-10-20 15:35:31785 "../api:callfactory_api",
Ying Wang0dd1b0a2018-02-20 11:50:27786 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:48787 "../api:field_trials_view",
Marina Cioceae77912b2020-02-27 15:16:55788 "../api:frame_transformer_interface",
Qingsi Wang25ec8882019-11-15 20:33:05789 "../api:ice_transport_factory",
Harald Alvestrand1f7eab62020-10-18 16:51:47790 "../api:libjingle_logging_api",
Mirko Bonadeie51f7852017-12-06 10:23:19791 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:41792 "../api:media_stream_interface",
Ying Wang0810a7c2019-04-10 11:48:24793 "../api:network_state_predictor_api",
Harald Alvestrand1f7eab62020-10-18 16:51:47794 "../api:packet_socket_factory",
Harald Alvestrandfd5ae7f2020-05-16 06:37:49795 "../api:priority",
Mirko Bonadeifcfeefe2019-09-10 08:51:23796 "../api:rtc_error",
Niels Möllerd8b9ed72019-05-08 11:53:51797 "../api:rtc_event_log_output_file",
ossu7bb87ee2017-01-23 12:56:25798 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:28799 "../api:rtp_parameters",
Harald Alvestrand1f7eab62020-10-18 16:51:47800 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:48801 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24802 "../api:sequence_checker",
Harald Alvestrand1f7eab62020-10-18 16:51:47803 "../api/adaptation:resource_adaptation_api",
Harald Alvestrand5761e7b2021-01-29 14:45:08804 "../api/audio_codecs:audio_codecs_api",
Mirko Bonadeieaaaf412019-09-13 12:42:15805 "../api/crypto:frame_decryptor_interface",
Harald Alvestrand1f7eab62020-10-18 16:51:47806 "../api/crypto:options",
Harald Alvestrandffd5dc72020-10-20 15:35:31807 "../api/neteq:neteq_api",
Danil Chapovalov83bbe912019-08-07 10:24:53808 "../api/rtc_event_log",
Danil Chapovalov9435c6102019-04-01 08:33:16809 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45810 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand1f7eab62020-10-18 16:51:47811 "../api/transport:bitrate_settings",
Niels Möller65f17ca2019-09-12 11:59:36812 "../api/transport:datagram_transport_interface",
Harald Alvestrand1f7eab62020-10-18 16:51:47813 "../api/transport:enums",
Erik Språng662678d2019-11-15 16:18:52814 "../api/transport:field_trial_based_config",
Harald Alvestrandffd5dc72020-10-20 15:35:31815 "../api/transport:network_control",
816 "../api/transport:sctp_transport_factory_interface",
Elad Alon9cfdb202019-08-13 08:48:48817 "../api/units:data_rate",
Jonas Orelanda3aa9bd2019-04-17 05:38:40818 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrand1f7eab62020-10-18 16:51:47819 "../api/video:video_bitrate_allocator_factory",
820 "../api/video:video_codec_constants",
Niels Möllerc6ce9c52018-05-11 09:15:30821 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38822 "../api/video:video_rtp_headers",
ilnikd60d06a2017-04-05 10:02:20823 "../api/video_codecs:video_codecs_api",
zhihuang38ede132017-06-15 19:52:32824 "../call:call_interfaces",
Vojin Ilic504fc192021-05-31 12:02:28825 "../call:rtp_interfaces",
826 "../call:rtp_sender",
Artem Titov94b57c02019-03-21 12:35:10827 "../common_video",
Qingsi Wang93a84392018-01-31 01:13:09828 "../logging:ice_log",
Florent Castellia80c3e52021-04-15 13:02:56829 "../media:rtc_data_sctp_transport_internal",
zhihuang38ede132017-06-15 19:52:32830 "../media:rtc_media_base",
Harald Alvestrand1f7eab62020-10-18 16:51:47831 "../media:rtc_media_config",
Harald Alvestrand5761e7b2021-01-29 14:45:08832 "../modules/audio_processing:audio_processing_statistics",
Amit Hilbuchf4770402019-04-08 21:11:57833 "../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei7d9a55b2017-06-01 20:01:48834 "../p2p:rtc_p2p",
Mirko Bonadei3d259352020-10-23 10:04:40835 "../rtc_base:callback_list",
Patrik Höglunda8005cf2017-12-13 15:05:42836 "../rtc_base:checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01837 "../rtc_base:ip_address",
838 "../rtc_base:network_constants",
Henrik Boströma3728d32019-10-28 11:09:49839 "../rtc_base:rtc_operations_chain",
Ruslan Burakov1e2d4362019-04-08 09:38:46840 "../rtc_base:safe_minmax",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01841 "../rtc_base:socket_address",
842 "../rtc_base:threading",
Henrik Boströma3728d32019-10-28 11:09:49843 "../rtc_base:weak_ptr",
Jonas Olsson0182a032019-07-09 10:31:20844 "../rtc_base/experiments:field_trial_parser",
Harald Alvestrand1f7eab62020-10-18 16:51:47845 "../rtc_base/network:sent_packet",
Markus Handell6fcd0f82020-07-07 17:08:53846 "../rtc_base/synchronization:mutex",
Niels Möllere8e4dc42019-06-11 12:04:16847 "../rtc_base/system:file_wrapper",
Mirko Bonadei20e4c802020-11-23 10:07:42848 "../rtc_base/system:no_unique_address",
Mirko Bonadei3b56ee72018-10-15 15:15:12849 "../rtc_base/system:rtc_export",
Florent Castellidcb9ffc2021-06-29 12:58:23850 "../rtc_base/system:unused",
Artem Titova76af0c2018-07-23 15:38:12851 "../rtc_base/third_party/base64",
Artem Titove41c4332018-07-25 13:04:28852 "../rtc_base/third_party/sigslot",
ossu7bb87ee2017-01-23 12:56:25853 "../stats",
Mirko Bonadeia498ae82017-12-06 08:17:14854 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10855 "../system_wrappers:field_trial",
856 "../system_wrappers:metrics",
Mirko Bonadei2dcf3482020-06-05 12:30:41857 ]
858 absl_deps = [
Steve Anton64b626b2019-01-29 01:25:26859 "//third_party/abseil-cpp/absl/algorithm:container",
Niels Möller039743e2018-10-23 08:07:25860 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov66cadcc2018-06-19 14:47:43861 "//third_party/abseil-cpp/absl/types:optional",
ossu7bb87ee2017-01-23 12:56:25862 ]
zhihuang38ede132017-06-15 19:52:32863}
864
Harald Alvestrandad3b3232022-02-07 02:59:36865rtc_library("sctp_data_channel") {
Harald Alvestrande47493b2022-02-15 12:45:02866 visibility = [ ":*" ]
Harald Alvestrandad3b3232022-02-07 02:59:36867 sources = [
868 "sctp_data_channel.cc",
869 "sctp_data_channel.h",
870 ]
871 deps = [
872 ":data_channel_utils",
873 ":proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:42874 ":sctp_utils",
Harald Alvestrandad3b3232022-02-07 02:59:36875 "../api:libjingle_peerconnection_api",
876 "../api:priority",
877 "../api:rtc_error",
878 "../api:scoped_refptr",
Tommi8efaec62023-03-21 17:45:24879 "../api:sequence_checker",
Tommia50a81a2023-04-11 15:32:34880 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrandad3b3232022-02-07 02:59:36881 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57882 "../media:media_channel",
Harald Alvestrandad3b3232022-02-07 02:59:36883 "../media:rtc_data_sctp_transport_internal",
884 "../media:rtc_media_base",
885 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46886 "../rtc_base:copy_on_write_buffer",
Harald Alvestrandad3b3232022-02-07 02:59:36887 "../rtc_base:logging",
888 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09889 "../rtc_base:ssl",
Harald Alvestrandad3b3232022-02-07 02:59:36890 "../rtc_base:threading",
Tommi1c0d91f2023-03-02 14:42:06891 "../rtc_base:weak_ptr",
Tommi492296c2023-03-12 15:59:25892 "../rtc_base/containers:flat_set",
Tommi8efaec62023-03-21 17:45:24893 "../rtc_base/system:no_unique_address",
Harald Alvestrandad3b3232022-02-07 02:59:36894 "../rtc_base/system:unused",
Harald Alvestrandad3b3232022-02-07 02:59:36895 ]
Tommif9e13f82023-04-06 19:21:45896 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandad3b3232022-02-07 02:59:36897}
898
899rtc_library("data_channel_utils") {
Harald Alvestrande47493b2022-02-15 12:45:02900 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandad3b3232022-02-07 02:59:36901 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:52902
Harald Alvestrandad3b3232022-02-07 02:59:36903 sources = [
904 "data_channel_utils.cc",
905 "data_channel_utils.h",
906 ]
907 deps = [
908 "../api:libjingle_peerconnection_api",
909 "../media:rtc_media_base",
910 "../rtc_base:checks",
911 ]
912}
913
Harald Alvestranda39689c2020-10-15 08:34:31914rtc_library("connection_context") {
Harald Alvestrande47493b2022-02-15 12:45:02915 visibility = [ ":*" ]
Harald Alvestranda39689c2020-10-15 08:34:31916 sources = [
917 "connection_context.cc",
918 "connection_context.h",
919 ]
920 deps = [
Harald Alvestrandffd5dc72020-10-20 15:35:31921 "../api:callfactory_api",
Jonas Orelande62c2f22022-03-29 09:04:48922 "../api:field_trials_view",
Harald Alvestranda39689c2020-10-15 08:34:31923 "../api:libjingle_peerconnection_api",
924 "../api:media_stream_interface",
Tommi86ee89f2021-04-20 14:58:01925 "../api:refcountedbase",
Harald Alvestranda39689c2020-10-15 08:34:31926 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24927 "../api:sequence_checker",
Harald Alvestrandffd5dc72020-10-20 15:35:31928 "../api/neteq:neteq_api",
Harald Alvestranda39689c2020-10-15 08:34:31929 "../api/transport:field_trial_based_config",
Harald Alvestrandffd5dc72020-10-20 15:35:31930 "../api/transport:sctp_transport_factory_interface",
Florent Castellia80c3e52021-04-15 13:02:56931 "../media:rtc_data_sctp_transport_factory",
Harald Alvestranda39689c2020-10-15 08:34:31932 "../media:rtc_media_base",
933 "../p2p:rtc_p2p",
Harald Alvestrandffd5dc72020-10-20 15:35:31934 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:46935 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09936 "../rtc_base:network",
937 "../rtc_base:rtc_certificate_generator",
Harald Alvestrandc24a2182022-02-23 13:44:59938 "../rtc_base:socket_factory",
939 "../rtc_base:socket_server",
Florent Castellia138c6c2023-01-04 11:01:09940 "../rtc_base:ssl",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01941 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15942 "../rtc_base:timeutils",
Harald Alvestrand00579e82022-05-03 11:37:34943 "../rtc_base/memory:always_valid_pointer",
Harald Alvestranda39689c2020-10-15 08:34:31944 ]
945}
946
Harald Alvestrand48e1b292022-01-31 10:58:51947rtc_source_set("data_channel_controller") {
948 visibility = [ ":*" ]
Harald Alvestrand5b84f382022-02-08 10:49:09949 sources = [
950 "data_channel_controller.cc",
951 "data_channel_controller.h",
952 ]
953 deps = [
954 ":data_channel_utils",
955 ":peer_connection_internal",
Harald Alvestrand5b84f382022-02-08 10:49:09956 ":sctp_data_channel",
Harald Alvestrand2ea4d372022-03-10 22:15:42957 ":sctp_utils",
Harald Alvestrand5b84f382022-02-08 10:49:09958 "../api:libjingle_peerconnection_api",
959 "../api:rtc_error",
960 "../api:scoped_refptr",
961 "../api:sequence_checker",
Tommi13759ba2023-03-06 11:51:39962 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5b84f382022-02-08 10:49:09963 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57964 "../media:media_channel",
Harald Alvestrand5b84f382022-02-08 10:49:09965 "../media:rtc_media_base",
966 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46967 "../rtc_base:copy_on_write_buffer",
Harald Alvestrand5b84f382022-02-08 10:49:09968 "../rtc_base:logging",
969 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09970 "../rtc_base:ssl",
Harald Alvestrand5b84f382022-02-08 10:49:09971 "../rtc_base:threading",
972 "../rtc_base:weak_ptr",
Harald Alvestrand5b84f382022-02-08 10:49:09973 ]
974 absl_deps = [
975 "//third_party/abseil-cpp/absl/algorithm:container",
976 "//third_party/abseil-cpp/absl/types:optional",
977 ]
Harald Alvestrand48e1b292022-01-31 10:58:51978}
Harald Alvestrand15ad4ed2022-02-09 05:52:11979
Harald Alvestrandae940a52022-02-01 13:37:08980rtc_source_set("peer_connection_internal") {
981 visibility = [ ":*" ]
Harald Alvestrand67a68d52022-02-07 05:07:03982 sources = [ "peer_connection_internal.h" ]
983 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:34984 ":jsep_transport_controller",
Harald Alvestrand67a68d52022-02-07 05:07:03985 ":peer_connection_message_handler",
Harald Alvestrand67a68d52022-02-07 05:07:03986 ":rtp_transceiver",
987 ":rtp_transmission_manager",
988 ":sctp_data_channel",
989 "../api:libjingle_peerconnection_api",
990 "../call:call_interfaces",
Fredrik Hernqvistefbe7532023-01-13 15:42:36991 "../modules/audio_device",
Harald Alvestrand67a68d52022-02-07 05:07:03992 ]
Fredrik Hernqvistefbe7532023-01-13 15:42:36993
994 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandae940a52022-02-01 13:37:08995}
Harald Alvestrand8f429922022-05-04 10:32:30996
Harald Alvestrandae940a52022-02-01 13:37:08997rtc_source_set("rtc_stats_collector") {
Harald Alvestrandc1e8aeb2022-03-31 19:53:50998 visibility = [
999 ":*",
1000 "../api:*",
1001 ]
Harald Alvestrandfd6c7442022-02-08 07:52:101002 sources = [
1003 "rtc_stats_collector.cc",
1004 "rtc_stats_collector.h",
1005 ]
1006 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511007 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401008 ":channel_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:101009 ":data_channel_utils",
1010 ":peer_connection_internal",
Harald Alvestrandfd6c7442022-02-08 07:52:101011 ":rtc_stats_traversal",
1012 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511013 ":rtp_receiver_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:101014 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511015 ":rtp_sender_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:101016 ":rtp_transceiver",
1017 ":sctp_data_channel",
1018 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:421019 ":transport_stats",
Harald Alvestrandfd6c7442022-02-08 07:52:101020 ":webrtc_sdp",
1021 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:281022 "../api:candidate",
1023 "../api:dtls_transport_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:101024 "../api:libjingle_peerconnection_api",
1025 "../api:media_stream_interface",
1026 "../api:rtc_stats_api",
1027 "../api:rtp_parameters",
1028 "../api:scoped_refptr",
1029 "../api:sequence_checker",
1030 "../api/task_queue:task_queue",
Harald Alvestrandc24a2182022-02-23 13:44:591031 "../api/units:time_delta",
Harald Alvestrandfd6c7442022-02-08 07:52:101032 "../api/video:video_rtp_headers",
Evan Shrubsole9b235cd2022-12-06 10:09:101033 "../api/video_codecs:scalability_mode",
Harald Alvestrandfd6c7442022-02-08 07:52:101034 "../call:call_interfaces",
1035 "../common_video:common_video",
Harald Alvestrand794d5992022-12-16 09:54:571036 "../media:media_channel",
1037 "../media:media_channel_impl",
Harald Alvestrandfd6c7442022-02-08 07:52:101038 "../media:rtc_media_base",
Fredrik Hernqvistefbe7532023-01-13 15:42:361039 "../modules/audio_device",
Harald Alvestrandfd6c7442022-02-08 07:52:101040 "../modules/audio_processing:audio_processing_statistics",
1041 "../modules/rtp_rtcp:rtp_rtcp_format",
1042 "../p2p:rtc_p2p",
1043 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131044 "../rtc_base:event_tracer",
Harald Alvestrandfd6c7442022-02-08 07:52:101045 "../rtc_base:ip_address",
1046 "../rtc_base:logging",
1047 "../rtc_base:network_constants",
1048 "../rtc_base:refcount",
Harald Alvestrandfd6c7442022-02-08 07:52:101049 "../rtc_base:rtc_event",
1050 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091051 "../rtc_base:ssl",
Harald Alvestrandfd6c7442022-02-08 07:52:101052 "../rtc_base:stringutils",
1053 "../rtc_base:threading",
1054 "../rtc_base:timeutils",
Tommi60d4adc2023-03-03 12:34:421055 "../rtc_base/containers:flat_set",
Henrik Boströmb3dd1732022-09-30 15:22:441056 "../rtc_base/synchronization:mutex",
Harald Alvestrandfd6c7442022-02-08 07:52:101057 ]
Harald Alvestrandc24a2182022-02-23 13:44:591058 absl_deps = [
Danil Chapovalova30439b2022-07-07 08:08:491059 "//third_party/abseil-cpp/absl/functional:bind_front",
Harald Alvestrandc24a2182022-02-23 13:44:591060 "//third_party/abseil-cpp/absl/strings",
1061 "//third_party/abseil-cpp/absl/types:optional",
1062 ]
Harald Alvestrandae940a52022-02-01 13:37:081063}
Harald Alvestrandfd6c7442022-02-08 07:52:101064
1065rtc_source_set("rtc_stats_traversal") {
1066 visibility = [ ":*" ]
1067 sources = [
1068 "rtc_stats_traversal.cc",
1069 "rtc_stats_traversal.h",
1070 ]
1071 deps = [
1072 "../api:rtc_stats_api",
1073 "../api:scoped_refptr",
1074 "../rtc_base:checks",
1075 ]
1076}
1077
Harald Alvestrandae940a52022-02-01 13:37:081078rtc_source_set("sdp_offer_answer") {
1079 visibility = [ ":*" ]
Harald Alvestrand8e344192022-02-08 12:55:421080 sources = [
1081 "sdp_offer_answer.cc", # TODO: Make separate target when not circular
1082 "sdp_offer_answer.h", # dependent on peerconnection.h
1083 ]
1084 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511085 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401086 ":channel_interface",
Harald Alvestrand8e344192022-02-08 12:55:421087 ":connection_context",
1088 ":data_channel_controller",
Harald Alvestrandc5b9c952022-03-14 07:16:401089 ":dtls_transport",
Harald Alvestrande5a73f52022-03-28 12:06:341090 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:371091 ":legacy_stats_collector",
Harald Alvestrande5a73f52022-03-28 12:06:341092 ":media_session",
Harald Alvestrand8e344192022-02-08 12:55:421093 ":media_stream",
1094 ":media_stream_observer",
Harald Alvestrandd9f68462022-03-10 10:09:511095 ":media_stream_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421096 ":peer_connection_internal",
1097 ":peer_connection_message_handler",
Harald Alvestrand7ee138e2022-03-10 13:21:281098 ":rtp_media_utils",
Harald Alvestrand8e344192022-02-08 12:55:421099 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511100 ":rtp_receiver_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421101 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511102 ":rtp_sender_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421103 ":rtp_transceiver",
1104 ":rtp_transmission_manager",
1105 ":sdp_state_provider",
1106 ":session_description",
1107 ":simulcast_description",
Harald Alvestrand8e344192022-02-08 12:55:421108 ":stream_collection",
1109 ":transceiver_list",
1110 ":usage_pattern",
1111 ":webrtc_session_description_factory",
1112 "../api:array_view",
1113 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281114 "../api:candidate",
1115 "../api:dtls_transport_interface",
Harald Alvestrand8f429922022-05-04 10:32:301116 "../api:field_trials_view",
Harald Alvestrand8e344192022-02-08 12:55:421117 "../api:libjingle_peerconnection_api",
1118 "../api:media_stream_interface",
1119 "../api:rtc_error",
1120 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161121 "../api:rtp_sender_interface",
Harald Alvestrand8e344192022-02-08 12:55:421122 "../api:rtp_transceiver_direction",
1123 "../api:scoped_refptr",
1124 "../api:sequence_checker",
1125 "../api/crypto:options",
Harald Alvestrand8e344192022-02-08 12:55:421126 "../api/video:builtin_video_bitrate_allocator_factory",
1127 "../api/video:video_bitrate_allocator_factory",
Harald Alvestrand794d5992022-12-16 09:54:571128 "../media:codec",
1129 "../media:media_channel",
1130 "../media:rid_description",
Harald Alvestrand8e344192022-02-08 12:55:421131 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:571132 "../media:stream_params",
Harald Alvestrand8e344192022-02-08 12:55:421133 "../p2p:rtc_p2p",
1134 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131135 "../rtc_base:event_tracer",
Harald Alvestrand8e344192022-02-08 12:55:421136 "../rtc_base:logging",
1137 "../rtc_base:macromagic",
Harald Alvestrand8e344192022-02-08 12:55:421138 "../rtc_base:rtc_operations_chain",
Florent Castellia138c6c2023-01-04 11:01:091139 "../rtc_base:ssl",
Harald Alvestrand8e344192022-02-08 12:55:421140 "../rtc_base:stringutils",
1141 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:091142 "../rtc_base:unique_id_generator",
Harald Alvestrand8e344192022-02-08 12:55:421143 "../rtc_base:weak_ptr",
Harald Alvestrand8e344192022-02-08 12:55:421144 "../system_wrappers:metrics",
1145 ]
1146 absl_deps = [
1147 "//third_party/abseil-cpp/absl/algorithm:container",
1148 "//third_party/abseil-cpp/absl/memory:memory",
1149 "//third_party/abseil-cpp/absl/strings:strings",
1150 "//third_party/abseil-cpp/absl/types:optional",
1151 ]
Harald Alvestrandae940a52022-02-01 13:37:081152}
1153rtc_source_set("jsep_ice_candidate") {
1154 visibility = [ ":*" ]
1155}
1156rtc_source_set("jsep_session_description") {
1157 visibility = [ ":*" ]
1158}
1159rtc_source_set("local_audio_source") {
1160 visibility = [ ":*" ]
Harald Alvestrand7766ab12022-02-02 11:26:031161 sources = [
1162 "local_audio_source.cc",
1163 "local_audio_source.h",
1164 ]
1165 deps = [
1166 "../api:audio_options_api",
1167 "../api:media_stream_interface",
1168 "../api:scoped_refptr",
Harald Alvestrand7766ab12022-02-02 11:26:031169 ]
Harald Alvestrandae940a52022-02-01 13:37:081170}
1171rtc_source_set("peer_connection") {
1172 visibility = [ ":*" ]
Harald Alvestrand15ad4ed2022-02-09 05:52:111173 sources = [
1174 "peer_connection.cc",
1175 "peer_connection.h",
1176 ]
1177 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511178 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401179 ":channel_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111180 ":connection_context",
1181 ":data_channel_controller",
1182 ":data_channel_utils",
Harald Alvestrandc5b9c952022-03-14 07:16:401183 ":dtls_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111184 ":ice_server_parsing",
Harald Alvestrande5a73f52022-03-28 12:06:341185 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:371186 ":legacy_stats_collector",
Harald Alvestrand15ad4ed2022-02-09 05:52:111187 ":peer_connection_internal",
1188 ":peer_connection_message_handler",
Harald Alvestrand15ad4ed2022-02-09 05:52:111189 ":rtc_stats_collector",
1190 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511191 ":rtp_receiver_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111192 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511193 ":rtp_sender_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111194 ":rtp_transceiver",
1195 ":rtp_transmission_manager",
Harald Alvestrand2ea4d372022-03-10 22:15:421196 ":rtp_transport_internal",
Harald Alvestrand15ad4ed2022-02-09 05:52:111197 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:031198 ":sctp_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111199 ":sdp_offer_answer",
1200 ":session_description",
1201 ":simulcast_description",
Harald Alvestrand15ad4ed2022-02-09 05:52:111202 ":transceiver_list",
Harald Alvestrand2ea4d372022-03-10 22:15:421203 ":transport_stats",
Harald Alvestrand15ad4ed2022-02-09 05:52:111204 ":usage_pattern",
1205 ":webrtc_session_description_factory",
1206 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:281207 "../api:candidate",
1208 "../api:dtls_transport_interface",
Jonas Orelande62c2f22022-03-29 09:04:481209 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281210 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111211 "../api:libjingle_logging_api",
1212 "../api:libjingle_peerconnection_api",
1213 "../api:media_stream_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111214 "../api:rtc_error",
1215 "../api:rtc_stats_api",
1216 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161217 "../api:rtp_sender_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111218 "../api:rtp_transceiver_direction",
1219 "../api:scoped_refptr",
1220 "../api:sequence_checker",
Mirko Bonadeid151cc62022-06-20 06:35:281221 "../api:turn_customizer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111222 "../api/adaptation:resource_adaptation_api",
1223 "../api/crypto:options",
Harald Alvestrand09bdd952022-04-05 13:00:541224 "../api/rtc_event_log",
Artem Titovc374d112022-06-16 19:27:451225 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand15ad4ed2022-02-09 05:52:111226 "../api/transport:bitrate_settings",
1227 "../api/transport:datagram_transport_interface",
1228 "../api/transport:enums",
Harald Alvestrand15ad4ed2022-02-09 05:52:111229 "../api/video:video_codec_constants",
1230 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:571231 "../media:media_channel",
1232 "../media:rid_description",
Harald Alvestrand15ad4ed2022-02-09 05:52:111233 "../media:rtc_media_base",
1234 "../media:rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:571235 "../media:stream_params",
Harald Alvestrand15ad4ed2022-02-09 05:52:111236 "../modules/rtp_rtcp:rtp_rtcp_format",
1237 "../p2p:rtc_p2p",
1238 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:461239 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:131240 "../rtc_base:event_tracer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111241 "../rtc_base:ip_address",
1242 "../rtc_base:logging",
1243 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091244 "../rtc_base:net_helper",
1245 "../rtc_base:network",
Harald Alvestrand15ad4ed2022-02-09 05:52:111246 "../rtc_base:network_constants",
Harald Alvestrand15ad4ed2022-02-09 05:52:111247 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091248 "../rtc_base:ssl",
Harald Alvestrand15ad4ed2022-02-09 05:52:111249 "../rtc_base:stringutils",
1250 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:091251 "../rtc_base:unique_id_generator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111252 "../rtc_base:weak_ptr",
Harald Alvestrand09bdd952022-04-05 13:00:541253 "../rtc_base/third_party/sigslot",
Harald Alvestrand15ad4ed2022-02-09 05:52:111254 "../system_wrappers:metrics",
1255 ]
1256 absl_deps = [
1257 "//third_party/abseil-cpp/absl/algorithm:container",
1258 "//third_party/abseil-cpp/absl/strings:strings",
1259 "//third_party/abseil-cpp/absl/types:optional",
1260 ]
Harald Alvestrandae940a52022-02-01 13:37:081261}
Harald Alvestrandfd6c7442022-02-08 07:52:101262
Harald Alvestrandae940a52022-02-01 13:37:081263rtc_source_set("sdp_serializer") {
1264 visibility = [ ":*" ]
Harald Alvestrand2f122e42022-02-01 20:59:511265 sources = [
1266 "sdp_serializer.cc",
1267 "sdp_serializer.h",
1268 ]
1269 deps = [
1270 ":session_description",
1271 ":simulcast_description",
1272 "../api:rtc_error",
Harald Alvestrand794d5992022-12-16 09:54:571273 "../media:rid_description",
Harald Alvestrand2f122e42022-02-01 20:59:511274 "../media:rtc_media_base",
1275 "../modules/rtp_rtcp:rtp_rtcp_format",
1276 "../rtc_base:checks",
1277 "../rtc_base:stringutils",
1278 ]
1279 absl_deps = [
1280 "//third_party/abseil-cpp/absl/algorithm:container",
1281 "//third_party/abseil-cpp/absl/strings:strings",
1282 "//third_party/abseil-cpp/absl/types:optional",
1283 ]
Harald Alvestrandae940a52022-02-01 13:37:081284}
1285rtc_source_set("sdp_utils") {
Harald Alvestrand63c3b132022-02-03 07:56:221286 sources = [
1287 "sdp_utils.cc",
1288 "sdp_utils.h",
1289 ]
1290 deps = [
Harald Alvestrand67a68d52022-02-07 05:07:031291 ":session_description",
Harald Alvestrand63c3b132022-02-03 07:56:221292 "../api:libjingle_peerconnection_api",
1293 "../p2p:rtc_p2p",
Harald Alvestrand63c3b132022-02-03 07:56:221294 "../rtc_base:checks",
1295 "../rtc_base/system:rtc_export",
1296 ]
Harald Alvestrandae940a52022-02-01 13:37:081297}
Henrik Boströmf7859892022-07-04 12:36:371298rtc_source_set("legacy_stats_collector") {
Harald Alvestrandae940a52022-02-01 13:37:081299 visibility = [ ":*" ]
Harald Alvestranda7fc7652022-02-08 09:30:411300 sources = [
Henrik Boströmf7859892022-07-04 12:36:371301 "legacy_stats_collector.cc",
1302 "legacy_stats_collector.h",
Harald Alvestranda7fc7652022-02-08 09:30:411303 ]
1304 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511305 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401306 ":channel_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411307 ":data_channel_utils",
Henrik Boströmf7859892022-07-04 12:36:371308 ":legacy_stats_collector_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411309 ":peer_connection_internal",
Harald Alvestranda7fc7652022-02-08 09:30:411310 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511311 ":rtp_receiver_proxy",
1312 ":rtp_sender_proxy",
Harald Alvestranda7fc7652022-02-08 09:30:411313 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:421314 ":transport_stats",
Mirko Bonadeid151cc62022-06-20 06:35:281315 "../api:candidate",
Jonas Orelande62c2f22022-03-29 09:04:481316 "../api:field_trials_view",
Harald Alvestranda7fc7652022-02-08 09:30:411317 "../api:libjingle_peerconnection_api",
1318 "../api:media_stream_interface",
1319 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161320 "../api:rtp_sender_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411321 "../api:scoped_refptr",
1322 "../api:sequence_checker",
1323 "../api/audio_codecs:audio_codecs_api",
1324 "../api/video:video_rtp_headers",
1325 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:571326 "../media:media_channel",
Harald Alvestranda7fc7652022-02-08 09:30:411327 "../media:rtc_media_base",
1328 "../modules/audio_processing:audio_processing_statistics",
1329 "../p2p:rtc_p2p",
1330 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131331 "../rtc_base:event_tracer",
Harald Alvestranda7fc7652022-02-08 09:30:411332 "../rtc_base:ip_address",
1333 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461334 "../rtc_base:macromagic",
Harald Alvestranda7fc7652022-02-08 09:30:411335 "../rtc_base:network_constants",
Harald Alvestranda7fc7652022-02-08 09:30:411336 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091337 "../rtc_base:ssl",
Harald Alvestranda7fc7652022-02-08 09:30:411338 "../rtc_base:stringutils",
1339 "../rtc_base:threading",
1340 "../rtc_base:timeutils",
Harald Alvestranda7fc7652022-02-08 09:30:411341 ]
Harald Alvestrandc24a2182022-02-23 13:44:591342 absl_deps = [
1343 "//third_party/abseil-cpp/absl/strings",
1344 "//third_party/abseil-cpp/absl/types:optional",
1345 ]
Harald Alvestrandae940a52022-02-01 13:37:081346}
1347rtc_source_set("stream_collection") {
1348 visibility = [ ":*" ]
Harald Alvestrandab0152d2022-02-07 06:43:481349 sources = [ "stream_collection.h" ]
1350 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandae940a52022-02-01 13:37:081351}
1352rtc_source_set("track_media_info_map") {
1353 visibility = [ ":*" ]
Harald Alvestrand59427ad2022-02-03 19:02:381354 sources = [
1355 "track_media_info_map.cc",
1356 "track_media_info_map.h",
1357 ]
1358 deps = [
1359 ":rtp_receiver",
1360 ":rtp_sender",
Henrik Boström808a8fc2022-07-27 09:32:141361 "../api:array_view",
Harald Alvestrand59427ad2022-02-03 19:02:381362 "../api:media_stream_interface",
1363 "../api:rtp_parameters",
1364 "../api:scoped_refptr",
Harald Alvestrand794d5992022-12-16 09:54:571365 "../media:media_channel",
Harald Alvestrand59427ad2022-02-03 19:02:381366 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:571367 "../media:stream_params",
Harald Alvestrand59427ad2022-02-03 19:02:381368 "../rtc_base:checks",
1369 "../rtc_base:refcount",
1370 "../rtc_base:threading",
1371 ]
1372 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandae940a52022-02-01 13:37:081373}
1374rtc_source_set("webrtc_sdp") {
Harald Alvestrande47493b2022-02-15 12:45:021375 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande79f85c2022-02-07 08:39:521376 visibility = [ "*" ] # Used by Chrome and more
Harald Alvestrandb6f39162022-02-08 05:56:551377
Harald Alvestrandb6f39162022-02-08 05:56:551378 sources = [
1379 "jsep_ice_candidate.cc",
1380 "jsep_session_description.cc",
1381 "webrtc_sdp.cc",
1382 "webrtc_sdp.h",
1383 ]
1384 deps = [
1385 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:341386 ":media_session",
Harald Alvestrandb6f39162022-02-08 05:56:551387 ":sdp_serializer",
1388 ":session_description",
1389 ":simulcast_description",
Mirko Bonadeid151cc62022-06-20 06:35:281390 "../api:candidate",
Harald Alvestrandb6f39162022-02-08 05:56:551391 "../api:libjingle_peerconnection_api",
1392 "../api:rtc_error",
1393 "../api:rtp_parameters",
1394 "../api:rtp_transceiver_direction",
Harald Alvestrand794d5992022-12-16 09:54:571395 "../media:codec",
1396 "../media:media_constants",
1397 "../media:rid_description",
Harald Alvestrandb6f39162022-02-08 05:56:551398 "../media:rtc_data_sctp_transport_internal",
1399 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:571400 "../media:rtp_utils",
1401 "../media:stream_params",
Harald Alvestrandb6f39162022-02-08 05:56:551402 "../p2p:rtc_p2p",
1403 "../rtc_base:checks",
1404 "../rtc_base:ip_address",
1405 "../rtc_base:logging",
1406 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091407 "../rtc_base:net_helper",
Harald Alvestrandb6f39162022-02-08 05:56:551408 "../rtc_base:network_constants",
Harald Alvestrandb6f39162022-02-08 05:56:551409 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091410 "../rtc_base:ssl",
Harald Alvestrandb6f39162022-02-08 05:56:551411 "../rtc_base:stringutils",
1412 "../rtc_base/system:rtc_export",
1413 ]
1414 absl_deps = [
1415 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrandc24a2182022-02-23 13:44:591416 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandb6f39162022-02-08 05:56:551417 "//third_party/abseil-cpp/absl/types:optional",
1418 ]
Harald Alvestrandae940a52022-02-01 13:37:081419}
1420rtc_source_set("webrtc_session_description_factory") {
1421 visibility = [ ":*" ]
Harald Alvestrand65d89e82022-02-03 09:48:251422 sources = [
1423 "webrtc_session_description_factory.cc",
1424 "webrtc_session_description_factory.h",
1425 ]
1426 deps = [
Jonas Orelanded99dae2022-03-09 08:28:101427 ":connection_context",
Harald Alvestrande5a73f52022-03-28 12:06:341428 ":media_session",
Harald Alvestrand65d89e82022-02-03 09:48:251429 ":sdp_state_provider",
1430 ":session_description",
1431 "../api:libjingle_peerconnection_api",
1432 "../api:rtc_error",
1433 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211434 "../api:sequence_checker",
Danil Chapovalov97bdfa32022-08-22 17:45:431435 "../api/task_queue",
Harald Alvestrand65d89e82022-02-03 09:48:251436 "../p2p:rtc_p2p",
Harald Alvestrand65d89e82022-02-03 09:48:251437 "../rtc_base:checks",
1438 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:091439 "../rtc_base:rtc_certificate_generator",
1440 "../rtc_base:ssl",
Harald Alvestrand65d89e82022-02-03 09:48:251441 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:091442 "../rtc_base:unique_id_generator",
Danil Chapovalovb22f0c22022-08-19 12:03:541443 "../rtc_base:weak_ptr",
Harald Alvestrand65d89e82022-02-03 09:48:251444 ]
1445 absl_deps = [
1446 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov97bdfa32022-08-22 17:45:431447 "//third_party/abseil-cpp/absl/functional:any_invocable",
Harald Alvestrand65d89e82022-02-03 09:48:251448 "//third_party/abseil-cpp/absl/types:optional",
1449 ]
Harald Alvestrandae940a52022-02-01 13:37:081450}
1451
1452rtc_library("ice_server_parsing") {
Harald Alvestrande47493b2022-02-15 12:45:021453 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandae940a52022-02-01 13:37:081454 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:521455
Harald Alvestrandae940a52022-02-01 13:37:081456 sources = [
1457 "ice_server_parsing.cc",
1458 "ice_server_parsing.h",
1459 ]
1460 deps = [
1461 "../api:libjingle_peerconnection_api",
1462 "../api:rtc_error",
1463 "../p2p:rtc_p2p",
1464 "../rtc_base:checks",
1465 "../rtc_base:ip_address",
1466 "../rtc_base:logging",
1467 "../rtc_base:macromagic",
1468 "../rtc_base:socket_address",
1469 "../rtc_base:stringutils",
1470 "../rtc_base/system:rtc_export",
1471 ]
1472}
1473
1474rtc_library("media_stream_observer") {
Harald Alvestrand13b62c22022-02-01 07:47:531475 sources = [
1476 "media_stream_observer.cc",
1477 "media_stream_observer.h",
1478 ]
1479 deps = [
1480 "../api:media_stream_interface",
1481 "../api:scoped_refptr",
1482 ]
1483 absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
Harald Alvestrand48e1b292022-01-31 10:58:511484}
Harald Alvestrand15ad4ed2022-02-09 05:52:111485rtc_source_set("peer_connection_factory") {
Harald Alvestrande47493b2022-02-15 12:45:021486 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrand15ad4ed2022-02-09 05:52:111487 visibility = [ "*" ] # Known to be used externally
1488 sources = [
1489 "peer_connection_factory.cc",
1490 "peer_connection_factory.h",
1491 ]
1492 deps = [
1493 ":local_audio_source",
Harald Alvestrandd9f68462022-03-10 10:09:511494 ":media_stream_proxy",
1495 ":media_stream_track_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111496 ":peer_connection",
Harald Alvestrandd9f68462022-03-10 10:09:511497 ":peer_connection_factory_proxy",
1498 ":peer_connection_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111499 "../api:audio_options_api",
1500 "../api:callfactory_api",
1501 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:481502 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281503 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111504 "../api:libjingle_peerconnection_api",
1505 "../api:media_stream_interface",
1506 "../api:network_state_predictor_api",
1507 "../api:packet_socket_factory",
1508 "../api:rtc_error",
1509 "../api:rtp_parameters",
1510 "../api:scoped_refptr",
1511 "../api:sequence_checker",
Harald Alvestrandc24a2182022-02-23 13:44:591512 "../api/metronome",
Harald Alvestrand15ad4ed2022-02-09 05:52:111513 "../api/neteq:neteq_api",
1514 "../api/rtc_event_log:rtc_event_log",
1515 "../api/task_queue:task_queue",
1516 "../api/transport:bitrate_settings",
1517 "../api/transport:network_control",
1518 "../api/transport:sctp_transport_factory_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111519 "../api/units:data_rate",
1520 "../call:call_interfaces",
1521 "../call:rtp_interfaces",
1522 "../call:rtp_sender",
1523 "../media:rtc_media_base",
1524 "../p2p:rtc_p2p",
1525 "../pc:audio_track",
1526 "../pc:connection_context",
1527 "../pc:media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:111528 "../pc:rtp_parameters_conversion",
1529 "../pc:session_description",
1530 "../pc:video_track",
1531 "../rtc_base:checks",
1532 "../rtc_base:logging",
1533 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091534 "../rtc_base:rtc_certificate_generator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111535 "../rtc_base:safe_conversions",
1536 "../rtc_base:threading",
1537 "../rtc_base/experiments:field_trial_parser",
1538 "../rtc_base/system:file_wrapper",
1539 ]
1540 absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ]
1541}
Harald Alvestrand48e1b292022-01-31 10:58:511542
Harald Alvestrand1090e442020-10-05 07:01:091543rtc_library("peer_connection_message_handler") {
Harald Alvestrande47493b2022-02-15 12:45:021544 visibility = [ ":*" ]
Harald Alvestrand1090e442020-10-05 07:01:091545 sources = [
1546 "peer_connection_message_handler.cc",
1547 "peer_connection_message_handler.h",
1548 ]
1549 deps = [
Henrik Boströmf7859892022-07-04 12:36:371550 ":legacy_stats_collector_interface",
Harald Alvestrand1090e442020-10-05 07:01:091551 "../api:libjingle_peerconnection_api",
1552 "../api:media_stream_interface",
1553 "../api:rtc_error",
Harald Alvestrand5761e7b2021-01-29 14:45:081554 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241555 "../api:sequence_checker",
Danil Chapovalov5d37ba22022-08-17 12:58:401556 "../api/task_queue",
1557 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5761e7b2021-01-29 14:45:081558 "../rtc_base:checks",
Harald Alvestrand1090e442020-10-05 07:01:091559 ]
1560}
1561
Harald Alvestrand44d0dff2020-10-09 05:43:531562rtc_library("usage_pattern") {
Harald Alvestrande47493b2022-02-15 12:45:021563 visibility = [ ":*" ]
Harald Alvestrand44d0dff2020-10-09 05:43:531564 sources = [
1565 "usage_pattern.cc",
1566 "usage_pattern.h",
1567 ]
1568 deps = [
1569 "../api:libjingle_peerconnection_api",
1570 "../rtc_base:logging",
1571 "../system_wrappers:metrics",
1572 ]
1573}
1574
Harald Alvestrandbb02db22020-10-08 16:35:181575rtc_library("rtp_transceiver") {
Harald Alvestrande47493b2022-02-15 12:45:021576 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181577 sources = [
1578 "rtp_transceiver.cc",
1579 "rtp_transceiver.h",
1580 ]
1581 deps = [
Harald Alvestrand8f429922022-05-04 10:32:301582 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401583 ":channel_interface",
Harald Alvestrandc3fa7c32022-05-22 10:57:011584 ":connection_context",
Markus Handella1b82012021-05-26 16:56:301585 ":proxy",
Harald Alvestrand7ee138e2022-03-10 13:21:281586 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:181587 ":rtp_parameters_conversion",
1588 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511589 ":rtp_receiver_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:181590 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511591 ":rtp_sender_proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:421592 ":rtp_transport_internal",
Harald Alvestrandc0a95862021-06-09 09:33:561593 ":session_description",
Harald Alvestrand5761e7b2021-01-29 14:45:081594 "../api:array_view",
Harald Alvestrand8f429922022-05-04 10:32:301595 "../api:audio_options_api",
Harald Alvestrand13897e62023-05-22 12:49:051596 "../api:field_trials_view",
Harald Alvestrandbb02db22020-10-08 16:35:181597 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081598 "../api:rtc_error",
Harald Alvestrandbb02db22020-10-08 16:35:181599 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161600 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081601 "../api:rtp_transceiver_direction",
1602 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241603 "../api:sequence_checker",
Harald Alvestrand13897e62023-05-22 12:49:051604 "../api/audio_codecs:audio_codecs_api",
1605 "../api/crypto:options",
Harald Alvestrand5761e7b2021-01-29 14:45:081606 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451607 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand8f429922022-05-04 10:32:301608 "../api/video:video_bitrate_allocator_factory",
Harald Alvestrand794d5992022-12-16 09:54:571609 "../media:codec",
1610 "../media:media_channel",
Harald Alvestrand13897e62023-05-22 12:49:051611 "../media:media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:571612 "../media:media_constants",
Harald Alvestrand5761e7b2021-01-29 14:45:081613 "../media:rtc_media_base",
Harald Alvestrand13897e62023-05-22 12:49:051614 "../media:rtc_media_config",
Harald Alvestrandbb02db22020-10-08 16:35:181615 "../rtc_base:checks",
1616 "../rtc_base:logging",
Harald Alvestrand5761e7b2021-01-29 14:45:081617 "../rtc_base:macromagic",
Harald Alvestrand5761e7b2021-01-29 14:45:081618 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081619 "../rtc_base/third_party/sigslot",
Harald Alvestrandbb02db22020-10-08 16:35:181620 ]
1621 absl_deps = [
1622 "//third_party/abseil-cpp/absl/algorithm:container",
Oleh Prypin752436f2022-06-23 22:51:281623 "//third_party/abseil-cpp/absl/memory",
Harald Alvestrandbb02db22020-10-08 16:35:181624 "//third_party/abseil-cpp/absl/strings",
1625 "//third_party/abseil-cpp/absl/types:optional",
1626 ]
Harald Alvestrand2d058782020-10-08 12:01:061627}
1628
Harald Alvestrande15fb152020-10-19 13:28:051629rtc_library("rtp_transmission_manager") {
Harald Alvestrande47493b2022-02-15 12:45:021630 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051631 sources = [
1632 "rtp_transmission_manager.cc",
1633 "rtp_transmission_manager.h",
1634 ]
1635 deps = [
1636 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:511637 ":channel",
Harald Alvestrand25adc8e2022-05-03 13:44:341638 ":channel_interface",
Henrik Boströmf7859892022-07-04 12:36:371639 ":legacy_stats_collector_interface",
Harald Alvestrande15fb152020-10-19 13:28:051640 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511641 ":rtp_receiver_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051642 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511643 ":rtp_sender_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051644 ":rtp_transceiver",
Harald Alvestrande15fb152020-10-19 13:28:051645 ":transceiver_list",
1646 ":usage_pattern",
1647 ":video_rtp_receiver",
1648 "../api:libjingle_peerconnection_api",
1649 "../api:media_stream_interface",
1650 "../api:rtc_error",
1651 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161652 "../api:rtp_sender_interface",
Harald Alvestrande15fb152020-10-19 13:28:051653 "../api:rtp_transceiver_direction",
1654 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241655 "../api:sequence_checker",
Harald Alvestrand794d5992022-12-16 09:54:571656 "../media:media_channel",
Harald Alvestrande15fb152020-10-19 13:28:051657 "../media:rtc_media_base",
Harald Alvestrande15fb152020-10-19 13:28:051658 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301659 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461660 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091661 "../rtc_base:ssl",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011662 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081663 "../rtc_base:weak_ptr",
Harald Alvestrande15fb152020-10-19 13:28:051664 "../rtc_base/third_party/sigslot",
1665 ]
1666 absl_deps = [
1667 "//third_party/abseil-cpp/absl/algorithm:container",
1668 "//third_party/abseil-cpp/absl/strings",
1669 "//third_party/abseil-cpp/absl/types:optional",
1670 ]
1671}
1672
1673rtc_library("transceiver_list") {
Harald Alvestrande47493b2022-02-15 12:45:021674 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051675 sources = [
1676 "transceiver_list.cc",
1677 "transceiver_list.h",
1678 ]
Harald Alvestrand5761e7b2021-01-29 14:45:081679 deps = [
1680 ":rtp_transceiver",
1681 "../api:libjingle_peerconnection_api",
1682 "../api:rtc_error",
1683 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161684 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081685 "../api:scoped_refptr",
Harald Alvestrand85466662021-04-19 21:21:361686 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081687 "../rtc_base:checks",
Harald Alvestrand85466662021-04-19 21:21:361688 "../rtc_base:macromagic",
1689 "../rtc_base/system:no_unique_address",
Harald Alvestrand5761e7b2021-01-29 14:45:081690 ]
1691 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrande15fb152020-10-19 13:28:051692}
1693
Harald Alvestrand445e6b02020-09-29 14:21:471694rtc_library("rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021695 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471696 sources = [
1697 "rtp_receiver.cc",
1698 "rtp_receiver.h",
1699 ]
1700 deps = [
1701 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511702 ":media_stream_proxy",
Harald Alvestrand445e6b02020-09-29 14:21:471703 ":video_track_source",
Mirko Bonadeid151cc62022-06-20 06:35:281704 "../api:dtls_transport_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471705 "../api:libjingle_peerconnection_api",
1706 "../api:media_stream_interface",
1707 "../api:rtp_parameters",
1708 "../api:scoped_refptr",
1709 "../api/crypto:frame_decryptor_interface",
1710 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:571711 "../media:media_channel",
Harald Alvestrand445e6b02020-09-29 14:21:471712 "../media:rtc_media_base",
1713 "../rtc_base:checks",
1714 "../rtc_base:logging",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011715 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471716 ]
1717 absl_deps = [
1718 "//third_party/abseil-cpp/absl/algorithm:container",
1719 "//third_party/abseil-cpp/absl/strings",
1720 "//third_party/abseil-cpp/absl/types:optional",
1721 ]
1722}
1723
Harald Alvestrand7165f482020-10-12 07:37:311724rtc_library("audio_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021725 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311726 sources = [
1727 "audio_rtp_receiver.cc",
1728 "audio_rtp_receiver.h",
1729 ]
1730 deps = [
1731 ":audio_track",
1732 ":jitter_buffer_delay",
Harald Alvestrand7165f482020-10-12 07:37:311733 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511734 ":media_stream_track_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311735 ":remote_audio_source",
1736 ":rtp_receiver",
Mirko Bonadeid151cc62022-06-20 06:35:281737 "../api:dtls_transport_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081738 "../api:frame_transformer_interface",
Harald Alvestrand7165f482020-10-12 07:37:311739 "../api:libjingle_peerconnection_api",
1740 "../api:media_stream_interface",
1741 "../api:rtp_parameters",
1742 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241743 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311744 "../api/crypto:frame_decryptor_interface",
Artem Titovc374d112022-06-16 19:27:451745 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5761e7b2021-01-29 14:45:081746 "../api/transport/rtp:rtp_source",
Harald Alvestrand794d5992022-12-16 09:54:571747 "../media:media_channel",
Harald Alvestrand7165f482020-10-12 07:37:311748 "../media:rtc_media_base",
Harald Alvestrand7165f482020-10-12 07:37:311749 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461750 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011751 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101752 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311753 ]
1754 absl_deps = [
1755 "//third_party/abseil-cpp/absl/algorithm:container",
1756 "//third_party/abseil-cpp/absl/strings",
1757 "//third_party/abseil-cpp/absl/types:optional",
1758 ]
1759}
1760
1761rtc_library("video_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021762 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311763 sources = [
1764 "video_rtp_receiver.cc",
1765 "video_rtp_receiver.h",
1766 ]
1767 deps = [
1768 ":jitter_buffer_delay",
Harald Alvestrand7165f482020-10-12 07:37:311769 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511770 ":media_stream_track_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311771 ":rtp_receiver",
1772 ":video_rtp_track_source",
1773 ":video_track",
Mirko Bonadeid151cc62022-06-20 06:35:281774 "../api:dtls_transport_interface",
Harald Alvestrand7165f482020-10-12 07:37:311775 "../api:frame_transformer_interface",
1776 "../api:libjingle_peerconnection_api",
1777 "../api:media_stream_interface",
1778 "../api:rtp_parameters",
1779 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241780 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311781 "../api/crypto:frame_decryptor_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081782 "../api/transport/rtp:rtp_source",
1783 "../api/video:recordable_encoded_frame",
Harald Alvestrand7165f482020-10-12 07:37:311784 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:571785 "../media:media_channel",
Harald Alvestrand7165f482020-10-12 07:37:311786 "../media:rtc_media_base",
Harald Alvestrand7165f482020-10-12 07:37:311787 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301788 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461789 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011790 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101791 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311792 ]
1793 absl_deps = [
1794 "//third_party/abseil-cpp/absl/algorithm:container",
1795 "//third_party/abseil-cpp/absl/strings",
1796 "//third_party/abseil-cpp/absl/types:optional",
1797 ]
1798}
1799
1800rtc_library("video_rtp_track_source") {
Harald Alvestrande47493b2022-02-15 12:45:021801 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311802 sources = [
1803 "video_rtp_track_source.cc",
1804 "video_rtp_track_source.h",
1805 ]
1806 deps = [
1807 ":video_track_source",
Artem Titovd15a5752021-02-10 13:31:241808 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081809 "../api/video:recordable_encoded_frame",
1810 "../api/video:video_frame",
Harald Alvestrand7165f482020-10-12 07:37:311811 "../media:rtc_media_base",
Harald Alvestrand5761e7b2021-01-29 14:45:081812 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461813 "../rtc_base:macromagic",
Harald Alvestrand7165f482020-10-12 07:37:311814 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:421815 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311816 ]
1817}
1818
1819rtc_library("audio_track") {
Harald Alvestrande47493b2022-02-15 12:45:021820 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311821 sources = [
1822 "audio_track.cc",
1823 "audio_track.h",
1824 ]
1825 deps = [
1826 "../api:media_stream_interface",
1827 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241828 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311829 "../rtc_base:checks",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121830 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311831 ]
1832}
1833
1834rtc_library("video_track") {
Harald Alvestrande47493b2022-02-15 12:45:021835 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311836 sources = [
1837 "video_track.cc",
1838 "video_track.h",
1839 ]
1840 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:341841 ":video_track_source_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311842 "../api:media_stream_interface",
1843 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241844 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311845 "../api/video:video_frame",
1846 "../media:rtc_media_base",
Harald Alvestrand7165f482020-10-12 07:37:311847 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461848 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011849 "../rtc_base:threading",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121850 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311851 ]
Harald Alvestrandc24a2182022-02-23 13:44:591852 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311853}
1854
Harald Alvestrandf01bd6c2020-10-23 13:30:461855rtc_source_set("sdp_state_provider") {
Harald Alvestrande47493b2022-02-15 12:45:021856 visibility = [ ":*" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461857 sources = [ "sdp_state_provider.h" ]
Harald Alvestrand7b260372022-03-30 07:33:521858 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461859}
1860
Harald Alvestrand7165f482020-10-12 07:37:311861rtc_library("jitter_buffer_delay") {
Harald Alvestrande47493b2022-02-15 12:45:021862 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311863 sources = [
1864 "jitter_buffer_delay.cc",
1865 "jitter_buffer_delay.h",
1866 ]
1867 deps = [
Artem Titovd15a5752021-02-10 13:31:241868 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311869 "../rtc_base:checks",
Harald Alvestrandc24a2182022-02-23 13:44:591870 "../rtc_base:macromagic",
Tommi4ccdf9322021-05-17 12:50:101871 "../rtc_base:safe_conversions",
Harald Alvestrand7165f482020-10-12 07:37:311872 "../rtc_base:safe_minmax",
Tommi4ccdf9322021-05-17 12:50:101873 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311874 ]
Tommi4ccdf9322021-05-17 12:50:101875 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311876}
1877
1878rtc_library("remote_audio_source") {
Harald Alvestrande47493b2022-02-15 12:45:021879 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311880 sources = [
1881 "remote_audio_source.cc",
1882 "remote_audio_source.h",
1883 ]
1884 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511885 ":channel",
Harald Alvestrand7165f482020-10-12 07:37:311886 "../api:call_api",
1887 "../api:media_stream_interface",
1888 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241889 "../api:sequence_checker",
Danil Chapovalovc6c346d2022-08-22 08:22:401890 "../api/task_queue",
Harald Alvestrand794d5992022-12-16 09:54:571891 "../media:media_channel",
Harald Alvestrand5761e7b2021-01-29 14:45:081892 "../media:rtc_media_base",
Harald Alvestrand7165f482020-10-12 07:37:311893 "../rtc_base:checks",
Olga Sharonova2d0ba282022-09-27 13:22:341894 "../rtc_base:event_tracer",
Harald Alvestrand7165f482020-10-12 07:37:311895 "../rtc_base:logging",
Harald Alvestrand7165f482020-10-12 07:37:311896 "../rtc_base:safe_conversions",
1897 "../rtc_base:stringutils",
1898 "../rtc_base/synchronization:mutex",
1899 ]
1900 absl_deps = [
1901 "//third_party/abseil-cpp/absl/algorithm:container",
1902 "//third_party/abseil-cpp/absl/strings",
1903 "//third_party/abseil-cpp/absl/types:optional",
1904 ]
1905}
1906
Harald Alvestrand445e6b02020-09-29 14:21:471907rtc_library("rtp_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021908 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471909 sources = [
1910 "rtp_sender.cc",
1911 "rtp_sender.h",
1912 ]
1913 deps = [
1914 ":dtmf_sender",
Henrik Boströmf7859892022-07-04 12:36:371915 ":legacy_stats_collector_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471916 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281917 "../api:dtls_transport_interface",
Florent Castelliacabb362022-10-18 15:05:161918 "../api:dtmf_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081919 "../api:frame_transformer_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471920 "../api:libjingle_peerconnection_api",
1921 "../api:media_stream_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081922 "../api:priority",
1923 "../api:rtc_error",
1924 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161925 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081926 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211927 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081928 "../api/crypto:frame_encryptor_interface",
Harald Alvestrand794d5992022-12-16 09:54:571929 "../media:media_channel",
Harald Alvestrand445e6b02020-09-29 14:21:471930 "../media:rtc_media_base",
1931 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131932 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:301933 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461934 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091935 "../rtc_base:ssl",
Harald Alvestrand5761e7b2021-01-29 14:45:081936 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471937 "../rtc_base/synchronization:mutex",
Harald Alvestrand5761e7b2021-01-29 14:45:081938 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471939 ]
1940 absl_deps = [
1941 "//third_party/abseil-cpp/absl/algorithm:container",
1942 "//third_party/abseil-cpp/absl/strings",
1943 "//third_party/abseil-cpp/absl/types:optional",
1944 ]
1945}
1946
Harald Alvestrandbb02db22020-10-08 16:35:181947rtc_library("rtp_parameters_conversion") {
Harald Alvestrande47493b2022-02-15 12:45:021948 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181949 sources = [
1950 "rtp_parameters_conversion.cc",
1951 "rtp_parameters_conversion.h",
1952 ]
1953 deps = [
Harald Alvestrandc0a95862021-06-09 09:33:561954 ":session_description",
Harald Alvestrandbb02db22020-10-08 16:35:181955 "../api:array_view",
1956 "../api:libjingle_peerconnection_api",
1957 "../api:rtc_error",
1958 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:571959 "../media:codec",
1960 "../media:media_constants",
Harald Alvestrandbb02db22020-10-08 16:35:181961 "../media:rtc_media_base",
Harald Alvestrand794d5992022-12-16 09:54:571962 "../media:rtp_utils",
1963 "../media:stream_params",
Harald Alvestrandbb02db22020-10-08 16:35:181964 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301965 "../rtc_base:logging",
Florent Castelli57aa81b2022-04-04 15:14:021966 "../rtc_base:stringutils",
Harald Alvestrandbb02db22020-10-08 16:35:181967 ]
1968 absl_deps = [
1969 "//third_party/abseil-cpp/absl/algorithm:container",
1970 "//third_party/abseil-cpp/absl/strings",
1971 "//third_party/abseil-cpp/absl/types:optional",
1972 ]
1973}
1974
Harald Alvestrand445e6b02020-09-29 14:21:471975rtc_library("dtmf_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021976 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471977 sources = [
1978 "dtmf_sender.cc",
1979 "dtmf_sender.h",
1980 ]
1981 deps = [
Markus Handella1b82012021-05-26 16:56:301982 ":proxy",
Florent Castelliacabb362022-10-18 15:05:161983 "../api:dtmf_sender_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471984 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081985 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211986 "../api:sequence_checker",
Danil Chapovalova30439b2022-07-07 08:08:491987 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451988 "../api/task_queue:pending_task_safety_flag",
Danil Chapovalova30439b2022-07-07 08:08:491989 "../api/units:time_delta",
Harald Alvestrand445e6b02020-09-29 14:21:471990 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301991 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461992 "../rtc_base:macromagic",
Florent Castellif86f6f92022-04-05 00:54:121993 "../rtc_base:refcount",
Harald Alvestrand5761e7b2021-01-29 14:45:081994 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471995 ]
1996 absl_deps = [
1997 "//third_party/abseil-cpp/absl/algorithm:container",
1998 "//third_party/abseil-cpp/absl/strings",
1999 "//third_party/abseil-cpp/absl/types:optional",
2000 ]
2001}
2002
2003rtc_library("media_stream") {
Harald Alvestrande47493b2022-02-15 12:45:022004 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:472005 sources = [
2006 "media_stream.cc",
2007 "media_stream.h",
2008 ]
2009 deps = [
2010 "../api:libjingle_peerconnection_api",
2011 "../api:media_stream_interface",
2012 "../api:scoped_refptr",
2013 "../rtc_base:checks",
Harald Alvestrand445e6b02020-09-29 14:21:472014 ]
2015 absl_deps = [
2016 "//third_party/abseil-cpp/absl/algorithm:container",
2017 "//third_party/abseil-cpp/absl/strings",
2018 "//third_party/abseil-cpp/absl/types:optional",
2019 ]
2020}
2021
2022rtc_library("video_track_source") {
2023 sources = [
2024 "video_track_source.cc",
2025 "video_track_source.h",
2026 ]
2027 deps = [
2028 "../api:media_stream_interface",
Artem Titovd15a5752021-02-10 13:31:242029 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:082030 "../api/video:recordable_encoded_frame",
Harald Alvestrand445e6b02020-09-29 14:21:472031 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:572032 "../media:media_channel",
Harald Alvestrand445e6b02020-09-29 14:21:472033 "../media:rtc_media_base",
2034 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:462035 "../rtc_base:macromagic",
Tommi20d8d912022-02-08 20:12:152036 "../rtc_base/system:no_unique_address",
Harald Alvestrand445e6b02020-09-29 14:21:472037 "../rtc_base/system:rtc_export",
2038 ]
Harald Alvestrand5761e7b2021-01-29 14:45:082039 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand445e6b02020-09-29 14:21:472040}
2041
Henrik Boströmf7859892022-07-04 12:36:372042rtc_source_set("legacy_stats_collector_interface") {
Harald Alvestrande47493b2022-02-15 12:45:022043 visibility = [ ":*" ]
Henrik Boströmf7859892022-07-04 12:36:372044 sources = [ "legacy_stats_collector_interface.h" ]
Harald Alvestrand1090e442020-10-05 07:01:092045 deps = [
2046 "../api:libjingle_peerconnection_api",
2047 "../api:media_stream_interface",
2048 ]
Harald Alvestrand445e6b02020-09-29 14:21:472049}
2050
zhihuang38ede132017-06-15 19:52:322051rtc_source_set("libjingle_peerconnection") {
Harald Alvestrande79f85c2022-02-07 08:39:522052 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:022053 visibility = [ "*" ] # Used by Chrome and others
2054
Mirko Bonadeie51f7852017-12-06 10:23:192055 deps = [
zhihuang38ede132017-06-15 19:52:322056 ":peerconnection",
2057 "../api:libjingle_peerconnection_api",
2058 ]
ossu7bb87ee2017-01-23 12:56:252059}
2060
Andrey Logvine7c79fd2021-02-01 09:56:372061if (rtc_include_tests && !build_with_chromium) {
ehmaldonado38a21322016-09-02 11:10:342062 rtc_test("rtc_pc_unittests") {
kjellander142f8c52016-06-13 07:08:242063 testonly = true
2064
2065 sources = [
Tony Herree2044662021-11-29 10:33:422066 "audio_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:242067 "channel_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002068 "dtls_srtp_transport_unittest.cc",
Benjamin Wright4f6ef182019-02-27 02:20:052069 "dtls_transport_unittest.cc",
Harald Alvestrand98462622019-01-30 13:57:032070 "ice_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002071 "jsep_transport_controller_unittest.cc",
2072 "jsep_transport_unittest.cc",
2073 "media_session_unittest.cc",
2074 "rtcp_mux_filter_unittest.cc",
2075 "rtp_transport_unittest.cc",
Harald Alvestrandc85328f2019-02-28 06:51:002076 "sctp_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002077 "session_description_unittest.cc",
Harald Alvestrand0d018412021-11-04 13:52:312078 "srtp_filter_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002079 "srtp_session_unittest.cc",
2080 "srtp_transport_unittest.cc",
2081 "test/rtp_transport_test_util.h",
2082 "test/srtp_test_util.h",
Johannes Kron746dd0d2019-06-20 13:37:522083 "used_ids_unittest.cc",
Markus Handell9c27ed22019-12-04 11:57:582084 "video_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:242085 ]
2086
2087 include_dirs = [ "//third_party/libsrtp/srtp" ]
2088
kjellander142f8c52016-06-13 07:08:242089 if (is_win) {
2090 libs = [ "strmiids.lib" ]
2091 }
2092
2093 deps = [
Tony Herree2044662021-11-29 10:33:422094 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512095 ":channel",
2096 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402097 ":dtls_transport",
Harald Alvestrand7ee138e2022-03-10 13:21:282098 ":ice_transport",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512099 ":jsep_transport",
Harald Alvestrande5a73f52022-03-28 12:06:342100 ":jsep_transport_controller",
ossu7bb87ee2017-01-23 12:56:252101 ":libjingle_peerconnection",
Harald Alvestrandc24a2182022-02-23 13:44:592102 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342103 ":media_session",
Zhi Huangb5261582017-09-29 17:51:432104 ":pc_test_utils",
Markus Handell9c27ed22019-12-04 11:57:582105 ":peerconnection",
kjellander142f8c52016-06-13 07:08:242106 ":rtc_pc",
Harald Alvestrand7ee138e2022-03-10 13:21:282107 ":rtcp_mux_filter",
2108 ":rtp_media_utils",
Harald Alvestrand4bac0bb2022-03-15 13:21:592109 ":rtp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422110 ":rtp_transport_internal",
Harald Alvestrand7e539922022-03-17 06:26:032111 ":sctp_transport",
Harald Alvestrandc0a95862021-06-09 09:33:562112 ":session_description",
Harald Alvestrand2ea4d372022-03-10 22:15:422113 ":srtp_filter",
Harald Alvestrand4bac0bb2022-03-15 13:21:592114 ":srtp_session",
Harald Alvestrand7e539922022-03-17 06:26:032115 ":srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402116 ":used_ids",
Harald Alvestrand7165f482020-10-12 07:37:312117 ":video_rtp_receiver",
kwiberg529662a2017-09-04 12:43:172118 "../api:array_view",
Yves Gerey3e707812018-11-28 15:47:492119 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282120 "../api:candidate",
2121 "../api:dtls_transport_interface",
Harald Alvestrand98462622019-01-30 13:57:032122 "../api:ice_transport_factory",
Mirko Bonadeie51f7852017-12-06 10:23:192123 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262124 "../api:make_ref_counted",
2125 "../api:make_ref_counted",
Mirko Bonadeifcfeefe2019-09-10 08:51:232126 "../api:rtc_error",
Niels Mölleref1052a2019-03-20 07:40:232127 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:282128 "../api:rtp_parameters",
Harald Alvestrandc24a2182022-02-23 13:44:592129 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:212130 "../api:sequence_checker",
Artem Titovc374d112022-06-16 19:27:452131 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrandc24a2182022-02-23 13:44:592132 "../api/task_queue:task_queue",
2133 "../api/transport:datagram_transport_interface",
2134 "../api/transport:enums",
Jonas Orelanda3aa9bd2019-04-17 05:38:402135 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592136 "../api/video:recordable_encoded_frame",
Markus Handell9c27ed22019-12-04 11:57:582137 "../api/video/test:mock_recordable_encoded_frame",
Zhi Huang365381f2018-04-13 23:44:342138 "../call:rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:492139 "../call:rtp_receiver",
Harald Alvestrand794d5992022-12-16 09:54:572140 "../media:codec",
2141 "../media:media_channel",
2142 "../media:media_constants",
2143 "../media:rid_description",
Florent Castellia80c3e52021-04-15 13:02:562144 "../media:rtc_data_sctp_transport_internal",
mbonadei7d9a55b2017-06-01 20:01:482145 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:352146 "../media:rtc_media_tests_utils",
Zhi Huang365381f2018-04-13 23:44:342147 "../modules/rtp_rtcp:rtp_rtcp_format",
Piotr (Peter) Slatala4de17832019-01-29 21:35:052148 "../p2p:fake_ice_transport",
Qingsi Wang8af1f742019-04-22 05:08:262149 "../p2p:fake_port_allocator",
mbonadei7d9a55b2017-06-01 20:01:482150 "../p2p:p2p_test_utils",
2151 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:092152 "../rtc_base:async_packet_socket",
Florent Castellif9c59842022-04-19 15:07:232153 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:362154 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:422155 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462156 "../rtc_base:copy_on_write_buffer",
Mirko Bonadeie3abb812018-11-23 12:15:082157 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302158 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462159 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092160 "../rtc_base:net_helper",
ehmaldonadof6a861a2017-07-19 17:40:472161 "../rtc_base:rtc_base_tests_utils",
Harald Alvestrandc24a2182022-02-23 13:44:592162 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092163 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022164 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112165 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012166 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:092167 "../rtc_base:unique_id_generator",
Harald Alvestrandc24a2182022-02-23 13:44:592168 "../rtc_base/containers:flat_set",
Artem Titove41c4332018-07-25 13:04:282169 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102170 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102171 "../test:explicit_key_value_config",
Niels Möller65b2d8a2022-05-19 14:06:232172 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102173 "../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 11:01:582174 "../test:test_main",
zstein398c3fd2017-07-19 20:38:022175 "../test:test_support",
Danil Chapovalova30439b2022-07-07 08:08:492176 ]
2177 absl_deps = [
Steve Anton64b626b2019-01-29 01:25:262178 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalova30439b2022-07-07 08:08:492179 "//third_party/abseil-cpp/absl/functional:any_invocable",
Karl Wiberg918f50c2018-07-05 09:40:332180 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei57cabed2020-04-01 10:03:112181 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc24a2182022-02-23 13:44:592182 "//third_party/abseil-cpp/absl/types:optional",
kjellander142f8c52016-06-13 07:08:242183 ]
2184
2185 if (rtc_build_libsrtp) {
2186 deps += [ "//third_party/libsrtp" ]
2187 }
2188
2189 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372190 use_default_launcher = false
2191 deps += [
2192 "//build/android/gtest_apk:native_test_instrumentation_test_runner_java",
2193 "//testing/android/native_test:native_test_java",
2194 "//testing/android/native_test:native_test_support",
2195 ]
kjellander142f8c52016-06-13 07:08:242196 }
2197 }
ossu7bb87ee2017-01-23 12:56:252198
Mirko Bonadei86d053c2019-10-17 19:32:042199 rtc_library("peerconnection_perf_tests") {
Seth Hampsond1003d72018-06-22 22:40:162200 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:102201 sources = [ "peer_connection_rampup_tests.cc" ]
Seth Hampsond1003d72018-06-22 22:40:162202 deps = [
2203 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112204 ":peer_connection",
Harald Alvestrand67a68d52022-02-07 05:07:032205 ":peerconnection",
Artem Titoveb02ecd2018-12-17 13:22:062206 ":peerconnection_wrapper",
Yves Gerey3e707812018-11-28 15:47:492207 "../api:audio_options_api",
Mirko Bonadei2ff3f492018-11-22 08:00:132208 "../api:create_peerconnection_factory",
Seth Hampsond1003d72018-06-22 22:40:162209 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412210 "../api:media_stream_interface",
Harald Alvestrandc24a2182022-02-23 13:44:592211 "../api:rtc_error",
Seth Hampsond1003d72018-06-22 22:40:162212 "../api:rtc_stats_api",
Mirko Bonadeid9708072019-01-25 19:26:482213 "../api:scoped_refptr",
Yves Gerey3e707812018-11-28 15:47:492214 "../api/audio:audio_mixer_api",
2215 "../api/audio_codecs:audio_codecs_api",
Seth Hampsond1003d72018-06-22 22:40:162216 "../api/audio_codecs:builtin_audio_decoder_factory",
2217 "../api/audio_codecs:builtin_audio_encoder_factory",
Artem Titov2ae3f7b2022-09-24 23:13:102218 "../api/test/metrics:global_metrics_logger_and_exporter",
2219 "../api/test/metrics:metric",
Yves Gerey3e707812018-11-28 15:47:492220 "../api/video_codecs:video_codecs_api",
Åsa Perssondc806fd2023-03-31 13:42:382221 "../api/video_codecs:video_decoder_factory_template",
2222 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2223 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2224 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2225 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
2226 "../api/video_codecs:video_encoder_factory_template",
2227 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2228 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2229 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2230 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Seth Hampsond1003d72018-06-22 22:40:162231 "../media:rtc_media_tests_utils",
Yves Gerey3e707812018-11-28 15:47:492232 "../modules/audio_device:audio_device_api",
2233 "../modules/audio_processing:api",
Seth Hampsond1003d72018-06-22 22:40:162234 "../p2p:p2p_test_utils",
2235 "../p2p:rtc_p2p",
Yves Gerey3e707812018-11-28 15:47:492236 "../rtc_base:checks",
Mirko Bonadeie3abb812018-11-23 12:15:082237 "../rtc_base:gunit_helpers",
Seth Hampsond1003d72018-06-22 22:40:162238 "../rtc_base:rtc_base_tests_utils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012239 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:592240 "../rtc_base:socket_factory",
Florent Castellia138c6c2023-01-04 11:01:092241 "../rtc_base:ssl",
Danil Chapovalov2aaef452022-08-12 13:55:112242 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012243 "../rtc_base:threading",
Artem Titov94b57c02019-03-21 12:35:102244 "../system_wrappers",
Seth Hampsond1003d72018-06-22 22:40:162245 "../test:test_support",
2246 ]
Mirko Bonadei2dcf3482020-06-05 12:30:412247 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Seth Hampsond1003d72018-06-22 22:40:162248 }
2249
Mirko Bonadei86d053c2019-10-17 19:32:042250 rtc_library("peerconnection_wrapper") {
Artem Titoveb02ecd2018-12-17 13:22:062251 testonly = true
2252 sources = [
Steve Anton10542f22019-01-11 17:11:002253 "peer_connection_wrapper.cc",
2254 "peer_connection_wrapper.h",
Artem Titoveb02ecd2018-12-17 13:22:062255 ]
2256 deps = [
2257 ":pc_test_utils",
Harald Alvestrand67a68d52022-02-07 05:07:032258 ":peerconnection",
Harald Alvestrand63c3b132022-02-03 07:56:222259 ":sdp_utils",
Artem Titov741daaf2019-03-21 13:37:362260 "../api:function_view",
Artem Titoveb02ecd2018-12-17 13:22:062261 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412262 "../api:media_stream_interface",
Mirko Bonadeifcfeefe2019-09-10 08:51:232263 "../api:rtc_error",
Artem Titoveb02ecd2018-12-17 13:22:062264 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282265 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:162266 "../api:rtp_sender_interface",
Mirko Bonadeid9708072019-01-25 19:26:482267 "../api:scoped_refptr",
Artem Titoveb02ecd2018-12-17 13:22:062268 "../rtc_base:checks",
2269 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302270 "../rtc_base:logging",
Artem Titoveb02ecd2018-12-17 13:22:062271 "../test:test_support",
2272 ]
Jeremy Leconteeccd93e2023-02-10 08:26:502273 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Artem Titoveb02ecd2018-12-17 13:22:062274 }
2275
Harald Alvestrandf8f7b702022-05-05 13:21:192276 rtc_test("slow_peer_connection_unittests") {
2277 testonly = true
2278 sources = [ "slow_peer_connection_integration_test.cc" ]
2279 deps = [
2280 ":integration_test_helpers",
2281 ":pc_test_utils",
Florent Castelliacabb362022-10-18 15:05:162282 "../api:dtmf_sender_interface",
Harald Alvestrandf8f7b702022-05-05 13:21:192283 "../api:libjingle_peerconnection_api",
2284 "../api:scoped_refptr",
2285 "../api/units:time_delta",
2286 "../p2p:p2p_server_utils",
2287 "../p2p:p2p_test_utils",
2288 "../p2p:rtc_p2p",
Harald Alvestrandf8f7b702022-05-05 13:21:192289 "../rtc_base:gunit_helpers",
2290 "../rtc_base:logging",
2291 "../rtc_base:rtc_base_tests_utils",
2292 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092293 "../rtc_base:ssl",
Harald Alvestrandf8f7b702022-05-05 13:21:192294 "../test:test_main",
2295 "../test:test_support",
Tommicde4b672023-04-25 06:53:422296 "../test/time_controller:time_controller",
Harald Alvestrandf8f7b702022-05-05 13:21:192297 "//third_party/abseil-cpp/absl/algorithm:container",
2298 "//third_party/abseil-cpp/absl/strings",
2299 "//third_party/abseil-cpp/absl/types:optional",
2300 ]
2301 }
2302
ossu7bb87ee2017-01-23 12:56:252303 rtc_test("peerconnection_unittests") {
ossu7bb87ee2017-01-23 12:56:252304 testonly = true
2305 sources = [
Harald Alvestrand39993842021-02-17 09:05:312306 "data_channel_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002307 "data_channel_unittest.cc",
2308 "dtmf_sender_unittest.cc",
2309 "ice_server_parsing_unittest.cc",
Ruslan Burakov428dcb22019-04-18 15:49:492310 "jitter_buffer_delay_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002311 "jsep_session_description_unittest.cc",
Henrik Boströmf7859892022-07-04 12:36:372312 "legacy_stats_collector_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002313 "local_audio_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002314 "media_stream_unittest.cc",
Henrik Boström4c1e7cc2020-06-11 10:26:532315 "peer_connection_adaptation_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002316 "peer_connection_bundle_unittest.cc",
2317 "peer_connection_crypto_unittest.cc",
2318 "peer_connection_data_channel_unittest.cc",
Henrik Boströmda9e2842023-04-06 13:27:332319 "peer_connection_encodings_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002320 "peer_connection_end_to_end_unittest.cc",
2321 "peer_connection_factory_unittest.cc",
Byoungchan Lee8f17f732022-08-25 12:35:302322 "peer_connection_field_trial_tests.cc",
Markus Handell0357b3e2020-03-16 12:40:512323 "peer_connection_header_extension_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002324 "peer_connection_histogram_unittest.cc",
2325 "peer_connection_ice_unittest.cc",
2326 "peer_connection_integrationtest.cc",
2327 "peer_connection_interface_unittest.cc",
2328 "peer_connection_jsep_unittest.cc",
2329 "peer_connection_media_unittest.cc",
2330 "peer_connection_rtp_unittest.cc",
2331 "peer_connection_signaling_unittest.cc",
Amit Hilbuchaa584152019-02-07 01:09:522332 "peer_connection_simulcast_unittest.cc",
Florent Castelli725ee242022-10-18 15:05:582333 "peer_connection_svc_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002334 "peer_connection_wrapper.cc",
2335 "peer_connection_wrapper.h",
ossu7bb87ee2017-01-23 12:56:252336 "proxy_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002337 "rtc_stats_collector_unittest.cc",
2338 "rtc_stats_integrationtest.cc",
2339 "rtc_stats_traversal_unittest.cc",
2340 "rtp_media_utils_unittest.cc",
2341 "rtp_parameters_conversion_unittest.cc",
2342 "rtp_sender_receiver_unittest.cc",
2343 "rtp_transceiver_unittest.cc",
2344 "sctp_utils_unittest.cc",
Harald Alvestrande61d4c82021-09-16 08:59:112345 "sdp_offer_answer_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002346 "sdp_serializer_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002347 "test/fake_audio_capture_module_unittest.cc",
2348 "test/test_sdp_strings.h",
2349 "track_media_info_map_unittest.cc",
Markus Handell15f2ff42019-11-22 09:34:372350 "video_rtp_track_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002351 "video_track_unittest.cc",
2352 "webrtc_sdp_unittest.cc",
ossu7bb87ee2017-01-23 12:56:252353 ]
2354
Mirko Bonadeie51f7852017-12-06 10:23:192355 deps = [
Harald Alvestrand7165f482020-10-12 07:37:312356 ":audio_rtp_receiver",
2357 ":audio_track",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512358 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402359 ":channel_interface",
Harald Alvestranda45c8f42022-05-10 08:44:482360 ":data_channel_controller_unittest",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512361 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402362 ":dtls_transport",
Harald Alvestrand445e6b02020-09-29 14:21:472363 ":dtmf_sender",
Harald Alvestrandae940a52022-02-01 13:37:082364 ":ice_server_parsing",
Harald Alvestrand82a94122021-03-08 07:01:482365 ":integration_test_helpers",
Harald Alvestrand7165f482020-10-12 07:37:312366 ":jitter_buffer_delay",
Henrik Boströmf7859892022-07-04 12:36:372367 ":legacy_stats_collector",
Harald Alvestrand7766ab12022-02-02 11:26:032368 ":local_audio_source",
Harald Alvestrandc24a2182022-02-23 13:44:592369 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342370 ":media_session",
Harald Alvestrand445e6b02020-09-29 14:21:472371 ":media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:112372 ":peer_connection",
2373 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512374 ":peer_connection_proxy",
Markus Handella1b82012021-05-26 16:56:302375 ":proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:102376 ":rtc_stats_collector",
2377 ":rtc_stats_traversal",
Harald Alvestrand7ee138e2022-03-10 13:21:282378 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:182379 ":rtp_parameters_conversion",
Harald Alvestrand445e6b02020-09-29 14:21:472380 ":rtp_receiver",
2381 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:512382 ":rtp_sender_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:182383 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:422384 ":rtp_transport_internal",
Harald Alvestrandad3b3232022-02-07 02:59:362385 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:032386 ":sctp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422387 ":sctp_utils",
Harald Alvestrand2f122e42022-02-01 20:59:512388 ":sdp_serializer",
Harald Alvestrand63c3b132022-02-03 07:56:222389 ":sdp_utils",
Harald Alvestrandc0a95862021-06-09 09:33:562390 ":session_description",
Harald Alvestrandc24a2182022-02-23 13:44:592391 ":simulcast_description",
Harald Alvestrandab0152d2022-02-07 06:43:482392 ":stream_collection",
Harald Alvestrand59427ad2022-02-03 19:02:382393 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:422394 ":transport_stats",
Harald Alvestrand44d0dff2020-10-09 05:43:532395 ":usage_pattern",
Harald Alvestrand7165f482020-10-12 07:37:312396 ":video_rtp_receiver",
2397 ":video_rtp_track_source",
2398 ":video_track",
Harald Alvestrand445e6b02020-09-29 14:21:472399 ":video_track_source",
Harald Alvestrandb6f39162022-02-08 05:56:552400 ":webrtc_sdp",
Yves Gerey3e707812018-11-28 15:47:492401 "../api:array_view",
2402 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282403 "../api:candidate",
Mirko Bonadei2ff3f492018-11-22 08:00:132404 "../api:create_peerconnection_factory",
Mirko Bonadeid151cc62022-06-20 06:35:282405 "../api:dtls_transport_interface",
Florent Castelliacabb362022-10-18 15:05:162406 "../api:dtmf_sender_interface",
Benjamin Wright78410ad2018-10-25 16:52:572407 "../api:fake_frame_decryptor",
2408 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482409 "../api:field_trials_view",
Artem Titov741daaf2019-03-21 13:37:362410 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282411 "../api:ice_transport_interface",
Yves Gerey3e707812018-11-28 15:47:492412 "../api:libjingle_logging_api",
Mirko Bonadei34814c72018-01-11 09:13:562413 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262414 "../api:make_ref_counted",
Niels Möllere942b142019-09-17 12:30:412415 "../api:media_stream_interface",
Harald Alvestrand4d25a772023-08-25 11:07:282416 "../api:mock_async_dns_resolver",
Jonas Oreland65455162022-06-08 09:25:462417 "../api:mock_encoder_selector",
Niels Möller573b1452022-06-21 09:37:292418 "../api:mock_packet_socket_factory",
Florent Castelli63cc46c2021-07-16 23:32:402419 "../api:mock_video_track",
Harald Alvestrand39993842021-02-17 09:05:312420 "../api:packet_socket_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592421 "../api:priority",
Mirko Bonadeifcfeefe2019-09-10 08:51:232422 "../api:rtc_error",
Florent Castelliacabb362022-10-18 15:05:162423 "../api:rtp_sender_interface",
Harald Alvestrand39993842021-02-17 09:05:312424 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:482425 "../api:scoped_refptr",
Harald Alvestrandc24a2182022-02-23 13:44:592426 "../api/adaptation:resource_adaptation_api",
Yves Gerey3e707812018-11-28 15:47:492427 "../api/audio:audio_mixer_api",
Mirko Bonadeieaaaf412019-09-13 12:42:152428 "../api/crypto:frame_decryptor_interface",
2429 "../api/crypto:frame_encryptor_interface",
2430 "../api/crypto:options",
Danil Chapovalov9da25bd2019-06-20 08:19:422431 "../api/rtc_event_log",
2432 "../api/rtc_event_log:rtc_event_log_factory",
Harald Alvestrand39993842021-02-17 09:05:312433 "../api/task_queue",
Danil Chapovalov9da25bd2019-06-20 08:19:422434 "../api/task_queue:default_task_queue_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592435 "../api/transport:datagram_transport_interface",
Erik Språngceb44952020-09-22 09:36:352436 "../api/transport:field_trial_based_config",
Harald Alvestrandc24a2182022-02-23 13:44:592437 "../api/transport:sctp_transport_factory_interface",
Niels Möllera8370302019-09-02 13:16:492438 "../api/transport/rtp:rtp_source",
Henrik Boström2fec6442023-06-15 10:49:262439 "../api/units:data_rate",
Sebastian Jansson5f83cf02018-05-08 12:52:222440 "../api/units:time_delta",
Harald Alvestrandc24a2182022-02-23 13:44:592441 "../api/units:timestamp",
Jonas Orelanda3aa9bd2019-04-17 05:38:402442 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592443 "../api/video:encoded_image",
2444 "../api/video:recordable_encoded_frame",
2445 "../api/video:video_bitrate_allocator_factory",
2446 "../api/video:video_codec_constants",
2447 "../api/video:video_frame",
Harald Alvestrand39993842021-02-17 09:05:312448 "../api/video:video_rtp_headers",
Evan Shrubsole9b235cd2022-12-06 10:09:102449 "../api/video_codecs:scalability_mode",
Henrik Boström4c1e7cc2020-06-11 10:26:532450 "../call/adaptation:resource_adaptation_test_utilities",
Harald Alvestrandc24a2182022-02-23 13:44:592451 "../common_video",
Qingsi Wang7685e862018-06-12 03:15:462452 "../logging:fake_rtc_event_log",
Harald Alvestrand794d5992022-12-16 09:54:572453 "../media:codec",
Harald Alvestrand794d5992022-12-16 09:54:572454 "../media:media_channel",
2455 "../media:media_constants",
2456 "../media:rid_description",
Florent Castellia80c3e52021-04-15 13:02:562457 "../media:rtc_data_sctp_transport_internal",
Yves Gerey3e707812018-11-28 15:47:492458 "../media:rtc_media_config",
Danil Chapovalov9da25bd2019-06-20 08:19:422459 "../media:rtc_media_engine_defaults",
Harald Alvestrand794d5992022-12-16 09:54:572460 "../media:stream_params",
Yves Gerey3e707812018-11-28 15:47:492461 "../modules/audio_device:audio_device_api",
2462 "../modules/audio_processing:audio_processing_statistics",
Henrik Boström883eefc2019-05-27 11:40:252463 "../modules/rtp_rtcp:rtp_rtcp_format",
Qingsi Wang8af1f742019-04-22 05:08:262464 "../p2p:fake_port_allocator",
Harald Alvestrand39993842021-02-17 09:05:312465 "../p2p:p2p_server_utils",
Florent Castelliceb7b362022-04-19 15:35:042466 "../rtc_base:byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:422467 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462468 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:132469 "../rtc_base:event_tracer",
Mirko Bonadeie3abb812018-11-23 12:15:082470 "../rtc_base:gunit_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012471 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302472 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462473 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092474 "../rtc_base:mdns_responder_interface",
2475 "../rtc_base:net_helper",
2476 "../rtc_base:network",
Harald Alvestrandc24a2182022-02-23 13:44:592477 "../rtc_base:network_constants",
Tommi55f72802023-03-27 10:39:332478 "../rtc_base:null_socket_server",
Florent Castellif86f6f92022-04-05 00:54:122479 "../rtc_base:refcount",
Mirko Bonadeie3abb812018-11-23 12:15:082480 "../rtc_base:rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092481 "../rtc_base:rtc_certificate_generator",
Harald Alvestrand910cdc22020-01-09 11:58:232482 "../rtc_base:rtc_json",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012483 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092484 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022485 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112486 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012487 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152488 "../rtc_base:timeutils",
Florent Castellia138c6c2023-01-04 11:01:092489 "../rtc_base:unique_id_generator",
Markus Handell6fcd0f82020-07-07 17:08:532490 "../rtc_base/synchronization:mutex",
Artem Titova76af0c2018-07-23 15:38:122491 "../rtc_base/third_party/base64",
Artem Titov94b57c02019-03-21 12:35:102492 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102493 "../system_wrappers:metrics",
Henrik Boström9a5de952023-03-14 08:50:192494 "../test:field_trial",
Tommia50a81a2023-04-11 15:32:342495 "../test:rtc_expect_death",
Niels Möller65b2d8a2022-05-19 14:06:232496 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102497 "../test:scoped_key_value_config",
Per Kjellander2bca0082020-08-28 07:15:152498 "../test/pc/sctp:fake_sctp_transport",
Steve Anton64b626b2019-01-29 01:25:262499 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 09:40:332500 "//third_party/abseil-cpp/absl/memory",
Yves Gerey69807e82018-10-30 21:23:022501 "//third_party/abseil-cpp/absl/strings",
Mirko Bonadei2dcf3482020-06-05 12:30:412502 "//third_party/abseil-cpp/absl/types:optional",
Mirko Bonadeie51f7852017-12-06 10:23:192503 ]
Björn Terelius0c68a7a2022-04-19 13:32:372504
ossu7bb87ee2017-01-23 12:56:252505 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372506 use_default_launcher = false
2507 deps += [
2508 ":android_black_magic",
2509
2510 # We need to depend on this one directly, or classloads will fail for
2511 # the voice engine BuildInfo, for instance.
2512 "//sdk/android:libjingle_peerconnection_java",
2513 "//sdk/android:native_test_jni_onload",
2514 ]
2515 shard_timeout = 900
ossu7bb87ee2017-01-23 12:56:252516 }
2517
2518 deps += [
2519 ":libjingle_peerconnection",
deadbeefe814a0d2017-02-26 02:15:092520 ":pc_test_utils",
Harald Alvestrand67a68d52022-02-07 05:07:032521 ":rtc_pc",
Niels Möller8366e172018-02-14 11:20:132522 "../api:callfactory_api",
Niels Möllerd8b9ed72019-05-08 11:53:512523 "../api:rtc_event_log_output_file",
Patrik Höglund563934e2017-09-15 07:04:282524 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282525 "../api:rtp_parameters",
Karl Wibergc5bb00b2017-10-10 21:17:172526 "../api/audio_codecs:audio_codecs_api",
Patrik Höglund563934e2017-09-15 07:04:282527 "../api/audio_codecs:builtin_audio_decoder_factory",
2528 "../api/audio_codecs:builtin_audio_encoder_factory",
Karl Wiberg44d7ec02019-11-26 13:00:412529 "../api/audio_codecs:opus_audio_decoder_factory",
2530 "../api/audio_codecs:opus_audio_encoder_factory",
Karl Wibergc5bb00b2017-10-10 21:17:172531 "../api/audio_codecs/L16:audio_decoder_L16",
2532 "../api/audio_codecs/L16:audio_encoder_L16",
Anders Carlsson67537952018-05-03 09:28:292533 "../api/video_codecs:builtin_video_decoder_factory",
2534 "../api/video_codecs:builtin_video_encoder_factory",
2535 "../api/video_codecs:video_codecs_api",
Åsa Persson0587aae2023-03-31 14:49:142536 "../api/video_codecs:video_decoder_factory_template",
2537 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2538 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2539 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2540 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
2541 "../api/video_codecs:video_encoder_factory_template",
2542 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2543 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2544 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2545 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Steve Anton8d3444d2017-10-20 22:30:512546 "../call:call_interfaces",
Patrik Höglund563934e2017-09-15 07:04:282547 "../media:rtc_audio_video",
Patrik Höglund563934e2017-09-15 07:04:282548 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:352549 "../media:rtc_media_tests_utils",
Artem Titov94b57c02019-03-21 12:35:102550 "../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:542551 "../modules/audio_processing:api",
Patrik Höglund563934e2017-09-15 07:04:282552 "../p2p:p2p_test_utils",
2553 "../p2p:rtc_p2p",
Tommi8d2c5a82018-03-19 10:12:482554 "../rtc_base:rtc_task_queue",
Mirko Bonadeie12c1fe2018-07-03 10:53:232555 "../rtc_base:safe_conversions",
kwiberg2b3aa142017-06-14 10:31:172556 "../test:audio_codec_mocks",
Niels Möller04a3cc12019-05-21 11:01:582557 "../test:test_main",
Patrik Höglund563934e2017-09-15 07:04:282558 "../test:test_support",
ossu7bb87ee2017-01-23 12:56:252559 ]
ossu7bb87ee2017-01-23 12:56:252560 }
Patrik Höglund563934e2017-09-15 07:04:282561
Harald Alvestranda45c8f42022-05-10 08:44:482562 rtc_library("data_channel_controller_unittest") {
2563 testonly = true
2564 sources = [ "data_channel_controller_unittest.cc" ]
2565 deps = [
2566 ":data_channel_controller",
2567 ":pc_test_utils",
2568 ":peer_connection_internal",
Harald Alvestrand9e5aeb92022-05-11 09:35:362569 ":sctp_data_channel",
Tommi55f72802023-03-27 10:39:332570 "../rtc_base:null_socket_server",
Tommi2a448722023-03-09 22:52:432571 "../test:run_loop",
Harald Alvestranda45c8f42022-05-10 08:44:482572 "../test:test_support",
2573 ]
2574 }
2575
Patrik Höglund563934e2017-09-15 07:04:282576 if (is_android) {
Mirko Bonadei86d053c2019-10-17 19:32:042577 rtc_library("android_black_magic") {
Björn Terelius0c68a7a2022-04-19 13:32:372578 # The android code uses hacky includes to ssl code. Having this in a
2579 # separate target enables us to keep the peerconnection unit tests clean.
Patrik Höglund563934e2017-09-15 07:04:282580 testonly = true
2581 sources = [
Steve Anton10542f22019-01-11 17:11:002582 "test/android_test_initializer.cc",
2583 "test/android_test_initializer.h",
Patrik Höglund563934e2017-09-15 07:04:282584 ]
2585 deps = [
Florent Castellia138c6c2023-01-04 11:01:092586 "../rtc_base:ssl",
Björn Terelius0c68a7a2022-04-19 13:32:372587 "../sdk/android:internal_jni",
Patrik Höglund563934e2017-09-15 07:04:282588 "../sdk/android:libjingle_peerconnection_jni",
Björn Terelius0c68a7a2022-04-19 13:32:372589 "//modules/utility:utility",
2590 "//rtc_base:checks",
Patrik Höglund563934e2017-09-15 07:04:282591 "//testing/android/native_test:native_test_support",
2592 ]
2593 }
2594 }
Harald Alvestrand82a94122021-03-08 07:01:482595
2596 rtc_library("integration_test_helpers") {
2597 testonly = true
2598 sources = [
2599 "test/integration_test_helpers.cc",
2600 "test/integration_test_helpers.h",
2601 ]
2602 deps = [
2603 ":audio_rtp_receiver",
2604 ":audio_track",
2605 ":dtmf_sender",
2606 ":jitter_buffer_delay",
Harald Alvestrand7766ab12022-02-02 11:26:032607 ":local_audio_source",
Harald Alvestrande5a73f52022-03-28 12:06:342608 ":media_session",
Harald Alvestrand82a94122021-03-08 07:01:482609 ":media_stream",
2610 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112611 ":peer_connection",
2612 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512613 ":peer_connection_proxy",
Harald Alvestrand82a94122021-03-08 07:01:482614 ":peerconnection",
2615 ":remote_audio_source",
Harald Alvestrand7ee138e2022-03-10 13:21:282616 ":rtp_media_utils",
Harald Alvestrand82a94122021-03-08 07:01:482617 ":rtp_parameters_conversion",
2618 ":rtp_receiver",
2619 ":rtp_sender",
2620 ":rtp_transceiver",
Harald Alvestrandc0a95862021-06-09 09:33:562621 ":session_description",
Harald Alvestrand82a94122021-03-08 07:01:482622 ":usage_pattern",
2623 ":video_rtp_receiver",
2624 ":video_rtp_track_source",
2625 ":video_track",
2626 ":video_track_source",
2627 "../api:array_view",
2628 "../api:audio_options_api",
2629 "../api:callfactory_api",
Mirko Bonadeid151cc62022-06-20 06:35:282630 "../api:candidate",
Harald Alvestrand82a94122021-03-08 07:01:482631 "../api:create_peerconnection_factory",
2632 "../api:fake_frame_decryptor",
2633 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482634 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482635 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282636 "../api:ice_transport_interface",
Harald Alvestrand82a94122021-03-08 07:01:482637 "../api:libjingle_logging_api",
2638 "../api:libjingle_peerconnection_api",
2639 "../api:media_stream_interface",
Harald Alvestrand4d25a772023-08-25 11:07:282640 "../api:mock_async_dns_resolver",
Harald Alvestrand82a94122021-03-08 07:01:482641 "../api:mock_rtp",
2642 "../api:packet_socket_factory",
2643 "../api:rtc_error",
2644 "../api:rtc_stats_api",
2645 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:162646 "../api:rtp_sender_interface",
Harald Alvestrand82a94122021-03-08 07:01:482647 "../api:rtp_transceiver_direction",
2648 "../api:scoped_refptr",
2649 "../api/audio:audio_mixer_api",
2650 "../api/crypto:frame_decryptor_interface",
2651 "../api/crypto:frame_encryptor_interface",
2652 "../api/crypto:options",
2653 "../api/rtc_event_log",
2654 "../api/rtc_event_log:rtc_event_log_factory",
2655 "../api/task_queue",
2656 "../api/task_queue:default_task_queue_factory",
Artem Titovc374d112022-06-16 19:27:452657 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand82a94122021-03-08 07:01:482658 "../api/transport:field_trial_based_config",
Harald Alvestrand82a94122021-03-08 07:01:482659 "../api/transport/rtp:rtp_source",
2660 "../api/units:time_delta",
2661 "../api/video:builtin_video_bitrate_allocator_factory",
2662 "../api/video:video_rtp_headers",
2663 "../api/video_codecs:video_codecs_api",
2664 "../call:call_interfaces",
2665 "../call/adaptation:resource_adaptation_test_utilities",
2666 "../logging:fake_rtc_event_log",
2667 "../media:rtc_audio_video",
2668 "../media:rtc_media_base",
2669 "../media:rtc_media_config",
2670 "../media:rtc_media_engine_defaults",
2671 "../media:rtc_media_tests_utils",
Harald Alvestrand794d5992022-12-16 09:54:572672 "../media:stream_params",
Harald Alvestrand82a94122021-03-08 07:01:482673 "../modules/audio_device:audio_device_api",
2674 "../modules/audio_processing:api",
2675 "../modules/audio_processing:audio_processing_statistics",
2676 "../modules/audio_processing:audioproc_test_utils",
2677 "../modules/rtp_rtcp:rtp_rtcp_format",
2678 "../p2p:fake_ice_transport",
2679 "../p2p:fake_port_allocator",
2680 "../p2p:p2p_server_utils",
2681 "../p2p:p2p_test_utils",
2682 "../p2p:rtc_p2p",
Harald Alvestrand82a94122021-03-08 07:01:482683 "../rtc_base:checks",
2684 "../rtc_base:gunit_helpers",
2685 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302686 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462687 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092688 "../rtc_base:mdns_responder_interface",
Tommicde4b672023-04-25 06:53:422689 "../rtc_base:null_socket_server",
Harald Alvestrand82a94122021-03-08 07:01:482690 "../rtc_base:rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092691 "../rtc_base:rtc_certificate_generator",
Florent Castelli33d31fb2022-04-04 14:57:522692 "../rtc_base:rtc_event",
Harald Alvestrand82a94122021-03-08 07:01:482693 "../rtc_base:rtc_json",
Florent Castellie10a9f62022-04-04 15:04:372694 "../rtc_base:safe_conversions",
Harald Alvestrand82a94122021-03-08 07:01:482695 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092696 "../rtc_base:ssl",
Danil Chapovalov2aaef452022-08-12 13:55:112697 "../rtc_base:task_queue_for_test",
Harald Alvestrand82a94122021-03-08 07:01:482698 "../rtc_base:threading",
2699 "../rtc_base:timeutils",
2700 "../rtc_base/synchronization:mutex",
Evan Shrubsole7619b7c2022-03-01 09:42:442701 "../rtc_base/task_utils:repeating_task",
Harald Alvestrand82a94122021-03-08 07:01:482702 "../rtc_base/third_party/base64",
2703 "../rtc_base/third_party/sigslot",
2704 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102705 "../test:explicit_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482706 "../test:fileutils",
2707 "../test:rtp_test_utils",
Jonas Orelanded99dae2022-03-09 08:28:102708 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482709 "../test:test_support",
2710 "../test/pc/sctp:fake_sctp_transport",
Tommicde4b672023-04-25 06:53:422711 "../test/time_controller",
Harald Alvestrand82a94122021-03-08 07:01:482712 ]
2713 absl_deps = [
2714 "//third_party/abseil-cpp/absl/algorithm:container",
2715 "//third_party/abseil-cpp/absl/memory",
2716 "//third_party/abseil-cpp/absl/strings",
2717 "//third_party/abseil-cpp/absl/types:optional",
2718 ]
2719 }
2720
2721 rtc_library("pc_test_utils") {
2722 testonly = true
2723 sources = [
2724 "test/fake_audio_capture_module.cc",
2725 "test/fake_audio_capture_module.h",
Harald Alvestrand9e5aeb92022-05-11 09:35:362726 "test/fake_data_channel_controller.h",
Harald Alvestrand82a94122021-03-08 07:01:482727 "test/fake_peer_connection_base.h",
2728 "test/fake_peer_connection_for_stats.h",
2729 "test/fake_periodic_video_source.h",
2730 "test/fake_periodic_video_track_source.h",
2731 "test/fake_rtc_certificate_generator.h",
2732 "test/fake_video_track_renderer.h",
2733 "test/fake_video_track_source.h",
2734 "test/frame_generator_capturer_video_track_source.h",
2735 "test/mock_channel_interface.h",
2736 "test/mock_data_channel.h",
Harald Alvestranda45c8f42022-05-10 08:44:482737 "test/mock_peer_connection_internal.h",
Harald Alvestrand82a94122021-03-08 07:01:482738 "test/mock_peer_connection_observers.h",
2739 "test/mock_rtp_receiver_internal.h",
2740 "test/mock_rtp_sender_internal.h",
Florent Castellid797cb62023-06-27 20:07:092741 "test/mock_voice_media_receive_channel_interface.h",
Harald Alvestrand82a94122021-03-08 07:01:482742 "test/peer_connection_test_wrapper.cc",
2743 "test/peer_connection_test_wrapper.h",
2744 "test/rtc_stats_obtainer.h",
Henrik Boströmda9e2842023-04-06 13:27:332745 "test/simulcast_layer_util.cc",
2746 "test/simulcast_layer_util.h",
Harald Alvestrand82a94122021-03-08 07:01:482747 "test/test_sdp_strings.h",
2748 ]
2749
2750 deps = [
Harald Alvestrand65685a62022-04-27 12:15:492751 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402752 ":channel_interface",
Harald Alvestrand82a94122021-03-08 07:01:482753 ":jitter_buffer_delay",
Harald Alvestrand82a94122021-03-08 07:01:482754 ":libjingle_peerconnection",
Harald Alvestrand67a68d52022-02-07 05:07:032755 ":peer_connection_internal",
Harald Alvestrand82a94122021-03-08 07:01:482756 ":peerconnection",
Harald Alvestrand82a94122021-03-08 07:01:482757 ":rtp_receiver",
2758 ":rtp_sender",
Harald Alvestrandad3b3232022-02-07 02:59:362759 ":sctp_data_channel",
Henrik Boströmda9e2842023-04-06 13:27:332760 ":session_description",
2761 ":simulcast_description",
Harald Alvestrandab0152d2022-02-07 06:43:482762 ":stream_collection",
Harald Alvestrand82a94122021-03-08 07:01:482763 ":video_track_source",
2764 "../api:audio_options_api",
Mirko Bonadei9d9c2d52022-10-07 21:47:492765 "../api:call_api",
Harald Alvestrand82a94122021-03-08 07:01:482766 "../api:create_frame_generator",
2767 "../api:create_peerconnection_factory",
Jonas Orelande62c2f22022-03-29 09:04:482768 "../api:field_trials_view",
2769 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482770 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262771 "../api:make_ref_counted",
Harald Alvestrand82a94122021-03-08 07:01:482772 "../api:media_stream_interface",
2773 "../api:rtc_error",
2774 "../api:rtc_stats_api",
Florent Castelli43a5dd82023-04-12 10:45:072775 "../api:rtp_parameters",
Harald Alvestrand82a94122021-03-08 07:01:482776 "../api:scoped_refptr",
2777 "../api:sequence_checker",
2778 "../api/audio:audio_mixer_api",
2779 "../api/audio_codecs:audio_codecs_api",
2780 "../api/task_queue",
2781 "../api/task_queue:default_task_queue_factory",
Danil Chapovalov372ecc32022-08-19 16:22:152782 "../api/units:time_delta",
Harald Alvestrand82a94122021-03-08 07:01:482783 "../api/video:builtin_video_bitrate_allocator_factory",
Henrik Boströmfd4ddd12023-02-08 10:29:202784 "../api/video:resolution",
Harald Alvestrand82a94122021-03-08 07:01:482785 "../api/video:video_frame",
2786 "../api/video:video_rtp_headers",
Harald Alvestrand82a94122021-03-08 07:01:482787 "../api/video_codecs:video_codecs_api",
Åsa Persson13fffbb2023-03-31 11:13:372788 "../api/video_codecs:video_decoder_factory_template",
2789 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2790 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2791 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2792 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
philipel2cafacf2023-04-03 13:17:172793 "../api/video_codecs:video_encoder_factory_template",
2794 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2795 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2796 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2797 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Harald Alvestrand82a94122021-03-08 07:01:482798 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:572799 "../media:media_channel",
2800 "../media:media_channel_impl",
Harald Alvestrand82a94122021-03-08 07:01:482801 "../media:rtc_media",
2802 "../media:rtc_media_base",
2803 "../media:rtc_media_tests_utils",
philipel2cafacf2023-04-03 13:17:172804 "../media:rtc_simulcast_encoder_adapter",
Harald Alvestrand82a94122021-03-08 07:01:482805 "../modules/audio_device",
2806 "../modules/audio_processing",
2807 "../modules/audio_processing:api",
Per K89ca2992023-01-10 13:28:252808 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand82a94122021-03-08 07:01:482809 "../p2p:fake_port_allocator",
2810 "../p2p:p2p_test_utils",
2811 "../p2p:rtc_p2p",
Harald Alvestrand82a94122021-03-08 07:01:482812 "../rtc_base:checks",
2813 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302814 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462815 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092816 "../rtc_base:rtc_certificate_generator",
Harald Alvestrand82a94122021-03-08 07:01:482817 "../rtc_base:rtc_task_queue",
Florent Castellia138c6c2023-01-04 11:01:092818 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022819 "../rtc_base:stringutils",
Harald Alvestrand82a94122021-03-08 07:01:482820 "../rtc_base:task_queue_for_test",
2821 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152822 "../rtc_base:timeutils",
Tommi1c0d91f2023-03-02 14:42:062823 "../rtc_base:weak_ptr",
Harald Alvestrand82a94122021-03-08 07:01:482824 "../rtc_base/synchronization:mutex",
2825 "../rtc_base/task_utils:repeating_task",
2826 "../rtc_base/third_party/sigslot",
Artem Titovd12582a2023-04-12 13:29:072827 "../test:frame_generator_capturer",
Jonas Orelanded99dae2022-03-09 08:28:102828 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482829 "../test:test_support",
Harald Alvestrand82a94122021-03-08 07:01:482830 ]
Henrik Boströmda9e2842023-04-06 13:27:332831 absl_deps = [
2832 "//third_party/abseil-cpp/absl/algorithm:container",
Florent Castelli43a5dd82023-04-12 10:45:072833 "//third_party/abseil-cpp/absl/strings",
Henrik Boströmda9e2842023-04-06 13:27:332834 "//third_party/abseil-cpp/absl/types:optional",
2835 ]
Harald Alvestrand82a94122021-03-08 07:01:482836 }
Florent Castelli90b74382022-04-25 15:28:002837
2838 svc_tests_resources = [
2839 "../resources/difficult_photo_1850_1110.yuv",
2840 "../resources/photo_1850_1110.yuv",
2841 "../resources/presentation_1850_1110.yuv",
2842 "../resources/web_screenshot_1850_1110.yuv",
2843 ]
2844
2845 if (is_ios) {
2846 bundle_data("svc_tests_bundle_data") {
2847 testonly = true
2848 sources = svc_tests_resources
2849 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
2850 }
2851 }
2852
2853 rtc_test("svc_tests") {
2854 sources = [ "test/svc_e2e_tests.cc" ]
2855 data = svc_tests_resources
2856 deps = [
2857 "../api:create_network_emulation_manager",
2858 "../api:create_peer_connection_quality_test_frame_generator",
2859 "../api:create_peerconnection_quality_test_fixture",
2860 "../api:frame_generator_api",
2861 "../api:media_stream_interface",
2862 "../api:network_emulation_manager_api",
2863 "../api:peer_connection_quality_test_fixture_api",
Evan Shrubsole9b235cd2022-12-06 10:09:102864 "../api:rtc_stats_api",
Florent Castelli90b74382022-04-25 15:28:002865 "../api:simulated_network_api",
2866 "../api:time_controller",
Artem Titovc45f4e42022-09-24 14:56:072867 "../api/test/metrics:global_metrics_logger_and_exporter",
Jeremy Lecontea3e51df2022-11-10 14:42:532868 "../api/test/pclf:media_configuration",
2869 "../api/test/pclf:media_quality_test_params",
2870 "../api/test/pclf:peer_configurer",
Florent Castelli90b74382022-04-25 15:28:002871 "../api/video_codecs:video_codecs_api",
2872 "../call:simulated_network",
2873 "../modules/video_coding:webrtc_vp9",
Byoungchan Leef22c6b42022-09-20 23:56:402874 "../modules/video_coding/svc:scalability_mode_util",
Florent Castelli90b74382022-04-25 15:28:002875 "../rtc_base/containers:flat_map",
2876 "../system_wrappers:field_trial",
2877 "../test:field_trial",
2878 "../test:fileutils",
2879 "../test:test_main",
2880 "../test:test_support",
Florent Castelli90b74382022-04-25 15:28:002881 "../test/pc/e2e:network_quality_metrics_reporter",
Ilya Nikolaevskiy6eb1e702022-11-18 09:47:402882 "../test/pc/e2e/analyzer/video:default_video_quality_analyzer",
Florent Castelli90b74382022-04-25 15:28:002883 ]
2884
2885 if (is_ios) {
2886 deps += [ ":svc_tests_bundle_data" ]
2887 }
2888 }
kjellander142f8c52016-06-13 07:08:242889}