blob: 2b41243b74743d9d429f89911d9184c42efba4d8 [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",
83 "../media:rtc_media_base",
84 "../modules/rtp_rtcp:rtp_rtcp_format",
85 "../p2p:rtc_p2p",
86 "../rtc_base",
87 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:4688 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:1389 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:5690 "../rtc_base:location",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5191 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:4692 "../rtc_base:macromagic",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5193 "../rtc_base:socket",
Florent Castelli57aa81b2022-04-04 15:14:0294 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5195 "../rtc_base:threading",
96 "../rtc_base/containers:flat_set",
97 "../rtc_base/network:sent_packet",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5198 "../rtc_base/third_party/sigslot",
99 ]
100 absl_deps = [
101 "//third_party/abseil-cpp/absl/strings",
102 "//third_party/abseil-cpp/absl/types:optional",
103 ]
Harald Alvestrand03fad382022-03-10 07:30:31104}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51105
Harald Alvestrand03fad382022-03-10 07:30:31106rtc_source_set("channel_interface") {
107 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40108 sources = [ "channel_interface.h" ]
109 deps = [
110 ":rtp_transport_internal",
111 "../api:libjingle_peerconnection_api",
112 "../api:rtp_parameters",
113 "../media:rtc_media_base",
114 ]
115 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand03fad382022-03-10 07:30:31116}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51117
Harald Alvestrand03fad382022-03-10 07:30:31118rtc_source_set("dtls_srtp_transport") {
119 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51120 sources = [
121 "dtls_srtp_transport.cc",
122 "dtls_srtp_transport.h",
123 ]
124 deps = [
125 ":srtp_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28126 "../api:dtls_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51127 "../api:libjingle_peerconnection_api",
128 "../api:rtc_error",
129 "../p2p:rtc_p2p",
130 "../rtc_base",
Florent Castellif9c59842022-04-19 15:07:23131 "../rtc_base:buffer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51132 "../rtc_base:checks",
133 "../rtc_base:logging",
134 "../rtc_base/third_party/sigslot",
135 ]
136 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31137}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51138
Harald Alvestrand03fad382022-03-10 07:30:31139rtc_source_set("dtls_transport") {
140 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40141 sources = [
142 "dtls_transport.cc",
143 "dtls_transport.h",
144 ]
145 deps = [
146 ":ice_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28147 "../api:dtls_transport_interface",
148 "../api:ice_transport_interface",
Harald Alvestrandc5b9c952022-03-14 07:16:40149 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:26150 "../api:make_ref_counted",
Harald Alvestrandc5b9c952022-03-14 07:16:40151 "../api:scoped_refptr",
152 "../api:sequence_checker",
153 "../p2p:rtc_p2p",
154 "../rtc_base",
155 "../rtc_base:checks",
156 "../rtc_base:logging",
157 "../rtc_base:macromagic",
Harald Alvestrandc5b9c952022-03-14 07:16:40158 "../rtc_base:threading",
159 "../rtc_base/synchronization:mutex",
160 ]
161 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31162}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51163
Harald Alvestrand03fad382022-03-10 07:30:31164rtc_source_set("external_hmac") {
165 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28166 sources = [
167 "external_hmac.cc",
168 "external_hmac.h",
169 ]
Florent Castelli0af55ba2022-04-04 13:06:30170 deps = [
171 "../rtc_base:logging",
Florent Castellid119b9e2022-04-14 11:23:51172 "../rtc_base:zero_memory",
Florent Castelli0af55ba2022-04-04 13:06:30173 ]
Harald Alvestrand7ee138e2022-03-10 13:21:28174 if (rtc_build_libsrtp) {
175 deps += [ "//third_party/libsrtp" ]
176 }
Harald Alvestrand03fad382022-03-10 07:30:31177}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51178
Harald Alvestrand03fad382022-03-10 07:30:31179rtc_source_set("ice_transport") {
180 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28181 sources = [
182 "ice_transport.cc",
183 "ice_transport.h",
184 ]
185 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28186 "../api:ice_transport_interface",
Harald Alvestrand7ee138e2022-03-10 13:21:28187 "../api:libjingle_peerconnection_api",
188 "../api:sequence_checker",
189 "../rtc_base:checks",
190 "../rtc_base:macromagic",
191 "../rtc_base:threading",
192 ]
Harald Alvestrand03fad382022-03-10 07:30:31193}
Harald Alvestrande5a73f52022-03-28 12:06:34194
Harald Alvestrand03fad382022-03-10 07:30:31195rtc_source_set("jsep_transport") {
196 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51197 sources = [
198 "jsep_transport.cc",
199 "jsep_transport.h",
200 ]
201 deps = [
202 ":dtls_srtp_transport",
203 ":dtls_transport",
204 ":rtcp_mux_filter",
205 ":rtp_transport",
206 ":rtp_transport_internal",
207 ":sctp_data_channel_transport",
208 ":sctp_transport",
209 ":session_description",
210 ":srtp_filter",
211 ":srtp_transport",
212 ":transport_stats",
213 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:28214 "../api:candidate",
215 "../api:ice_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51216 "../api:libjingle_peerconnection_api",
217 "../api:rtc_error",
218 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:21219 "../api:sequence_checker",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51220 "../api/transport:datagram_transport_interface",
221 "../media:rtc_data_sctp_transport_internal",
222 "../p2p:rtc_p2p",
223 "../rtc_base",
224 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46225 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13226 "../rtc_base:event_tracer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51227 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46228 "../rtc_base:macromagic",
Florent Castelli57aa81b2022-04-04 15:14:02229 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51230 "../rtc_base:threading",
231 ]
232 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31233}
Harald Alvestrande5a73f52022-03-28 12:06:34234
Harald Alvestrand03fad382022-03-10 07:30:31235rtc_source_set("jsep_transport_collection") {
236 visibility = [ ":*" ]
Harald Alvestrande5a73f52022-03-28 12:06:34237 sources = [
238 "jsep_transport_collection.cc",
239 "jsep_transport_collection.h",
240 ]
241 deps = [
242 ":jsep_transport",
243 ":session_description",
244 "../api:libjingle_peerconnection_api",
245 "../api:sequence_checker",
246 "../p2p:rtc_p2p",
247 "../rtc_base:checks",
248 "../rtc_base:logging",
249 "../rtc_base:macromagic",
250 "../rtc_base/system:no_unique_address",
251 ]
252 absl_deps = []
Harald Alvestrand03fad382022-03-10 07:30:31253}
Harald Alvestrande5a73f52022-03-28 12:06:34254
Harald Alvestrand03fad382022-03-10 07:30:31255rtc_source_set("jsep_transport_controller") {
Harald Alvestrande5a73f52022-03-28 12:06:34256 visibility = [
257 ":*",
258 "../test/peer_scenario:*",
259 ]
260 sources = [
261 "jsep_transport_controller.cc",
262 "jsep_transport_controller.h",
263 ]
264 deps = [
265 ":channel",
266 ":dtls_srtp_transport",
267 ":dtls_transport",
268 ":jsep_transport",
269 ":jsep_transport_collection",
270 ":rtp_transport",
271 ":rtp_transport_internal",
272 ":sctp_transport",
273 ":session_description",
274 ":srtp_transport",
275 ":transport_stats",
276 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:28277 "../api:candidate",
278 "../api:dtls_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34279 "../api:ice_transport_factory",
Mirko Bonadeid151cc62022-06-20 06:35:28280 "../api:ice_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34281 "../api:libjingle_peerconnection_api",
282 "../api:rtc_error",
283 "../api:rtp_parameters",
284 "../api:scoped_refptr",
285 "../api:sequence_checker",
286 "../api/crypto:options",
287 "../api/rtc_event_log",
288 "../api/transport:datagram_transport_interface",
289 "../api/transport:enums",
290 "../api/transport:sctp_transport_factory_interface",
291 "../media:rtc_data_sctp_transport_internal",
292 "../p2p:rtc_p2p",
293 "../rtc_base",
294 "../rtc_base:callback_list",
295 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46296 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13297 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:56298 "../rtc_base:location",
Harald Alvestrande5a73f52022-03-28 12:06:34299 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46300 "../rtc_base:macromagic",
Harald Alvestrande5a73f52022-03-28 12:06:34301 "../rtc_base:threading",
302 "../rtc_base/third_party/sigslot",
303 ]
304 absl_deps = [
305 "//third_party/abseil-cpp/absl/algorithm:container",
306 "//third_party/abseil-cpp/absl/types:optional",
307 ]
Harald Alvestrand03fad382022-03-10 07:30:31308}
Harald Alvestrande5a73f52022-03-28 12:06:34309
Harald Alvestrand03fad382022-03-10 07:30:31310rtc_source_set("media_session") {
Harald Alvestrand66ddd5a2022-03-18 09:02:59311 visibility = [ "*" ] # Used by Chrome
Harald Alvestrande5a73f52022-03-28 12:06:34312 sources = [
313 "media_session.cc",
314 "media_session.h",
315 ]
316 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:34317 ":jsep_transport",
318 ":media_protocol_names",
319 ":rtp_media_utils",
320 ":session_description",
321 ":simulcast_description",
322 ":used_ids",
Jonas Orelande62c2f22022-03-29 09:04:48323 "../api:field_trials_view",
Harald Alvestrande5a73f52022-03-28 12:06:34324 "../api:libjingle_peerconnection_api",
325 "../api:rtp_parameters",
326 "../api:rtp_transceiver_direction",
Harald Alvestrande5a73f52022-03-28 12:06:34327 "../api/crypto:options",
328 "../media:rtc_data_sctp_transport_internal",
329 "../media:rtc_media_base",
330 "../media:rtc_sdp_video_format_utils",
331 "../p2p:rtc_p2p",
332 "../rtc_base",
333 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30334 "../rtc_base:logging",
Florent Castelli57aa81b2022-04-04 15:14:02335 "../rtc_base:stringutils",
Harald Alvestrand8101e7b2022-05-23 14:57:47336 "../rtc_base/memory:always_valid_pointer",
Harald Alvestrande5a73f52022-03-28 12:06:34337 "../rtc_base/third_party/base64",
338 ]
339 absl_deps = [
340 "//third_party/abseil-cpp/absl/algorithm:container",
341 "//third_party/abseil-cpp/absl/strings",
342 "//third_party/abseil-cpp/absl/types:optional",
343 ]
Harald Alvestrand03fad382022-03-10 07:30:31344}
Harald Alvestrande5a73f52022-03-28 12:06:34345
Harald Alvestrand03fad382022-03-10 07:30:31346rtc_source_set("media_stream_proxy") {
347 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51348 sources = [ "media_stream_proxy.h" ]
349 deps = [
350 ":proxy",
351 "../api:media_stream_interface",
352 ]
Harald Alvestrand03fad382022-03-10 07:30:31353}
Harald Alvestrande5a73f52022-03-28 12:06:34354
Harald Alvestrand03fad382022-03-10 07:30:31355rtc_source_set("media_stream_track_proxy") {
356 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51357 sources = [ "media_stream_track_proxy.h" ]
358 deps = [
359 ":proxy",
360 "../api:media_stream_interface",
361 ]
Harald Alvestrand03fad382022-03-10 07:30:31362}
Harald Alvestrande5a73f52022-03-28 12:06:34363
Harald Alvestrand03fad382022-03-10 07:30:31364rtc_source_set("peer_connection_factory_proxy") {
365 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51366 sources = [ "peer_connection_factory_proxy.h" ]
367 deps = [
368 ":proxy",
369 "../api:libjingle_peerconnection_api",
370 ]
Harald Alvestrand03fad382022-03-10 07:30:31371}
Harald Alvestrande5a73f52022-03-28 12:06:34372
Harald Alvestrand03fad382022-03-10 07:30:31373rtc_source_set("peer_connection_proxy") {
374 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51375 sources = [ "peer_connection_proxy.h" ]
376 deps = [
377 ":proxy",
378 "../api:libjingle_peerconnection_api",
379 ]
Harald Alvestrand03fad382022-03-10 07:30:31380}
Harald Alvestrande5a73f52022-03-28 12:06:34381
Harald Alvestrand03fad382022-03-10 07:30:31382rtc_source_set("rtcp_mux_filter") {
383 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28384 sources = [
385 "rtcp_mux_filter.cc",
386 "rtcp_mux_filter.h",
387 ]
388 deps = [
389 ":session_description",
390 "../rtc_base:logging",
391 ]
Harald Alvestrand03fad382022-03-10 07:30:31392}
Harald Alvestrande5a73f52022-03-28 12:06:34393
Harald Alvestrand03fad382022-03-10 07:30:31394rtc_source_set("rtp_media_utils") {
395 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28396 sources = [
397 "rtp_media_utils.cc",
398 "rtp_media_utils.h",
399 ]
400 deps = [
401 "../api:rtp_transceiver_direction",
402 "../rtc_base:checks",
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_receiver_proxy") {
407 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51408 sources = [ "rtp_receiver_proxy.h" ]
409 deps = [
410 ":proxy",
411 "../api:libjingle_peerconnection_api",
412 ]
Harald Alvestrand03fad382022-03-10 07:30:31413}
Harald Alvestrande5a73f52022-03-28 12:06:34414
Harald Alvestrand03fad382022-03-10 07:30:31415rtc_source_set("rtp_sender_proxy") {
416 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51417 sources = [ "rtp_sender_proxy.h" ]
418 deps = [
419 ":proxy",
420 "../api:libjingle_peerconnection_api",
421 ]
Harald Alvestrand03fad382022-03-10 07:30:31422}
Harald Alvestrande5a73f52022-03-28 12:06:34423
Harald Alvestrand03fad382022-03-10 07:30:31424rtc_source_set("rtp_transport") {
425 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59426 sources = [
427 "rtp_transport.cc",
428 "rtp_transport.h",
429 ]
430 deps = [
431 ":rtp_transport_internal",
432 ":session_description",
433 "../api:array_view",
434 "../api/units:timestamp",
435 "../call:rtp_receiver",
436 "../call:video_stream_api",
437 "../media:rtc_media_base",
438 "../modules/rtp_rtcp:rtp_rtcp_format",
439 "../p2p:rtc_p2p",
440 "../rtc_base",
441 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46442 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13443 "../rtc_base:event_tracer",
Harald Alvestrand4bac0bb2022-03-15 13:21:59444 "../rtc_base:logging",
Harald Alvestrand4bac0bb2022-03-15 13:21:59445 "../rtc_base:socket",
446 "../rtc_base/network:sent_packet",
Harald Alvestrand4bac0bb2022-03-15 13:21:59447 ]
448 absl_deps = [
449 "//third_party/abseil-cpp/absl/strings",
450 "//third_party/abseil-cpp/absl/types:optional",
451 ]
Harald Alvestrand03fad382022-03-10 07:30:31452}
Harald Alvestrande5a73f52022-03-28 12:06:34453
Harald Alvestrand03fad382022-03-10 07:30:31454rtc_source_set("rtp_transport_internal") {
Harald Alvestrand2ea4d372022-03-10 22:15:42455 visibility = [
456 ":*",
457 "../test/peer_scenario",
458 ]
459 sources = [ "rtp_transport_internal.h" ]
460 deps = [
461 ":session_description",
462 "../call:rtp_receiver",
463 "../p2p:rtc_p2p",
464 "../rtc_base",
465 "../rtc_base/third_party/sigslot",
466 ]
Harald Alvestrand03fad382022-03-10 07:30:31467}
Harald Alvestrande5a73f52022-03-28 12:06:34468
Harald Alvestrand03fad382022-03-10 07:30:31469rtc_source_set("sctp_data_channel_transport") {
470 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42471 sources = [
472 "sctp_data_channel_transport.cc",
473 "sctp_data_channel_transport.h",
474 ]
475 deps = [
476 "../api:rtc_error",
477 "../api/transport:datagram_transport_interface",
478 "../media:rtc_data_sctp_transport_internal",
479 "../media:rtc_media_base",
Florent Castellied4aadc2022-04-19 15:40:46480 "../rtc_base:copy_on_write_buffer",
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",
497 "../media:rtc_data_sctp_transport_internal",
498 "../p2p:rtc_p2p",
499 "../rtc_base",
500 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:56501 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:30502 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46503 "../rtc_base:macromagic",
Harald Alvestrand7e539922022-03-17 06:26:03504 "../rtc_base:threading",
505 "../rtc_base/third_party/sigslot",
506 ]
507 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31508}
Harald Alvestrande5a73f52022-03-28 12:06:34509
Harald Alvestrand03fad382022-03-10 07:30:31510rtc_source_set("sctp_utils") {
Harald Alvestrand2ea4d372022-03-10 22:15:42511 visibility = [
512 ":*",
Harald Alvestrandbc8c0952022-03-15 06:53:07513 "../test/fuzzers:*",
Harald Alvestrand2ea4d372022-03-10 22:15:42514 ]
515 sources = [
516 "sctp_utils.cc",
517 "sctp_utils.h",
518 ]
519 deps = [
520 "../api:libjingle_peerconnection_api",
521 "../api:priority",
522 "../api/transport:datagram_transport_interface",
523 "../media:rtc_media_base",
Florent Castelliceb7b362022-04-19 15:35:04524 "../rtc_base:byte_buffer",
Florent Castellied4aadc2022-04-19 15:40:46525 "../rtc_base:copy_on_write_buffer",
Florent Castelli0af55ba2022-04-04 13:06:30526 "../rtc_base:logging",
Harald Alvestrand2ea4d372022-03-10 22:15:42527 ]
528 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31529}
530rtc_source_set("srtp_filter") {
531 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42532 sources = [
533 "srtp_filter.cc",
534 "srtp_filter.h",
535 ]
536 deps = [
537 ":session_description",
538 "../api:array_view",
539 "../api:libjingle_peerconnection_api",
540 "../api:sequence_checker",
541 "../rtc_base",
Florent Castellif9c59842022-04-19 15:07:23542 "../rtc_base:buffer",
Harald Alvestrand2ea4d372022-03-10 22:15:42543 "../rtc_base:logging",
Florent Castellid119b9e2022-04-14 11:23:51544 "../rtc_base:zero_memory",
Harald Alvestrand2ea4d372022-03-10 22:15:42545 "../rtc_base/third_party/base64",
546 ]
547 absl_deps = [
548 "//third_party/abseil-cpp/absl/strings",
549 "//third_party/abseil-cpp/absl/types:optional",
550 ]
Harald Alvestrand03fad382022-03-10 07:30:31551}
Harald Alvestrande5a73f52022-03-28 12:06:34552
Harald Alvestrand03fad382022-03-10 07:30:31553rtc_source_set("srtp_session") {
554 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59555 sources = [
556 "srtp_session.cc",
557 "srtp_session.h",
558 ]
559 deps = [
560 ":external_hmac",
561 "../api:array_view",
Jonas Orelande62c2f22022-03-29 09:04:48562 "../api:field_trials_view",
Harald Alvestrand4bac0bb2022-03-15 13:21:59563 "../api:scoped_refptr",
564 "../api:sequence_checker",
Harald Alvestrand4bac0bb2022-03-15 13:21:59565 "../modules/rtp_rtcp:rtp_rtcp_format",
566 "../rtc_base",
Florent Castellia876a922022-04-19 15:18:36567 "../rtc_base:byte_order",
Harald Alvestrand4bac0bb2022-03-15 13:21:59568 "../rtc_base:checks",
569 "../rtc_base:logging",
Niels Möller2d6c4d02022-04-05 14:14:21570 "../rtc_base:macromagic",
Florent Castelli57aa81b2022-04-04 15:14:02571 "../rtc_base:stringutils",
Florent Castellidd837e22022-04-04 15:16:15572 "../rtc_base:timeutils",
Harald Alvestrand4bac0bb2022-03-15 13:21:59573 "../rtc_base/synchronization:mutex",
574 "../system_wrappers:metrics",
575 ]
Ali Tofighfd6a4d62022-03-31 08:36:48576 absl_deps = [
577 "//third_party/abseil-cpp/absl/base:core_headers",
578 "//third_party/abseil-cpp/absl/strings:strings",
579 ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59580 if (rtc_build_libsrtp) {
581 deps += [ "//third_party/libsrtp" ]
582 }
Harald Alvestrand03fad382022-03-10 07:30:31583}
584rtc_source_set("srtp_transport") {
585 visibility = [ ":*" ]
Harald Alvestrand7e539922022-03-17 06:26:03586 sources = [
587 "srtp_transport.cc",
588 "srtp_transport.h",
589 ]
590 deps = [
591 ":rtp_transport",
592 ":srtp_session",
Jonas Orelande62c2f22022-03-29 09:04:48593 "../api:field_trials_view",
Harald Alvestrand7e539922022-03-17 06:26:03594 "../api:libjingle_peerconnection_api",
595 "../api:rtc_error",
Harald Alvestrand7e539922022-03-17 06:26:03596 "../media:rtc_media_base",
597 "../modules/rtp_rtcp:rtp_rtcp_format",
598 "../p2p:rtc_p2p",
599 "../rtc_base",
Florent Castellif9c59842022-04-19 15:07:23600 "../rtc_base:buffer",
Harald Alvestrand7e539922022-03-17 06:26:03601 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46602 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13603 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30604 "../rtc_base:logging",
Florent Castellie10a9f62022-04-04 15:04:37605 "../rtc_base:safe_conversions",
Florent Castellid119b9e2022-04-14 11:23:51606 "../rtc_base:zero_memory",
Harald Alvestrand7e539922022-03-17 06:26:03607 "../rtc_base/third_party/base64",
Harald Alvestrand7e539922022-03-17 06:26:03608 ]
609 absl_deps = [
610 "//third_party/abseil-cpp/absl/strings",
611 "//third_party/abseil-cpp/absl/types:optional",
612 ]
Harald Alvestrand03fad382022-03-10 07:30:31613}
Harald Alvestrande5a73f52022-03-28 12:06:34614
Harald Alvestrand03fad382022-03-10 07:30:31615rtc_source_set("transport_stats") {
616 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42617 sources = [
618 "transport_stats.cc",
619 "transport_stats.h",
620 ]
621 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28622 "../api:dtls_transport_interface",
Harald Alvestrand2ea4d372022-03-10 22:15:42623 "../api:libjingle_peerconnection_api",
624 "../p2p:rtc_p2p",
625 "../rtc_base",
626 ]
Harald Alvestrand03fad382022-03-10 07:30:31627}
Harald Alvestrande5a73f52022-03-28 12:06:34628
Harald Alvestrand03fad382022-03-10 07:30:31629rtc_source_set("used_ids") {
630 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40631 sources = [ "used_ids.h" ]
632 deps = [
633 "../api:rtp_parameters",
634 "../media:rtc_media_base",
635 "../rtc_base:checks",
636 "../rtc_base:logging",
637 ]
Harald Alvestrand03fad382022-03-10 07:30:31638}
Harald Alvestrande5a73f52022-03-28 12:06:34639
Harald Alvestrand03fad382022-03-10 07:30:31640rtc_source_set("video_track_source_proxy") {
Harald Alvestrande5a73f52022-03-28 12:06:34641 visibility = [ "*" ] # Used by Chrome
642 sources = [
643 "video_track_source_proxy.cc",
644 "video_track_source_proxy.h",
645 ]
646 deps = [
647 ":proxy",
648 "../api:libjingle_peerconnection_api",
649 "../api:media_stream_interface",
650 "../api:scoped_refptr",
651 "../api:video_track_source_constraints",
652 "../api/video:recordable_encoded_frame",
653 "../api/video:video_frame",
654 "../rtc_base:threading",
655 ]
656 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31657}
658
Harald Alvestrandc0a95862021-06-09 09:33:56659rtc_source_set("session_description") {
Harald Alvestrande79f85c2022-02-07 08:39:52660 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:02661 visibility = [ "*" ] # Used by Chrome and others
662
Harald Alvestrandc0a95862021-06-09 09:33:56663 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48664 "session_description.cc",
665 "session_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56666 ]
667 deps = [
668 ":media_protocol_names",
669 ":simulcast_description",
670 "../api:libjingle_peerconnection_api",
671 "../api:rtp_parameters",
672 "../api:rtp_transceiver_direction",
673 "../media:rtc_media_base",
674 "../p2p:rtc_p2p",
675 "../rtc_base:checks",
676 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:59677 "../rtc_base:stringutils",
Harald Alvestrandc0a95862021-06-09 09:33:56678 "../rtc_base/system:rtc_export",
679 ]
680 absl_deps = [
681 "//third_party/abseil-cpp/absl/algorithm:container",
682 "//third_party/abseil-cpp/absl/memory:memory",
Niels Möllerf1d822b2022-06-07 11:58:27683 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc0a95862021-06-09 09:33:56684 ]
685}
686
687rtc_source_set("simulcast_description") {
688 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48689 "simulcast_description.cc",
690 "simulcast_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56691 ]
692 deps = [
693 "../rtc_base:checks",
694 "../rtc_base:socket_address",
695 "../rtc_base/system:rtc_export",
696 ]
Niels Möller2d3186e2022-01-24 13:15:03697 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrandc0a95862021-06-09 09:33:56698}
699
zhihuang38ede132017-06-15 19:52:32700rtc_source_set("rtc_pc") {
Harald Alvestrande47493b2022-02-15 12:45:02701 if (build_with_chromium) {
702 visibility = [ "*" ]
703 }
Anders Carlsson45340ca2019-01-14 13:23:23704 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Harald Alvestrand8df19572022-03-29 07:53:50705 deps = [ "../media:rtc_audio_video" ]
zhihuang38ede132017-06-15 19:52:32706}
707
Mirko Bonadei86d053c2019-10-17 19:32:04708rtc_library("media_protocol_names") {
Harald Alvestrande47493b2022-02-15 12:45:02709 visibility = [ ":*" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16710 sources = [
711 "media_protocol_names.cc",
712 "media_protocol_names.h",
713 ]
Niels Möllerd4aa3a32021-09-29 11:23:01714 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16715}
716
Harald Alvestrand15ad4ed2022-02-09 05:52:11717rtc_source_set("peerconnection") {
Harald Alvestrande47493b2022-02-15 12:45:02718 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
719 visibility = [ "*" ] # Used by Chromium and others
ossu7bb87ee2017-01-23 12:56:25720 cflags = []
Harald Alvestrand15ad4ed2022-02-09 05:52:11721 sources = []
ossu7bb87ee2017-01-23 12:56:25722
ossu7bb87ee2017-01-23 12:56:25723 deps = [
Harald Alvestrand7165f482020-10-12 07:37:31724 ":audio_rtp_receiver",
725 ":audio_track",
Harald Alvestranda39689c2020-10-15 08:34:31726 ":connection_context",
Harald Alvestrand48e1b292022-01-31 10:58:51727 ":data_channel_controller",
728 ":data_channel_utils",
Harald Alvestrand445e6b02020-09-29 14:21:47729 ":dtmf_sender",
Harald Alvestrand48e1b292022-01-31 10:58:51730 ":ice_server_parsing",
Harald Alvestrand7165f482020-10-12 07:37:31731 ":jitter_buffer_delay",
Harald Alvestrandae940a52022-02-01 13:37:08732 ":jsep_ice_candidate",
733 ":jsep_session_description",
Henrik Boströmf7859892022-07-04 12:36:37734 ":legacy_stats_collector",
735 ":legacy_stats_collector_interface",
Harald Alvestrandae940a52022-02-01 13:37:08736 ":local_audio_source",
Harald Alvestrand1f7eab62020-10-18 16:51:47737 ":media_protocol_names",
Harald Alvestrand445e6b02020-09-29 14:21:47738 ":media_stream",
Harald Alvestrand48e1b292022-01-31 10:58:51739 ":media_stream_observer",
Harald Alvestrandae940a52022-02-01 13:37:08740 ":peer_connection",
Harald Alvestrand48e1b292022-01-31 10:58:51741 ":peer_connection_factory",
742 ":peer_connection_internal",
Harald Alvestrand1090e442020-10-05 07:01:09743 ":peer_connection_message_handler",
Markus Handella1b82012021-05-26 16:56:30744 ":proxy",
Harald Alvestrand7165f482020-10-12 07:37:31745 ":remote_audio_source",
Harald Alvestrand48e1b292022-01-31 10:58:51746 ":rtc_stats_collector",
Harald Alvestrandae940a52022-02-01 13:37:08747 ":rtc_stats_traversal",
Harald Alvestrandbb02db22020-10-08 16:35:18748 ":rtp_parameters_conversion",
Harald Alvestrand445e6b02020-09-29 14:21:47749 ":rtp_receiver",
750 ":rtp_sender",
Harald Alvestrandbb02db22020-10-08 16:35:18751 ":rtp_transceiver",
Harald Alvestrande15fb152020-10-19 13:28:05752 ":rtp_transmission_manager",
Harald Alvestrand48e1b292022-01-31 10:58:51753 ":sctp_data_channel",
754 ":sdp_offer_answer",
Harald Alvestrandae940a52022-02-01 13:37:08755 ":sdp_serializer",
Harald Alvestrandf01bd6c2020-10-23 13:30:46756 ":sdp_state_provider",
Harald Alvestrandae940a52022-02-01 13:37:08757 ":sdp_utils",
Harald Alvestrandc0a95862021-06-09 09:33:56758 ":session_description",
759 ":simulcast_description",
Harald Alvestrandae940a52022-02-01 13:37:08760 ":stream_collection",
761 ":track_media_info_map",
Harald Alvestrande15fb152020-10-19 13:28:05762 ":transceiver_list",
Harald Alvestrand44d0dff2020-10-09 05:43:53763 ":usage_pattern",
Harald Alvestrand7165f482020-10-12 07:37:31764 ":video_rtp_receiver",
765 ":video_track",
Harald Alvestrand445e6b02020-09-29 14:21:47766 ":video_track_source",
Harald Alvestrandae940a52022-02-01 13:37:08767 ":webrtc_sdp",
768 ":webrtc_session_description_factory",
Yves Gerey3e707812018-11-28 15:47:49769 "../api:array_view",
Harald Alvestrand0ccfbd22021-04-08 07:25:04770 "../api:async_dns_resolver",
Yves Gerey3e707812018-11-28 15:47:49771 "../api:audio_options_api",
ossu7bb87ee2017-01-23 12:56:25772 "../api:call_api",
Harald Alvestrandffd5dc72020-10-20 15:35:31773 "../api:callfactory_api",
Ying Wang0dd1b0a2018-02-20 11:50:27774 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:48775 "../api:field_trials_view",
Marina Cioceae77912b2020-02-27 15:16:55776 "../api:frame_transformer_interface",
Qingsi Wang25ec8882019-11-15 20:33:05777 "../api:ice_transport_factory",
Harald Alvestrand1f7eab62020-10-18 16:51:47778 "../api:libjingle_logging_api",
Mirko Bonadeie51f7852017-12-06 10:23:19779 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:41780 "../api:media_stream_interface",
Ying Wang0810a7c2019-04-10 11:48:24781 "../api:network_state_predictor_api",
Harald Alvestrand1f7eab62020-10-18 16:51:47782 "../api:packet_socket_factory",
Harald Alvestrandfd5ae7f2020-05-16 06:37:49783 "../api:priority",
Mirko Bonadeifcfeefe2019-09-10 08:51:23784 "../api:rtc_error",
Niels Möllerd8b9ed72019-05-08 11:53:51785 "../api:rtc_event_log_output_file",
ossu7bb87ee2017-01-23 12:56:25786 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:28787 "../api:rtp_parameters",
Harald Alvestrand1f7eab62020-10-18 16:51:47788 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:48789 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24790 "../api:sequence_checker",
Harald Alvestrand1f7eab62020-10-18 16:51:47791 "../api/adaptation:resource_adaptation_api",
Harald Alvestrand5761e7b2021-01-29 14:45:08792 "../api/audio_codecs:audio_codecs_api",
Mirko Bonadeieaaaf412019-09-13 12:42:15793 "../api/crypto:frame_decryptor_interface",
Harald Alvestrand1f7eab62020-10-18 16:51:47794 "../api/crypto:options",
Harald Alvestrandffd5dc72020-10-20 15:35:31795 "../api/neteq:neteq_api",
Danil Chapovalov83bbe912019-08-07 10:24:53796 "../api/rtc_event_log",
Danil Chapovalov9435c6102019-04-01 08:33:16797 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:45798 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand1f7eab62020-10-18 16:51:47799 "../api/transport:bitrate_settings",
Niels Möller65f17ca2019-09-12 11:59:36800 "../api/transport:datagram_transport_interface",
Harald Alvestrand1f7eab62020-10-18 16:51:47801 "../api/transport:enums",
Erik Språng662678d2019-11-15 16:18:52802 "../api/transport:field_trial_based_config",
Harald Alvestrandffd5dc72020-10-20 15:35:31803 "../api/transport:network_control",
804 "../api/transport:sctp_transport_factory_interface",
Elad Alon9cfdb202019-08-13 08:48:48805 "../api/units:data_rate",
Jonas Orelanda3aa9bd2019-04-17 05:38:40806 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrand1f7eab62020-10-18 16:51:47807 "../api/video:video_bitrate_allocator_factory",
808 "../api/video:video_codec_constants",
Niels Möllerc6ce9c52018-05-11 09:15:30809 "../api/video:video_frame",
Chen Xing5d24b162019-06-10 10:59:38810 "../api/video:video_rtp_headers",
ilnikd60d06a2017-04-05 10:02:20811 "../api/video_codecs:video_codecs_api",
zhihuang38ede132017-06-15 19:52:32812 "../call:call_interfaces",
Vojin Ilic504fc192021-05-31 12:02:28813 "../call:rtp_interfaces",
814 "../call:rtp_sender",
Artem Titov94b57c02019-03-21 12:35:10815 "../common_video",
Qingsi Wang93a84392018-01-31 01:13:09816 "../logging:ice_log",
Florent Castellia80c3e52021-04-15 13:02:56817 "../media:rtc_data_sctp_transport_internal",
zhihuang38ede132017-06-15 19:52:32818 "../media:rtc_media_base",
Harald Alvestrand1f7eab62020-10-18 16:51:47819 "../media:rtc_media_config",
Harald Alvestrand5761e7b2021-01-29 14:45:08820 "../modules/audio_processing:audio_processing_statistics",
Amit Hilbuchf4770402019-04-08 21:11:57821 "../modules/rtp_rtcp:rtp_rtcp_format",
mbonadei7d9a55b2017-06-01 20:01:48822 "../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 12:35:10823 "../rtc_base",
Mirko Bonadei3d259352020-10-23 10:04:40824 "../rtc_base:callback_list",
Patrik Höglunda8005cf2017-12-13 15:05:42825 "../rtc_base:checks",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01826 "../rtc_base:ip_address",
827 "../rtc_base:network_constants",
Henrik Boströma3728d32019-10-28 11:09:49828 "../rtc_base:rtc_operations_chain",
Ruslan Burakov1e2d4362019-04-08 09:38:46829 "../rtc_base:safe_minmax",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01830 "../rtc_base:socket_address",
831 "../rtc_base:threading",
Henrik Boströma3728d32019-10-28 11:09:49832 "../rtc_base:weak_ptr",
Jonas Olsson0182a032019-07-09 10:31:20833 "../rtc_base/experiments:field_trial_parser",
Harald Alvestrand1f7eab62020-10-18 16:51:47834 "../rtc_base/network:sent_packet",
Markus Handell6fcd0f82020-07-07 17:08:53835 "../rtc_base/synchronization:mutex",
Niels Möllere8e4dc42019-06-11 12:04:16836 "../rtc_base/system:file_wrapper",
Mirko Bonadei20e4c802020-11-23 10:07:42837 "../rtc_base/system:no_unique_address",
Mirko Bonadei3b56ee72018-10-15 15:15:12838 "../rtc_base/system:rtc_export",
Florent Castellidcb9ffc2021-06-29 12:58:23839 "../rtc_base/system:unused",
Artem Titova76af0c2018-07-23 15:38:12840 "../rtc_base/third_party/base64",
Artem Titove41c4332018-07-25 13:04:28841 "../rtc_base/third_party/sigslot",
ossu7bb87ee2017-01-23 12:56:25842 "../stats",
Mirko Bonadeia498ae82017-12-06 08:17:14843 "../system_wrappers",
Mirko Bonadei17f48782018-09-28 06:51:10844 "../system_wrappers:field_trial",
845 "../system_wrappers:metrics",
Mirko Bonadei2dcf3482020-06-05 12:30:41846 ]
847 absl_deps = [
Steve Anton64b626b2019-01-29 01:25:26848 "//third_party/abseil-cpp/absl/algorithm:container",
Niels Möller039743e2018-10-23 08:07:25849 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov66cadcc2018-06-19 14:47:43850 "//third_party/abseil-cpp/absl/types:optional",
ossu7bb87ee2017-01-23 12:56:25851 ]
zhihuang38ede132017-06-15 19:52:32852}
853
Harald Alvestrandad3b3232022-02-07 02:59:36854rtc_library("sctp_data_channel") {
Harald Alvestrande47493b2022-02-15 12:45:02855 visibility = [ ":*" ]
Harald Alvestrandad3b3232022-02-07 02:59:36856 sources = [
857 "sctp_data_channel.cc",
858 "sctp_data_channel.h",
859 ]
860 deps = [
861 ":data_channel_utils",
862 ":proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:42863 ":sctp_utils",
Harald Alvestrandad3b3232022-02-07 02:59:36864 "../api:libjingle_peerconnection_api",
865 "../api:priority",
866 "../api:rtc_error",
867 "../api:scoped_refptr",
868 "../api/transport:datagram_transport_interface",
869 "../media:rtc_data_sctp_transport_internal",
870 "../media:rtc_media_base",
871 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46872 "../rtc_base:copy_on_write_buffer",
Florent Castelliaa6d05d2022-04-14 11:13:56873 "../rtc_base:location",
Harald Alvestrandad3b3232022-02-07 02:59:36874 "../rtc_base:logging",
875 "../rtc_base:macromagic",
Harald Alvestrandad3b3232022-02-07 02:59:36876 "../rtc_base:rtc_base",
Harald Alvestrandad3b3232022-02-07 02:59:36877 "../rtc_base:threading",
878 "../rtc_base:threading",
879 "../rtc_base/system:unused",
Harald Alvestrandad3b3232022-02-07 02:59:36880 "../rtc_base/third_party/sigslot:sigslot",
881 ]
Danil Chapovalova30439b2022-07-07 08:08:49882 absl_deps = [
883 "//third_party/abseil-cpp/absl/cleanup",
884 "//third_party/abseil-cpp/absl/types:optional",
885 ]
Harald Alvestrandad3b3232022-02-07 02:59:36886}
887
888rtc_library("data_channel_utils") {
Harald Alvestrande47493b2022-02-15 12:45:02889 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandad3b3232022-02-07 02:59:36890 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:52891
Harald Alvestrandad3b3232022-02-07 02:59:36892 sources = [
893 "data_channel_utils.cc",
894 "data_channel_utils.h",
895 ]
896 deps = [
897 "../api:libjingle_peerconnection_api",
898 "../media:rtc_media_base",
899 "../rtc_base:checks",
900 ]
901}
902
Harald Alvestranda39689c2020-10-15 08:34:31903rtc_library("connection_context") {
Harald Alvestrande47493b2022-02-15 12:45:02904 visibility = [ ":*" ]
Harald Alvestranda39689c2020-10-15 08:34:31905 sources = [
906 "connection_context.cc",
907 "connection_context.h",
908 ]
909 deps = [
Harald Alvestrandffd5dc72020-10-20 15:35:31910 "../api:callfactory_api",
Jonas Orelande62c2f22022-03-29 09:04:48911 "../api:field_trials_view",
Harald Alvestranda39689c2020-10-15 08:34:31912 "../api:libjingle_peerconnection_api",
913 "../api:media_stream_interface",
Tommi86ee89f2021-04-20 14:58:01914 "../api:refcountedbase",
Harald Alvestranda39689c2020-10-15 08:34:31915 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24916 "../api:sequence_checker",
Harald Alvestrandffd5dc72020-10-20 15:35:31917 "../api/neteq:neteq_api",
Harald Alvestranda39689c2020-10-15 08:34:31918 "../api/transport:field_trial_based_config",
Harald Alvestrandffd5dc72020-10-20 15:35:31919 "../api/transport:sctp_transport_factory_interface",
Florent Castellia80c3e52021-04-15 13:02:56920 "../media:rtc_data_sctp_transport_factory",
Harald Alvestranda39689c2020-10-15 08:34:31921 "../media:rtc_media_base",
922 "../p2p:rtc_p2p",
923 "../rtc_base",
Harald Alvestrandffd5dc72020-10-20 15:35:31924 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:46925 "../rtc_base:macromagic",
Harald Alvestrandc24a2182022-02-23 13:44:59926 "../rtc_base:socket_factory",
927 "../rtc_base:socket_server",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01928 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15929 "../rtc_base:timeutils",
Harald Alvestrand00579e82022-05-03 11:37:34930 "../rtc_base/memory:always_valid_pointer",
Harald Alvestranda39689c2020-10-15 08:34:31931 ]
932}
933
Harald Alvestrand48e1b292022-01-31 10:58:51934rtc_source_set("data_channel_controller") {
935 visibility = [ ":*" ]
Harald Alvestrand5b84f382022-02-08 10:49:09936 sources = [
937 "data_channel_controller.cc",
938 "data_channel_controller.h",
939 ]
940 deps = [
941 ":data_channel_utils",
942 ":peer_connection_internal",
Harald Alvestrand5b84f382022-02-08 10:49:09943 ":sctp_data_channel",
Harald Alvestrand2ea4d372022-03-10 22:15:42944 ":sctp_utils",
Harald Alvestrand5b84f382022-02-08 10:49:09945 "../api:libjingle_peerconnection_api",
946 "../api:rtc_error",
947 "../api:scoped_refptr",
948 "../api:sequence_checker",
949 "../api/transport:datagram_transport_interface",
950 "../media:rtc_media_base",
Harald Alvestrand09bdd952022-04-05 13:00:54951 "../rtc_base",
Harald Alvestrand5b84f382022-02-08 10:49:09952 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46953 "../rtc_base:copy_on_write_buffer",
Florent Castelliaa6d05d2022-04-14 11:13:56954 "../rtc_base:location",
Harald Alvestrand5b84f382022-02-08 10:49:09955 "../rtc_base:logging",
956 "../rtc_base:macromagic",
Harald Alvestrand5b84f382022-02-08 10:49:09957 "../rtc_base:threading",
958 "../rtc_base:weak_ptr",
Harald Alvestrand09bdd952022-04-05 13:00:54959 "../rtc_base/third_party/sigslot",
Harald Alvestrand5b84f382022-02-08 10:49:09960 ]
961 absl_deps = [
962 "//third_party/abseil-cpp/absl/algorithm:container",
963 "//third_party/abseil-cpp/absl/types:optional",
964 ]
Harald Alvestrand48e1b292022-01-31 10:58:51965}
Harald Alvestrand15ad4ed2022-02-09 05:52:11966
Harald Alvestrand8f429922022-05-04 10:32:30967rtc_source_set("peer_connection_sdp_methods") {
968 visibility = [ ":*" ]
969 sources = [ "peer_connection_sdp_methods.h" ]
970 deps = [
971 ":jsep_transport_controller",
972 ":peer_connection_message_handler",
973 ":sctp_data_channel",
974 ":usage_pattern",
975 "../api:libjingle_peerconnection_api",
976 "../call:call_interfaces",
977 ]
978}
979
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 Alvestrand8f429922022-05-04 10:32:30986 ":peer_connection_sdp_methods",
Harald Alvestrand67a68d52022-02-07 05:07:03987 ":rtp_transceiver",
988 ":rtp_transmission_manager",
989 ":sctp_data_channel",
990 "../api:libjingle_peerconnection_api",
991 "../call:call_interfaces",
992 ]
Harald Alvestrandae940a52022-02-01 13:37:08993}
Harald Alvestrand8f429922022-05-04 10:32:30994
Harald Alvestrandae940a52022-02-01 13:37:08995rtc_source_set("rtc_stats_collector") {
Harald Alvestrandc1e8aeb2022-03-31 19:53:50996 visibility = [
997 ":*",
998 "../api:*",
999 ]
Harald Alvestrandfd6c7442022-02-08 07:52:101000 sources = [
1001 "rtc_stats_collector.cc",
1002 "rtc_stats_collector.h",
1003 ]
1004 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511005 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401006 ":channel_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:101007 ":data_channel_utils",
1008 ":peer_connection_internal",
Harald Alvestrandfd6c7442022-02-08 07:52:101009 ":rtc_stats_traversal",
1010 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511011 ":rtp_receiver_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:101012 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511013 ":rtp_sender_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:101014 ":rtp_transceiver",
1015 ":sctp_data_channel",
1016 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:421017 ":transport_stats",
Harald Alvestrandfd6c7442022-02-08 07:52:101018 ":webrtc_sdp",
1019 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:281020 "../api:candidate",
1021 "../api:dtls_transport_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:101022 "../api:libjingle_peerconnection_api",
1023 "../api:media_stream_interface",
1024 "../api:rtc_stats_api",
1025 "../api:rtp_parameters",
1026 "../api:scoped_refptr",
1027 "../api:sequence_checker",
1028 "../api/task_queue:task_queue",
Harald Alvestrandc24a2182022-02-23 13:44:591029 "../api/units:time_delta",
Harald Alvestrandfd6c7442022-02-08 07:52:101030 "../api/video:video_rtp_headers",
1031 "../call:call_interfaces",
1032 "../common_video:common_video",
1033 "../media:rtc_media_base",
1034 "../modules/audio_processing:audio_processing_statistics",
1035 "../modules/rtp_rtcp:rtp_rtcp_format",
1036 "../p2p:rtc_p2p",
1037 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131038 "../rtc_base:event_tracer",
Harald Alvestrandfd6c7442022-02-08 07:52:101039 "../rtc_base:ip_address",
Florent Castelliaa6d05d2022-04-14 11:13:561040 "../rtc_base:location",
Harald Alvestrandfd6c7442022-02-08 07:52:101041 "../rtc_base:logging",
1042 "../rtc_base:network_constants",
1043 "../rtc_base:refcount",
1044 "../rtc_base:rtc_base",
Harald Alvestrandfd6c7442022-02-08 07:52:101045 "../rtc_base:rtc_event",
1046 "../rtc_base:socket_address",
1047 "../rtc_base:stringutils",
1048 "../rtc_base:threading",
1049 "../rtc_base:timeutils",
1050 "../rtc_base/third_party/sigslot:sigslot",
1051 ]
Harald Alvestrandc24a2182022-02-23 13:44:591052 absl_deps = [
Danil Chapovalova30439b2022-07-07 08:08:491053 "//third_party/abseil-cpp/absl/functional:bind_front",
Harald Alvestrandc24a2182022-02-23 13:44:591054 "//third_party/abseil-cpp/absl/strings",
1055 "//third_party/abseil-cpp/absl/types:optional",
1056 ]
Harald Alvestrandae940a52022-02-01 13:37:081057}
Harald Alvestrandfd6c7442022-02-08 07:52:101058
1059rtc_source_set("rtc_stats_traversal") {
1060 visibility = [ ":*" ]
1061 sources = [
1062 "rtc_stats_traversal.cc",
1063 "rtc_stats_traversal.h",
1064 ]
1065 deps = [
1066 "../api:rtc_stats_api",
1067 "../api:scoped_refptr",
1068 "../rtc_base:checks",
1069 ]
1070}
1071
Harald Alvestrandae940a52022-02-01 13:37:081072rtc_source_set("sdp_offer_answer") {
1073 visibility = [ ":*" ]
Harald Alvestrand8e344192022-02-08 12:55:421074 sources = [
1075 "sdp_offer_answer.cc", # TODO: Make separate target when not circular
1076 "sdp_offer_answer.h", # dependent on peerconnection.h
1077 ]
1078 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511079 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401080 ":channel_interface",
Harald Alvestrand8e344192022-02-08 12:55:421081 ":connection_context",
1082 ":data_channel_controller",
Harald Alvestrandc5b9c952022-03-14 07:16:401083 ":dtls_transport",
Harald Alvestrande5a73f52022-03-28 12:06:341084 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:371085 ":legacy_stats_collector",
Harald Alvestrande5a73f52022-03-28 12:06:341086 ":media_session",
Harald Alvestrand8e344192022-02-08 12:55:421087 ":media_stream",
1088 ":media_stream_observer",
Harald Alvestrandd9f68462022-03-10 10:09:511089 ":media_stream_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421090 ":peer_connection_internal",
1091 ":peer_connection_message_handler",
Harald Alvestrand7ee138e2022-03-10 13:21:281092 ":rtp_media_utils",
Harald Alvestrand8e344192022-02-08 12:55:421093 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511094 ":rtp_receiver_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421095 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511096 ":rtp_sender_proxy",
Harald Alvestrand8e344192022-02-08 12:55:421097 ":rtp_transceiver",
1098 ":rtp_transmission_manager",
1099 ":sdp_state_provider",
1100 ":session_description",
1101 ":simulcast_description",
Harald Alvestrand8e344192022-02-08 12:55:421102 ":stream_collection",
1103 ":transceiver_list",
1104 ":usage_pattern",
1105 ":webrtc_session_description_factory",
1106 "../api:array_view",
1107 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281108 "../api:candidate",
1109 "../api:dtls_transport_interface",
Harald Alvestrand8f429922022-05-04 10:32:301110 "../api:field_trials_view",
Harald Alvestrand8e344192022-02-08 12:55:421111 "../api:libjingle_peerconnection_api",
1112 "../api:media_stream_interface",
1113 "../api:rtc_error",
1114 "../api:rtp_parameters",
1115 "../api:rtp_transceiver_direction",
1116 "../api:scoped_refptr",
1117 "../api:sequence_checker",
1118 "../api/crypto:options",
Harald Alvestrand8e344192022-02-08 12:55:421119 "../api/video:builtin_video_bitrate_allocator_factory",
1120 "../api/video:video_bitrate_allocator_factory",
1121 "../media:rtc_media_base",
1122 "../p2p:rtc_p2p",
Harald Alvestrand09bdd952022-04-05 13:00:541123 "../rtc_base",
Harald Alvestrand8e344192022-02-08 12:55:421124 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131125 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:561126 "../rtc_base:location",
Harald Alvestrand8e344192022-02-08 12:55:421127 "../rtc_base:logging",
1128 "../rtc_base:macromagic",
Harald Alvestrand8e344192022-02-08 12:55:421129 "../rtc_base:rtc_operations_chain",
1130 "../rtc_base:stringutils",
1131 "../rtc_base:threading",
1132 "../rtc_base:weak_ptr",
Harald Alvestrand8e344192022-02-08 12:55:421133 "../system_wrappers:metrics",
1134 ]
1135 absl_deps = [
1136 "//third_party/abseil-cpp/absl/algorithm:container",
1137 "//third_party/abseil-cpp/absl/memory:memory",
1138 "//third_party/abseil-cpp/absl/strings:strings",
1139 "//third_party/abseil-cpp/absl/types:optional",
1140 ]
Harald Alvestrandae940a52022-02-01 13:37:081141}
1142rtc_source_set("jsep_ice_candidate") {
1143 visibility = [ ":*" ]
1144}
1145rtc_source_set("jsep_session_description") {
1146 visibility = [ ":*" ]
1147}
1148rtc_source_set("local_audio_source") {
1149 visibility = [ ":*" ]
Harald Alvestrand7766ab12022-02-02 11:26:031150 sources = [
1151 "local_audio_source.cc",
1152 "local_audio_source.h",
1153 ]
1154 deps = [
1155 "../api:audio_options_api",
1156 "../api:media_stream_interface",
1157 "../api:scoped_refptr",
Harald Alvestrand7766ab12022-02-02 11:26:031158 ]
Harald Alvestrandae940a52022-02-01 13:37:081159}
1160rtc_source_set("peer_connection") {
1161 visibility = [ ":*" ]
Harald Alvestrand15ad4ed2022-02-09 05:52:111162 sources = [
1163 "peer_connection.cc",
1164 "peer_connection.h",
1165 ]
1166 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511167 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401168 ":channel_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111169 ":connection_context",
1170 ":data_channel_controller",
1171 ":data_channel_utils",
Harald Alvestrandc5b9c952022-03-14 07:16:401172 ":dtls_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111173 ":ice_server_parsing",
Harald Alvestrande5a73f52022-03-28 12:06:341174 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:371175 ":legacy_stats_collector",
Harald Alvestrand15ad4ed2022-02-09 05:52:111176 ":peer_connection_internal",
1177 ":peer_connection_message_handler",
Harald Alvestrand15ad4ed2022-02-09 05:52:111178 ":rtc_stats_collector",
1179 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511180 ":rtp_receiver_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111181 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511182 ":rtp_sender_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111183 ":rtp_transceiver",
1184 ":rtp_transmission_manager",
Harald Alvestrand2ea4d372022-03-10 22:15:421185 ":rtp_transport_internal",
Harald Alvestrand15ad4ed2022-02-09 05:52:111186 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:031187 ":sctp_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111188 ":sdp_offer_answer",
1189 ":session_description",
1190 ":simulcast_description",
Harald Alvestrand15ad4ed2022-02-09 05:52:111191 ":transceiver_list",
Harald Alvestrand2ea4d372022-03-10 22:15:421192 ":transport_stats",
Harald Alvestrand15ad4ed2022-02-09 05:52:111193 ":usage_pattern",
1194 ":webrtc_session_description_factory",
1195 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:281196 "../api:candidate",
1197 "../api:dtls_transport_interface",
Jonas Orelande62c2f22022-03-29 09:04:481198 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281199 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111200 "../api:libjingle_logging_api",
1201 "../api:libjingle_peerconnection_api",
1202 "../api:media_stream_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111203 "../api:rtc_error",
1204 "../api:rtc_stats_api",
1205 "../api:rtp_parameters",
1206 "../api:rtp_transceiver_direction",
1207 "../api:scoped_refptr",
1208 "../api:sequence_checker",
Mirko Bonadeid151cc62022-06-20 06:35:281209 "../api:turn_customizer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111210 "../api/adaptation:resource_adaptation_api",
1211 "../api/crypto:options",
Harald Alvestrand09bdd952022-04-05 13:00:541212 "../api/rtc_event_log",
Artem Titovc374d112022-06-16 19:27:451213 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand15ad4ed2022-02-09 05:52:111214 "../api/transport:bitrate_settings",
1215 "../api/transport:datagram_transport_interface",
1216 "../api/transport:enums",
Harald Alvestrand15ad4ed2022-02-09 05:52:111217 "../api/video:video_codec_constants",
1218 "../call:call_interfaces",
1219 "../media:rtc_media_base",
1220 "../media:rtc_media_config",
1221 "../modules/rtp_rtcp:rtp_rtcp_format",
1222 "../p2p:rtc_p2p",
Harald Alvestrand09bdd952022-04-05 13:00:541223 "../rtc_base",
Harald Alvestrand15ad4ed2022-02-09 05:52:111224 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:461225 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:131226 "../rtc_base:event_tracer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111227 "../rtc_base:ip_address",
Florent Castelliaa6d05d2022-04-14 11:13:561228 "../rtc_base:location",
Harald Alvestrand15ad4ed2022-02-09 05:52:111229 "../rtc_base:logging",
1230 "../rtc_base:macromagic",
1231 "../rtc_base:network_constants",
Harald Alvestrand15ad4ed2022-02-09 05:52:111232 "../rtc_base:socket_address",
1233 "../rtc_base:stringutils",
1234 "../rtc_base:threading",
1235 "../rtc_base:weak_ptr",
Harald Alvestrand09bdd952022-04-05 13:00:541236 "../rtc_base/third_party/sigslot",
Harald Alvestrand15ad4ed2022-02-09 05:52:111237 "../system_wrappers:metrics",
1238 ]
1239 absl_deps = [
1240 "//third_party/abseil-cpp/absl/algorithm:container",
1241 "//third_party/abseil-cpp/absl/strings:strings",
1242 "//third_party/abseil-cpp/absl/types:optional",
1243 ]
Harald Alvestrandae940a52022-02-01 13:37:081244}
Harald Alvestrandfd6c7442022-02-08 07:52:101245
Harald Alvestrandae940a52022-02-01 13:37:081246rtc_source_set("sdp_serializer") {
1247 visibility = [ ":*" ]
Harald Alvestrand2f122e42022-02-01 20:59:511248 sources = [
1249 "sdp_serializer.cc",
1250 "sdp_serializer.h",
1251 ]
1252 deps = [
1253 ":session_description",
1254 ":simulcast_description",
1255 "../api:rtc_error",
1256 "../media:rtc_media_base",
1257 "../modules/rtp_rtcp:rtp_rtcp_format",
1258 "../rtc_base:checks",
1259 "../rtc_base:stringutils",
1260 ]
1261 absl_deps = [
1262 "//third_party/abseil-cpp/absl/algorithm:container",
1263 "//third_party/abseil-cpp/absl/strings:strings",
1264 "//third_party/abseil-cpp/absl/types:optional",
1265 ]
Harald Alvestrandae940a52022-02-01 13:37:081266}
1267rtc_source_set("sdp_utils") {
Harald Alvestrand63c3b132022-02-03 07:56:221268 sources = [
1269 "sdp_utils.cc",
1270 "sdp_utils.h",
1271 ]
1272 deps = [
Harald Alvestrand67a68d52022-02-07 05:07:031273 ":session_description",
Harald Alvestrand63c3b132022-02-03 07:56:221274 "../api:libjingle_peerconnection_api",
1275 "../p2p:rtc_p2p",
Harald Alvestrand63c3b132022-02-03 07:56:221276 "../rtc_base:checks",
1277 "../rtc_base/system:rtc_export",
1278 ]
Harald Alvestrandae940a52022-02-01 13:37:081279}
Henrik Boströmf7859892022-07-04 12:36:371280rtc_source_set("legacy_stats_collector") {
Harald Alvestrandae940a52022-02-01 13:37:081281 visibility = [ ":*" ]
Harald Alvestranda7fc7652022-02-08 09:30:411282 sources = [
Henrik Boströmf7859892022-07-04 12:36:371283 "legacy_stats_collector.cc",
1284 "legacy_stats_collector.h",
Harald Alvestranda7fc7652022-02-08 09:30:411285 ]
1286 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511287 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401288 ":channel_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411289 ":data_channel_utils",
Henrik Boströmf7859892022-07-04 12:36:371290 ":legacy_stats_collector_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411291 ":peer_connection_internal",
Harald Alvestranda7fc7652022-02-08 09:30:411292 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511293 ":rtp_receiver_proxy",
1294 ":rtp_sender_proxy",
Harald Alvestranda7fc7652022-02-08 09:30:411295 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:421296 ":transport_stats",
Mirko Bonadeid151cc62022-06-20 06:35:281297 "../api:candidate",
Jonas Orelande62c2f22022-03-29 09:04:481298 "../api:field_trials_view",
Harald Alvestranda7fc7652022-02-08 09:30:411299 "../api:libjingle_peerconnection_api",
1300 "../api:media_stream_interface",
1301 "../api:rtp_parameters",
1302 "../api:scoped_refptr",
1303 "../api:sequence_checker",
1304 "../api/audio_codecs:audio_codecs_api",
1305 "../api/video:video_rtp_headers",
1306 "../call:call_interfaces",
1307 "../media:rtc_media_base",
1308 "../modules/audio_processing:audio_processing_statistics",
1309 "../p2p:rtc_p2p",
1310 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131311 "../rtc_base:event_tracer",
Harald Alvestranda7fc7652022-02-08 09:30:411312 "../rtc_base:ip_address",
Florent Castelliaa6d05d2022-04-14 11:13:561313 "../rtc_base:location",
Harald Alvestranda7fc7652022-02-08 09:30:411314 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461315 "../rtc_base:macromagic",
Harald Alvestranda7fc7652022-02-08 09:30:411316 "../rtc_base:network_constants",
1317 "../rtc_base:rtc_base",
Harald Alvestranda7fc7652022-02-08 09:30:411318 "../rtc_base:socket_address",
1319 "../rtc_base:stringutils",
1320 "../rtc_base:threading",
1321 "../rtc_base:timeutils",
Harald Alvestranda7fc7652022-02-08 09:30:411322 ]
Harald Alvestrandc24a2182022-02-23 13:44:591323 absl_deps = [
1324 "//third_party/abseil-cpp/absl/strings",
1325 "//third_party/abseil-cpp/absl/types:optional",
1326 ]
Harald Alvestrandae940a52022-02-01 13:37:081327}
1328rtc_source_set("stream_collection") {
1329 visibility = [ ":*" ]
Harald Alvestrandab0152d2022-02-07 06:43:481330 sources = [ "stream_collection.h" ]
1331 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandae940a52022-02-01 13:37:081332}
1333rtc_source_set("track_media_info_map") {
1334 visibility = [ ":*" ]
Harald Alvestrand59427ad2022-02-03 19:02:381335 sources = [
1336 "track_media_info_map.cc",
1337 "track_media_info_map.h",
1338 ]
1339 deps = [
1340 ":rtp_receiver",
1341 ":rtp_sender",
Henrik Boström808a8fc2022-07-27 09:32:141342 "../api:array_view",
Harald Alvestrand59427ad2022-02-03 19:02:381343 "../api:media_stream_interface",
1344 "../api:rtp_parameters",
1345 "../api:scoped_refptr",
1346 "../media:rtc_media_base",
1347 "../rtc_base:checks",
1348 "../rtc_base:refcount",
1349 "../rtc_base:threading",
1350 ]
1351 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandae940a52022-02-01 13:37:081352}
1353rtc_source_set("webrtc_sdp") {
Harald Alvestrande47493b2022-02-15 12:45:021354 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande79f85c2022-02-07 08:39:521355 visibility = [ "*" ] # Used by Chrome and more
Harald Alvestrandb6f39162022-02-08 05:56:551356
Harald Alvestrandb6f39162022-02-08 05:56:551357 sources = [
1358 "jsep_ice_candidate.cc",
1359 "jsep_session_description.cc",
1360 "webrtc_sdp.cc",
1361 "webrtc_sdp.h",
1362 ]
1363 deps = [
1364 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:341365 ":media_session",
Harald Alvestrandb6f39162022-02-08 05:56:551366 ":sdp_serializer",
1367 ":session_description",
1368 ":simulcast_description",
Mirko Bonadeid151cc62022-06-20 06:35:281369 "../api:candidate",
Harald Alvestrandb6f39162022-02-08 05:56:551370 "../api:libjingle_peerconnection_api",
1371 "../api:rtc_error",
1372 "../api:rtp_parameters",
1373 "../api:rtp_transceiver_direction",
1374 "../media:rtc_data_sctp_transport_internal",
1375 "../media:rtc_media_base",
1376 "../p2p:rtc_p2p",
1377 "../rtc_base:checks",
1378 "../rtc_base:ip_address",
1379 "../rtc_base:logging",
1380 "../rtc_base:macromagic",
1381 "../rtc_base:network_constants",
1382 "../rtc_base:rtc_base",
1383 "../rtc_base:socket_address",
1384 "../rtc_base:stringutils",
1385 "../rtc_base/system:rtc_export",
1386 ]
1387 absl_deps = [
1388 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrandc24a2182022-02-23 13:44:591389 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandb6f39162022-02-08 05:56:551390 "//third_party/abseil-cpp/absl/types:optional",
1391 ]
Harald Alvestrandae940a52022-02-01 13:37:081392}
1393rtc_source_set("webrtc_session_description_factory") {
1394 visibility = [ ":*" ]
Harald Alvestrand65d89e82022-02-03 09:48:251395 sources = [
1396 "webrtc_session_description_factory.cc",
1397 "webrtc_session_description_factory.h",
1398 ]
1399 deps = [
Jonas Orelanded99dae2022-03-09 08:28:101400 ":connection_context",
Harald Alvestrande5a73f52022-03-28 12:06:341401 ":media_session",
Harald Alvestrand65d89e82022-02-03 09:48:251402 ":sdp_state_provider",
1403 ":session_description",
1404 "../api:libjingle_peerconnection_api",
1405 "../api:rtc_error",
1406 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211407 "../api:sequence_checker",
Harald Alvestrand65d89e82022-02-03 09:48:251408 "../p2p:rtc_p2p",
Harald Alvestrand65d89e82022-02-03 09:48:251409 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561410 "../rtc_base:location",
Harald Alvestrand65d89e82022-02-03 09:48:251411 "../rtc_base:logging",
Harald Alvestrand65d89e82022-02-03 09:48:251412 "../rtc_base:rtc_base",
Harald Alvestrand65d89e82022-02-03 09:48:251413 "../rtc_base:stringutils",
1414 "../rtc_base:threading",
1415 "../rtc_base/third_party/sigslot:sigslot",
1416 ]
1417 absl_deps = [
1418 "//third_party/abseil-cpp/absl/algorithm:container",
1419 "//third_party/abseil-cpp/absl/types:optional",
1420 ]
Harald Alvestrandae940a52022-02-01 13:37:081421}
1422
1423rtc_library("ice_server_parsing") {
Harald Alvestrande47493b2022-02-15 12:45:021424 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandae940a52022-02-01 13:37:081425 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:521426
Harald Alvestrandae940a52022-02-01 13:37:081427 sources = [
1428 "ice_server_parsing.cc",
1429 "ice_server_parsing.h",
1430 ]
1431 deps = [
1432 "../api:libjingle_peerconnection_api",
1433 "../api:rtc_error",
1434 "../p2p:rtc_p2p",
1435 "../rtc_base:checks",
1436 "../rtc_base:ip_address",
1437 "../rtc_base:logging",
1438 "../rtc_base:macromagic",
1439 "../rtc_base:socket_address",
1440 "../rtc_base:stringutils",
1441 "../rtc_base/system:rtc_export",
1442 ]
1443}
1444
1445rtc_library("media_stream_observer") {
Harald Alvestrand13b62c22022-02-01 07:47:531446 sources = [
1447 "media_stream_observer.cc",
1448 "media_stream_observer.h",
1449 ]
1450 deps = [
1451 "../api:media_stream_interface",
1452 "../api:scoped_refptr",
1453 ]
1454 absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
Harald Alvestrand48e1b292022-01-31 10:58:511455}
Harald Alvestrand15ad4ed2022-02-09 05:52:111456rtc_source_set("peer_connection_factory") {
Harald Alvestrande47493b2022-02-15 12:45:021457 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrand15ad4ed2022-02-09 05:52:111458 visibility = [ "*" ] # Known to be used externally
1459 sources = [
1460 "peer_connection_factory.cc",
1461 "peer_connection_factory.h",
1462 ]
1463 deps = [
1464 ":local_audio_source",
Harald Alvestrandd9f68462022-03-10 10:09:511465 ":media_stream_proxy",
1466 ":media_stream_track_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111467 ":peer_connection",
Harald Alvestrandd9f68462022-03-10 10:09:511468 ":peer_connection_factory_proxy",
1469 ":peer_connection_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111470 "../api:audio_options_api",
1471 "../api:callfactory_api",
1472 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:481473 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281474 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111475 "../api:libjingle_peerconnection_api",
1476 "../api:media_stream_interface",
1477 "../api:network_state_predictor_api",
1478 "../api:packet_socket_factory",
1479 "../api:rtc_error",
1480 "../api:rtp_parameters",
1481 "../api:scoped_refptr",
1482 "../api:sequence_checker",
Harald Alvestrandc24a2182022-02-23 13:44:591483 "../api/metronome",
Harald Alvestrand15ad4ed2022-02-09 05:52:111484 "../api/neteq:neteq_api",
1485 "../api/rtc_event_log:rtc_event_log",
1486 "../api/task_queue:task_queue",
1487 "../api/transport:bitrate_settings",
1488 "../api/transport:network_control",
1489 "../api/transport:sctp_transport_factory_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111490 "../api/units:data_rate",
1491 "../call:call_interfaces",
1492 "../call:rtp_interfaces",
1493 "../call:rtp_sender",
1494 "../media:rtc_media_base",
1495 "../p2p:rtc_p2p",
1496 "../pc:audio_track",
1497 "../pc:connection_context",
1498 "../pc:media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:111499 "../pc:rtp_parameters_conversion",
1500 "../pc:session_description",
1501 "../pc:video_track",
1502 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561503 "../rtc_base:location",
Harald Alvestrand15ad4ed2022-02-09 05:52:111504 "../rtc_base:logging",
1505 "../rtc_base:macromagic",
Harald Alvestrand15ad4ed2022-02-09 05:52:111506 "../rtc_base:rtc_base",
Harald Alvestrand15ad4ed2022-02-09 05:52:111507 "../rtc_base:safe_conversions",
1508 "../rtc_base:threading",
1509 "../rtc_base/experiments:field_trial_parser",
1510 "../rtc_base/system:file_wrapper",
1511 ]
1512 absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ]
1513}
Harald Alvestrand48e1b292022-01-31 10:58:511514
Harald Alvestrand1090e442020-10-05 07:01:091515rtc_library("peer_connection_message_handler") {
Harald Alvestrande47493b2022-02-15 12:45:021516 visibility = [ ":*" ]
Harald Alvestrand1090e442020-10-05 07:01:091517 sources = [
1518 "peer_connection_message_handler.cc",
1519 "peer_connection_message_handler.h",
1520 ]
1521 deps = [
Henrik Boströmf7859892022-07-04 12:36:371522 ":legacy_stats_collector_interface",
Harald Alvestrand1090e442020-10-05 07:01:091523 "../api:libjingle_peerconnection_api",
1524 "../api:media_stream_interface",
1525 "../api:rtc_error",
Harald Alvestrand5761e7b2021-01-29 14:45:081526 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241527 "../api:sequence_checker",
Harald Alvestrand1090e442020-10-05 07:01:091528 "../rtc_base",
Harald Alvestrand5761e7b2021-01-29 14:45:081529 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561530 "../rtc_base:location",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011531 "../rtc_base:threading",
Harald Alvestrand1090e442020-10-05 07:01:091532 ]
1533}
1534
Harald Alvestrand44d0dff2020-10-09 05:43:531535rtc_library("usage_pattern") {
Harald Alvestrande47493b2022-02-15 12:45:021536 visibility = [ ":*" ]
Harald Alvestrand44d0dff2020-10-09 05:43:531537 sources = [
1538 "usage_pattern.cc",
1539 "usage_pattern.h",
1540 ]
1541 deps = [
1542 "../api:libjingle_peerconnection_api",
1543 "../rtc_base:logging",
1544 "../system_wrappers:metrics",
1545 ]
1546}
1547
Harald Alvestrandbb02db22020-10-08 16:35:181548rtc_library("rtp_transceiver") {
Harald Alvestrande47493b2022-02-15 12:45:021549 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181550 sources = [
1551 "rtp_transceiver.cc",
1552 "rtp_transceiver.h",
1553 ]
1554 deps = [
Harald Alvestrand8f429922022-05-04 10:32:301555 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401556 ":channel_interface",
Harald Alvestrandc3fa7c32022-05-22 10:57:011557 ":connection_context",
Harald Alvestrand8f429922022-05-04 10:32:301558 ":peer_connection_sdp_methods",
Markus Handella1b82012021-05-26 16:56:301559 ":proxy",
Harald Alvestrand7ee138e2022-03-10 13:21:281560 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:181561 ":rtp_parameters_conversion",
1562 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511563 ":rtp_receiver_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:181564 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511565 ":rtp_sender_proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:421566 ":rtp_transport_internal",
Harald Alvestrandc0a95862021-06-09 09:33:561567 ":session_description",
Harald Alvestrand5761e7b2021-01-29 14:45:081568 "../api:array_view",
Harald Alvestrand8f429922022-05-04 10:32:301569 "../api:audio_options_api",
Harald Alvestrandbb02db22020-10-08 16:35:181570 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081571 "../api:rtc_error",
Harald Alvestrandbb02db22020-10-08 16:35:181572 "../api:rtp_parameters",
Harald Alvestrand5761e7b2021-01-29 14:45:081573 "../api:rtp_transceiver_direction",
1574 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241575 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081576 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451577 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand8f429922022-05-04 10:32:301578 "../api/video:video_bitrate_allocator_factory",
Harald Alvestrand5761e7b2021-01-29 14:45:081579 "../media:rtc_media_base",
Harald Alvestrandbb02db22020-10-08 16:35:181580 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561581 "../rtc_base:location",
Harald Alvestrandbb02db22020-10-08 16:35:181582 "../rtc_base:logging",
Harald Alvestrand5761e7b2021-01-29 14:45:081583 "../rtc_base:macromagic",
Harald Alvestrand5761e7b2021-01-29 14:45:081584 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081585 "../rtc_base/third_party/sigslot",
Harald Alvestrandbb02db22020-10-08 16:35:181586 ]
1587 absl_deps = [
1588 "//third_party/abseil-cpp/absl/algorithm:container",
Oleh Prypin752436f2022-06-23 22:51:281589 "//third_party/abseil-cpp/absl/memory",
Harald Alvestrandbb02db22020-10-08 16:35:181590 "//third_party/abseil-cpp/absl/strings",
1591 "//third_party/abseil-cpp/absl/types:optional",
1592 ]
Harald Alvestrand2d058782020-10-08 12:01:061593}
1594
Harald Alvestrande15fb152020-10-19 13:28:051595rtc_library("rtp_transmission_manager") {
Harald Alvestrande47493b2022-02-15 12:45:021596 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051597 sources = [
1598 "rtp_transmission_manager.cc",
1599 "rtp_transmission_manager.h",
1600 ]
1601 deps = [
1602 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:511603 ":channel",
Harald Alvestrand25adc8e2022-05-03 13:44:341604 ":channel_interface",
Henrik Boströmf7859892022-07-04 12:36:371605 ":legacy_stats_collector_interface",
Harald Alvestrande15fb152020-10-19 13:28:051606 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511607 ":rtp_receiver_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051608 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511609 ":rtp_sender_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051610 ":rtp_transceiver",
Harald Alvestrande15fb152020-10-19 13:28:051611 ":transceiver_list",
1612 ":usage_pattern",
1613 ":video_rtp_receiver",
1614 "../api:libjingle_peerconnection_api",
1615 "../api:media_stream_interface",
1616 "../api:rtc_error",
1617 "../api:rtp_parameters",
1618 "../api:rtp_transceiver_direction",
1619 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241620 "../api:sequence_checker",
Harald Alvestrande15fb152020-10-19 13:28:051621 "../media:rtc_media_base",
1622 "../rtc_base",
1623 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301624 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461625 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011626 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081627 "../rtc_base:weak_ptr",
Harald Alvestrande15fb152020-10-19 13:28:051628 "../rtc_base/third_party/sigslot",
1629 ]
1630 absl_deps = [
1631 "//third_party/abseil-cpp/absl/algorithm:container",
1632 "//third_party/abseil-cpp/absl/strings",
1633 "//third_party/abseil-cpp/absl/types:optional",
1634 ]
1635}
1636
1637rtc_library("transceiver_list") {
Harald Alvestrande47493b2022-02-15 12:45:021638 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051639 sources = [
1640 "transceiver_list.cc",
1641 "transceiver_list.h",
1642 ]
Harald Alvestrand5761e7b2021-01-29 14:45:081643 deps = [
1644 ":rtp_transceiver",
1645 "../api:libjingle_peerconnection_api",
1646 "../api:rtc_error",
1647 "../api:rtp_parameters",
1648 "../api:scoped_refptr",
Harald Alvestrand85466662021-04-19 21:21:361649 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081650 "../rtc_base:checks",
Harald Alvestrand85466662021-04-19 21:21:361651 "../rtc_base:macromagic",
1652 "../rtc_base/system:no_unique_address",
Harald Alvestrand5761e7b2021-01-29 14:45:081653 ]
1654 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrande15fb152020-10-19 13:28:051655}
1656
Harald Alvestrand445e6b02020-09-29 14:21:471657rtc_library("rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021658 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471659 sources = [
1660 "rtp_receiver.cc",
1661 "rtp_receiver.h",
1662 ]
1663 deps = [
1664 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511665 ":media_stream_proxy",
Harald Alvestrand445e6b02020-09-29 14:21:471666 ":video_track_source",
Mirko Bonadeid151cc62022-06-20 06:35:281667 "../api:dtls_transport_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471668 "../api:libjingle_peerconnection_api",
1669 "../api:media_stream_interface",
1670 "../api:rtp_parameters",
1671 "../api:scoped_refptr",
1672 "../api/crypto:frame_decryptor_interface",
1673 "../api/video:video_frame",
1674 "../media:rtc_media_base",
1675 "../rtc_base:checks",
1676 "../rtc_base:logging",
1677 "../rtc_base:rtc_base",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011678 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471679 ]
1680 absl_deps = [
1681 "//third_party/abseil-cpp/absl/algorithm:container",
1682 "//third_party/abseil-cpp/absl/strings",
1683 "//third_party/abseil-cpp/absl/types:optional",
1684 ]
1685}
1686
Harald Alvestrand7165f482020-10-12 07:37:311687rtc_library("audio_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021688 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311689 sources = [
1690 "audio_rtp_receiver.cc",
1691 "audio_rtp_receiver.h",
1692 ]
1693 deps = [
1694 ":audio_track",
1695 ":jitter_buffer_delay",
Harald Alvestrand7165f482020-10-12 07:37:311696 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511697 ":media_stream_track_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311698 ":remote_audio_source",
1699 ":rtp_receiver",
Mirko Bonadeid151cc62022-06-20 06:35:281700 "../api:dtls_transport_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081701 "../api:frame_transformer_interface",
Harald Alvestrand7165f482020-10-12 07:37:311702 "../api:libjingle_peerconnection_api",
1703 "../api:media_stream_interface",
1704 "../api:rtp_parameters",
1705 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241706 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311707 "../api/crypto:frame_decryptor_interface",
Artem Titovc374d112022-06-16 19:27:451708 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5761e7b2021-01-29 14:45:081709 "../api/transport/rtp:rtp_source",
Harald Alvestrand7165f482020-10-12 07:37:311710 "../media:rtc_media_base",
1711 "../rtc_base",
1712 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561713 "../rtc_base:location",
Florent Castelli4467ad72022-04-04 13:18:461714 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011715 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101716 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311717 ]
1718 absl_deps = [
1719 "//third_party/abseil-cpp/absl/algorithm:container",
1720 "//third_party/abseil-cpp/absl/strings",
1721 "//third_party/abseil-cpp/absl/types:optional",
1722 ]
1723}
1724
1725rtc_library("video_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021726 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311727 sources = [
1728 "video_rtp_receiver.cc",
1729 "video_rtp_receiver.h",
1730 ]
1731 deps = [
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 ":rtp_receiver",
1736 ":video_rtp_track_source",
1737 ":video_track",
Mirko Bonadeid151cc62022-06-20 06:35:281738 "../api:dtls_transport_interface",
Harald Alvestrand7165f482020-10-12 07:37:311739 "../api:frame_transformer_interface",
1740 "../api:libjingle_peerconnection_api",
1741 "../api:media_stream_interface",
1742 "../api:rtp_parameters",
1743 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241744 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311745 "../api/crypto:frame_decryptor_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081746 "../api/transport/rtp:rtp_source",
1747 "../api/video:recordable_encoded_frame",
Harald Alvestrand7165f482020-10-12 07:37:311748 "../api/video:video_frame",
1749 "../media:rtc_media_base",
1750 "../rtc_base",
1751 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561752 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:301753 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461754 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011755 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101756 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311757 ]
1758 absl_deps = [
1759 "//third_party/abseil-cpp/absl/algorithm:container",
1760 "//third_party/abseil-cpp/absl/strings",
1761 "//third_party/abseil-cpp/absl/types:optional",
1762 ]
1763}
1764
1765rtc_library("video_rtp_track_source") {
Harald Alvestrande47493b2022-02-15 12:45:021766 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311767 sources = [
1768 "video_rtp_track_source.cc",
1769 "video_rtp_track_source.h",
1770 ]
1771 deps = [
1772 ":video_track_source",
Artem Titovd15a5752021-02-10 13:31:241773 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081774 "../api/video:recordable_encoded_frame",
1775 "../api/video:video_frame",
Harald Alvestrand7165f482020-10-12 07:37:311776 "../media:rtc_media_base",
1777 "../rtc_base",
Harald Alvestrand5761e7b2021-01-29 14:45:081778 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461779 "../rtc_base:macromagic",
Harald Alvestrand7165f482020-10-12 07:37:311780 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:421781 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311782 ]
1783}
1784
1785rtc_library("audio_track") {
Harald Alvestrande47493b2022-02-15 12:45:021786 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311787 sources = [
1788 "audio_track.cc",
1789 "audio_track.h",
1790 ]
1791 deps = [
1792 "../api:media_stream_interface",
1793 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241794 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311795 "../rtc_base:checks",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121796 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311797 ]
1798}
1799
1800rtc_library("video_track") {
Harald Alvestrande47493b2022-02-15 12:45:021801 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311802 sources = [
1803 "video_track.cc",
1804 "video_track.h",
1805 ]
1806 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:341807 ":video_track_source_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311808 "../api:media_stream_interface",
1809 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241810 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311811 "../api/video:video_frame",
1812 "../media:rtc_media_base",
1813 "../rtc_base",
1814 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561815 "../rtc_base:location",
Florent Castelli4467ad72022-04-04 13:18:461816 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011817 "../rtc_base:threading",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121818 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311819 ]
Harald Alvestrandc24a2182022-02-23 13:44:591820 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311821}
1822
Harald Alvestrandf01bd6c2020-10-23 13:30:461823rtc_source_set("sdp_state_provider") {
Harald Alvestrande47493b2022-02-15 12:45:021824 visibility = [ ":*" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461825 sources = [ "sdp_state_provider.h" ]
Harald Alvestrand7b260372022-03-30 07:33:521826 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461827}
1828
Harald Alvestrand7165f482020-10-12 07:37:311829rtc_library("jitter_buffer_delay") {
Harald Alvestrande47493b2022-02-15 12:45:021830 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311831 sources = [
1832 "jitter_buffer_delay.cc",
1833 "jitter_buffer_delay.h",
1834 ]
1835 deps = [
Artem Titovd15a5752021-02-10 13:31:241836 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311837 "../rtc_base:checks",
Harald Alvestrandc24a2182022-02-23 13:44:591838 "../rtc_base:macromagic",
Tommi4ccdf9322021-05-17 12:50:101839 "../rtc_base:safe_conversions",
Harald Alvestrand7165f482020-10-12 07:37:311840 "../rtc_base:safe_minmax",
Tommi4ccdf9322021-05-17 12:50:101841 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311842 ]
Tommi4ccdf9322021-05-17 12:50:101843 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311844}
1845
1846rtc_library("remote_audio_source") {
Harald Alvestrande47493b2022-02-15 12:45:021847 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311848 sources = [
1849 "remote_audio_source.cc",
1850 "remote_audio_source.h",
1851 ]
1852 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511853 ":channel",
Harald Alvestrand7165f482020-10-12 07:37:311854 "../api:call_api",
1855 "../api:media_stream_interface",
1856 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241857 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081858 "../media:rtc_media_base",
Harald Alvestrand7165f482020-10-12 07:37:311859 "../rtc_base",
1860 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561861 "../rtc_base:location",
Harald Alvestrand7165f482020-10-12 07:37:311862 "../rtc_base:logging",
Harald Alvestrand7165f482020-10-12 07:37:311863 "../rtc_base:safe_conversions",
1864 "../rtc_base:stringutils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011865 "../rtc_base:threading",
Harald Alvestrand7165f482020-10-12 07:37:311866 "../rtc_base/synchronization:mutex",
1867 ]
1868 absl_deps = [
1869 "//third_party/abseil-cpp/absl/algorithm:container",
1870 "//third_party/abseil-cpp/absl/strings",
1871 "//third_party/abseil-cpp/absl/types:optional",
1872 ]
1873}
1874
Harald Alvestrand445e6b02020-09-29 14:21:471875rtc_library("rtp_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021876 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471877 sources = [
1878 "rtp_sender.cc",
1879 "rtp_sender.h",
1880 ]
1881 deps = [
1882 ":dtmf_sender",
Henrik Boströmf7859892022-07-04 12:36:371883 ":legacy_stats_collector_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471884 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281885 "../api:dtls_transport_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081886 "../api:frame_transformer_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471887 "../api:libjingle_peerconnection_api",
1888 "../api:media_stream_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081889 "../api:priority",
1890 "../api:rtc_error",
1891 "../api:rtp_parameters",
1892 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211893 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081894 "../api/crypto:frame_encryptor_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471895 "../media:rtc_media_base",
1896 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131897 "../rtc_base:event_tracer",
Florent Castelliaa6d05d2022-04-14 11:13:561898 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:301899 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461900 "../rtc_base:macromagic",
Harald Alvestrand445e6b02020-09-29 14:21:471901 "../rtc_base:rtc_base",
Harald Alvestrand5761e7b2021-01-29 14:45:081902 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471903 "../rtc_base/synchronization:mutex",
Harald Alvestrand5761e7b2021-01-29 14:45:081904 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471905 ]
1906 absl_deps = [
1907 "//third_party/abseil-cpp/absl/algorithm:container",
1908 "//third_party/abseil-cpp/absl/strings",
1909 "//third_party/abseil-cpp/absl/types:optional",
1910 ]
1911}
1912
Harald Alvestrandbb02db22020-10-08 16:35:181913rtc_library("rtp_parameters_conversion") {
Harald Alvestrande47493b2022-02-15 12:45:021914 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181915 sources = [
1916 "rtp_parameters_conversion.cc",
1917 "rtp_parameters_conversion.h",
1918 ]
1919 deps = [
Harald Alvestrandc0a95862021-06-09 09:33:561920 ":session_description",
Harald Alvestrandbb02db22020-10-08 16:35:181921 "../api:array_view",
1922 "../api:libjingle_peerconnection_api",
1923 "../api:rtc_error",
1924 "../api:rtp_parameters",
1925 "../media:rtc_media_base",
1926 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301927 "../rtc_base:logging",
Harald Alvestrandbb02db22020-10-08 16:35:181928 "../rtc_base:rtc_base",
Florent Castelli57aa81b2022-04-04 15:14:021929 "../rtc_base:stringutils",
Harald Alvestrandbb02db22020-10-08 16:35:181930 ]
1931 absl_deps = [
1932 "//third_party/abseil-cpp/absl/algorithm:container",
1933 "//third_party/abseil-cpp/absl/strings",
1934 "//third_party/abseil-cpp/absl/types:optional",
1935 ]
1936}
1937
Harald Alvestrand445e6b02020-09-29 14:21:471938rtc_library("dtmf_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021939 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471940 sources = [
1941 "dtmf_sender.cc",
1942 "dtmf_sender.h",
1943 ]
1944 deps = [
Markus Handella1b82012021-05-26 16:56:301945 ":proxy",
Harald Alvestrand445e6b02020-09-29 14:21:471946 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081947 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211948 "../api:sequence_checker",
Danil Chapovalova30439b2022-07-07 08:08:491949 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451950 "../api/task_queue:pending_task_safety_flag",
Danil Chapovalova30439b2022-07-07 08:08:491951 "../api/units:time_delta",
Harald Alvestrand445e6b02020-09-29 14:21:471952 "../rtc_base:checks",
Florent Castelliaa6d05d2022-04-14 11:13:561953 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:301954 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461955 "../rtc_base:macromagic",
Florent Castellif86f6f92022-04-05 00:54:121956 "../rtc_base:refcount",
Harald Alvestrand5761e7b2021-01-29 14:45:081957 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471958 ]
1959 absl_deps = [
1960 "//third_party/abseil-cpp/absl/algorithm:container",
1961 "//third_party/abseil-cpp/absl/strings",
1962 "//third_party/abseil-cpp/absl/types:optional",
1963 ]
1964}
1965
1966rtc_library("media_stream") {
Harald Alvestrande47493b2022-02-15 12:45:021967 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471968 sources = [
1969 "media_stream.cc",
1970 "media_stream.h",
1971 ]
1972 deps = [
1973 "../api:libjingle_peerconnection_api",
1974 "../api:media_stream_interface",
1975 "../api:scoped_refptr",
1976 "../rtc_base:checks",
Harald Alvestrand445e6b02020-09-29 14:21:471977 "../rtc_base:rtc_base",
1978 ]
1979 absl_deps = [
1980 "//third_party/abseil-cpp/absl/algorithm:container",
1981 "//third_party/abseil-cpp/absl/strings",
1982 "//third_party/abseil-cpp/absl/types:optional",
1983 ]
1984}
1985
1986rtc_library("video_track_source") {
1987 sources = [
1988 "video_track_source.cc",
1989 "video_track_source.h",
1990 ]
1991 deps = [
1992 "../api:media_stream_interface",
Artem Titovd15a5752021-02-10 13:31:241993 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081994 "../api/video:recordable_encoded_frame",
Harald Alvestrand445e6b02020-09-29 14:21:471995 "../api/video:video_frame",
1996 "../media:rtc_media_base",
1997 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461998 "../rtc_base:macromagic",
Tommi20d8d912022-02-08 20:12:151999 "../rtc_base/system:no_unique_address",
Harald Alvestrand445e6b02020-09-29 14:21:472000 "../rtc_base/system:rtc_export",
2001 ]
Harald Alvestrand5761e7b2021-01-29 14:45:082002 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand445e6b02020-09-29 14:21:472003}
2004
Henrik Boströmf7859892022-07-04 12:36:372005rtc_source_set("legacy_stats_collector_interface") {
Harald Alvestrande47493b2022-02-15 12:45:022006 visibility = [ ":*" ]
Henrik Boströmf7859892022-07-04 12:36:372007 sources = [ "legacy_stats_collector_interface.h" ]
Harald Alvestrand1090e442020-10-05 07:01:092008 deps = [
2009 "../api:libjingle_peerconnection_api",
2010 "../api:media_stream_interface",
2011 ]
Harald Alvestrand445e6b02020-09-29 14:21:472012}
2013
zhihuang38ede132017-06-15 19:52:322014rtc_source_set("libjingle_peerconnection") {
Harald Alvestrande79f85c2022-02-07 08:39:522015 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:022016 visibility = [ "*" ] # Used by Chrome and others
2017
Mirko Bonadeie51f7852017-12-06 10:23:192018 deps = [
zhihuang38ede132017-06-15 19:52:322019 ":peerconnection",
2020 "../api:libjingle_peerconnection_api",
2021 ]
ossu7bb87ee2017-01-23 12:56:252022}
2023
Andrey Logvine7c79fd2021-02-01 09:56:372024if (rtc_include_tests && !build_with_chromium) {
ehmaldonado38a21322016-09-02 11:10:342025 rtc_test("rtc_pc_unittests") {
kjellander142f8c52016-06-13 07:08:242026 testonly = true
2027
2028 sources = [
Tony Herree2044662021-11-29 10:33:422029 "audio_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:242030 "channel_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002031 "dtls_srtp_transport_unittest.cc",
Benjamin Wright4f6ef182019-02-27 02:20:052032 "dtls_transport_unittest.cc",
Harald Alvestrand98462622019-01-30 13:57:032033 "ice_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002034 "jsep_transport_controller_unittest.cc",
2035 "jsep_transport_unittest.cc",
2036 "media_session_unittest.cc",
2037 "rtcp_mux_filter_unittest.cc",
2038 "rtp_transport_unittest.cc",
Harald Alvestrandc85328f2019-02-28 06:51:002039 "sctp_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002040 "session_description_unittest.cc",
Harald Alvestrand0d018412021-11-04 13:52:312041 "srtp_filter_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002042 "srtp_session_unittest.cc",
2043 "srtp_transport_unittest.cc",
2044 "test/rtp_transport_test_util.h",
2045 "test/srtp_test_util.h",
Johannes Kron746dd0d2019-06-20 13:37:522046 "used_ids_unittest.cc",
Markus Handell9c27ed22019-12-04 11:57:582047 "video_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:242048 ]
2049
2050 include_dirs = [ "//third_party/libsrtp/srtp" ]
2051
kjellander142f8c52016-06-13 07:08:242052 if (is_win) {
2053 libs = [ "strmiids.lib" ]
2054 }
2055
2056 deps = [
Tony Herree2044662021-11-29 10:33:422057 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512058 ":channel",
2059 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402060 ":dtls_transport",
Harald Alvestrand7ee138e2022-03-10 13:21:282061 ":ice_transport",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512062 ":jsep_transport",
Harald Alvestrande5a73f52022-03-28 12:06:342063 ":jsep_transport_controller",
ossu7bb87ee2017-01-23 12:56:252064 ":libjingle_peerconnection",
Harald Alvestrandc24a2182022-02-23 13:44:592065 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342066 ":media_session",
Zhi Huangb5261582017-09-29 17:51:432067 ":pc_test_utils",
Markus Handell9c27ed22019-12-04 11:57:582068 ":peerconnection",
kjellander142f8c52016-06-13 07:08:242069 ":rtc_pc",
Harald Alvestrand7ee138e2022-03-10 13:21:282070 ":rtcp_mux_filter",
2071 ":rtp_media_utils",
Harald Alvestrand4bac0bb2022-03-15 13:21:592072 ":rtp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422073 ":rtp_transport_internal",
Harald Alvestrand7e539922022-03-17 06:26:032074 ":sctp_transport",
Harald Alvestrandc0a95862021-06-09 09:33:562075 ":session_description",
Harald Alvestrand2ea4d372022-03-10 22:15:422076 ":srtp_filter",
Harald Alvestrand4bac0bb2022-03-15 13:21:592077 ":srtp_session",
Harald Alvestrand7e539922022-03-17 06:26:032078 ":srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402079 ":used_ids",
Harald Alvestrand7165f482020-10-12 07:37:312080 ":video_rtp_receiver",
kwiberg529662a2017-09-04 12:43:172081 "../api:array_view",
Yves Gerey3e707812018-11-28 15:47:492082 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282083 "../api:candidate",
2084 "../api:dtls_transport_interface",
Harald Alvestrand98462622019-01-30 13:57:032085 "../api:ice_transport_factory",
Mirko Bonadeie51f7852017-12-06 10:23:192086 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262087 "../api:make_ref_counted",
2088 "../api:make_ref_counted",
Mirko Bonadeifcfeefe2019-09-10 08:51:232089 "../api:rtc_error",
Niels Mölleref1052a2019-03-20 07:40:232090 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:282091 "../api:rtp_parameters",
Harald Alvestrandc24a2182022-02-23 13:44:592092 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:212093 "../api:sequence_checker",
Artem Titovc374d112022-06-16 19:27:452094 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrandc24a2182022-02-23 13:44:592095 "../api/task_queue:task_queue",
2096 "../api/transport:datagram_transport_interface",
2097 "../api/transport:enums",
Jonas Orelanda3aa9bd2019-04-17 05:38:402098 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592099 "../api/video:recordable_encoded_frame",
Markus Handell9c27ed22019-12-04 11:57:582100 "../api/video/test:mock_recordable_encoded_frame",
Zhi Huang365381f2018-04-13 23:44:342101 "../call:rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:492102 "../call:rtp_receiver",
Florent Castellia80c3e52021-04-15 13:02:562103 "../media:rtc_data_sctp_transport_internal",
mbonadei7d9a55b2017-06-01 20:01:482104 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:352105 "../media:rtc_media_tests_utils",
Zhi Huang365381f2018-04-13 23:44:342106 "../modules/rtp_rtcp:rtp_rtcp_format",
Piotr (Peter) Slatala4de17832019-01-29 21:35:052107 "../p2p:fake_ice_transport",
Qingsi Wang8af1f742019-04-22 05:08:262108 "../p2p:fake_port_allocator",
mbonadei7d9a55b2017-06-01 20:01:482109 "../p2p:p2p_test_utils",
2110 "../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 12:35:102111 "../rtc_base",
Florent Castellif9c59842022-04-19 15:07:232112 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:362113 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:422114 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462115 "../rtc_base:copy_on_write_buffer",
Mirko Bonadeie3abb812018-11-23 12:15:082116 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302117 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462118 "../rtc_base:macromagic",
ehmaldonadof6a861a2017-07-19 17:40:472119 "../rtc_base:rtc_base_tests_utils",
Harald Alvestrandc24a2182022-02-23 13:44:592120 "../rtc_base:socket_address",
Florent Castelli57aa81b2022-04-04 15:14:022121 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112122 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012123 "../rtc_base:threading",
Harald Alvestrandc24a2182022-02-23 13:44:592124 "../rtc_base/containers:flat_set",
Artem Titove41c4332018-07-25 13:04:282125 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102126 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102127 "../test:explicit_key_value_config",
Niels Möller65b2d8a2022-05-19 14:06:232128 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102129 "../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 11:01:582130 "../test:test_main",
zstein398c3fd2017-07-19 20:38:022131 "../test:test_support",
Danil Chapovalova30439b2022-07-07 08:08:492132 ]
2133 absl_deps = [
Steve Anton64b626b2019-01-29 01:25:262134 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalova30439b2022-07-07 08:08:492135 "//third_party/abseil-cpp/absl/functional:any_invocable",
Karl Wiberg918f50c2018-07-05 09:40:332136 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei57cabed2020-04-01 10:03:112137 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc24a2182022-02-23 13:44:592138 "//third_party/abseil-cpp/absl/types:optional",
kjellander142f8c52016-06-13 07:08:242139 ]
2140
2141 if (rtc_build_libsrtp) {
2142 deps += [ "//third_party/libsrtp" ]
2143 }
2144
2145 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372146 use_default_launcher = false
2147 deps += [
2148 "//build/android/gtest_apk:native_test_instrumentation_test_runner_java",
2149 "//testing/android/native_test:native_test_java",
2150 "//testing/android/native_test:native_test_support",
2151 ]
kjellander142f8c52016-06-13 07:08:242152 }
2153 }
ossu7bb87ee2017-01-23 12:56:252154
Mirko Bonadei86d053c2019-10-17 19:32:042155 rtc_library("peerconnection_perf_tests") {
Seth Hampsond1003d72018-06-22 22:40:162156 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:102157 sources = [ "peer_connection_rampup_tests.cc" ]
Seth Hampsond1003d72018-06-22 22:40:162158 deps = [
2159 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112160 ":peer_connection",
Harald Alvestrand67a68d52022-02-07 05:07:032161 ":peerconnection",
Artem Titoveb02ecd2018-12-17 13:22:062162 ":peerconnection_wrapper",
Yves Gerey3e707812018-11-28 15:47:492163 "../api:audio_options_api",
Mirko Bonadei2ff3f492018-11-22 08:00:132164 "../api:create_peerconnection_factory",
Seth Hampsond1003d72018-06-22 22:40:162165 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412166 "../api:media_stream_interface",
Harald Alvestrandc24a2182022-02-23 13:44:592167 "../api:rtc_error",
Seth Hampsond1003d72018-06-22 22:40:162168 "../api:rtc_stats_api",
Mirko Bonadeid9708072019-01-25 19:26:482169 "../api:scoped_refptr",
Yves Gerey3e707812018-11-28 15:47:492170 "../api/audio:audio_mixer_api",
2171 "../api/audio_codecs:audio_codecs_api",
Seth Hampsond1003d72018-06-22 22:40:162172 "../api/audio_codecs:builtin_audio_decoder_factory",
2173 "../api/audio_codecs:builtin_audio_encoder_factory",
2174 "../api/video_codecs:builtin_video_decoder_factory",
2175 "../api/video_codecs:builtin_video_encoder_factory",
Yves Gerey3e707812018-11-28 15:47:492176 "../api/video_codecs:video_codecs_api",
Seth Hampsond1003d72018-06-22 22:40:162177 "../media:rtc_media_tests_utils",
Yves Gerey3e707812018-11-28 15:47:492178 "../modules/audio_device:audio_device_api",
2179 "../modules/audio_processing:api",
Seth Hampsond1003d72018-06-22 22:40:162180 "../p2p:p2p_test_utils",
2181 "../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 12:35:102182 "../rtc_base",
Yves Gerey3e707812018-11-28 15:47:492183 "../rtc_base:checks",
Mirko Bonadeie3abb812018-11-23 12:15:082184 "../rtc_base:gunit_helpers",
Seth Hampsond1003d72018-06-22 22:40:162185 "../rtc_base:rtc_base_tests_utils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012186 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:592187 "../rtc_base:socket_factory",
Danil Chapovalov2aaef452022-08-12 13:55:112188 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012189 "../rtc_base:threading",
Artem Titov94b57c02019-03-21 12:35:102190 "../system_wrappers",
Seth Hampsond1003d72018-06-22 22:40:162191 "../test:perf_test",
2192 "../test:test_support",
2193 ]
Mirko Bonadei2dcf3482020-06-05 12:30:412194 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Seth Hampsond1003d72018-06-22 22:40:162195 }
2196
Mirko Bonadei86d053c2019-10-17 19:32:042197 rtc_library("peerconnection_wrapper") {
Artem Titoveb02ecd2018-12-17 13:22:062198 testonly = true
2199 sources = [
Steve Anton10542f22019-01-11 17:11:002200 "peer_connection_wrapper.cc",
2201 "peer_connection_wrapper.h",
Artem Titoveb02ecd2018-12-17 13:22:062202 ]
2203 deps = [
2204 ":pc_test_utils",
Harald Alvestrand67a68d52022-02-07 05:07:032205 ":peerconnection",
Harald Alvestrand63c3b132022-02-03 07:56:222206 ":sdp_utils",
Artem Titov741daaf2019-03-21 13:37:362207 "../api:function_view",
Artem Titoveb02ecd2018-12-17 13:22:062208 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412209 "../api:media_stream_interface",
Mirko Bonadeifcfeefe2019-09-10 08:51:232210 "../api:rtc_error",
Artem Titoveb02ecd2018-12-17 13:22:062211 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282212 "../api:rtp_parameters",
Mirko Bonadeid9708072019-01-25 19:26:482213 "../api:scoped_refptr",
Artem Titoveb02ecd2018-12-17 13:22:062214 "../rtc_base:checks",
2215 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302216 "../rtc_base:logging",
Artem Titoveb02ecd2018-12-17 13:22:062217 "../test:test_support",
2218 ]
Artem Titoveb02ecd2018-12-17 13:22:062219 }
2220
Harald Alvestrandf8f7b702022-05-05 13:21:192221 rtc_test("slow_peer_connection_unittests") {
2222 testonly = true
2223 sources = [ "slow_peer_connection_integration_test.cc" ]
2224 deps = [
2225 ":integration_test_helpers",
2226 ":pc_test_utils",
2227 "../api:libjingle_peerconnection_api",
2228 "../api:scoped_refptr",
2229 "../api/units:time_delta",
2230 "../p2p:p2p_server_utils",
2231 "../p2p:p2p_test_utils",
2232 "../p2p:rtc_p2p",
2233 "../rtc_base",
2234 "../rtc_base:gunit_helpers",
2235 "../rtc_base:logging",
2236 "../rtc_base:rtc_base_tests_utils",
2237 "../rtc_base:socket_address",
2238 "../test:test_main",
2239 "../test:test_support",
2240 "//third_party/abseil-cpp/absl/algorithm:container",
2241 "//third_party/abseil-cpp/absl/strings",
2242 "//third_party/abseil-cpp/absl/types:optional",
2243 ]
2244 }
2245
ossu7bb87ee2017-01-23 12:56:252246 rtc_test("peerconnection_unittests") {
ossu7bb87ee2017-01-23 12:56:252247 testonly = true
2248 sources = [
Harald Alvestrand39993842021-02-17 09:05:312249 "data_channel_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002250 "data_channel_unittest.cc",
2251 "dtmf_sender_unittest.cc",
2252 "ice_server_parsing_unittest.cc",
Ruslan Burakov428dcb22019-04-18 15:49:492253 "jitter_buffer_delay_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002254 "jsep_session_description_unittest.cc",
Henrik Boströmf7859892022-07-04 12:36:372255 "legacy_stats_collector_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002256 "local_audio_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002257 "media_stream_unittest.cc",
Henrik Boström4c1e7cc2020-06-11 10:26:532258 "peer_connection_adaptation_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002259 "peer_connection_bundle_unittest.cc",
2260 "peer_connection_crypto_unittest.cc",
2261 "peer_connection_data_channel_unittest.cc",
2262 "peer_connection_end_to_end_unittest.cc",
2263 "peer_connection_factory_unittest.cc",
Markus Handell0357b3e2020-03-16 12:40:512264 "peer_connection_header_extension_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002265 "peer_connection_histogram_unittest.cc",
2266 "peer_connection_ice_unittest.cc",
2267 "peer_connection_integrationtest.cc",
2268 "peer_connection_interface_unittest.cc",
2269 "peer_connection_jsep_unittest.cc",
2270 "peer_connection_media_unittest.cc",
2271 "peer_connection_rtp_unittest.cc",
2272 "peer_connection_signaling_unittest.cc",
Amit Hilbuchaa584152019-02-07 01:09:522273 "peer_connection_simulcast_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002274 "peer_connection_wrapper.cc",
2275 "peer_connection_wrapper.h",
ossu7bb87ee2017-01-23 12:56:252276 "proxy_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002277 "rtc_stats_collector_unittest.cc",
2278 "rtc_stats_integrationtest.cc",
2279 "rtc_stats_traversal_unittest.cc",
2280 "rtp_media_utils_unittest.cc",
2281 "rtp_parameters_conversion_unittest.cc",
2282 "rtp_sender_receiver_unittest.cc",
2283 "rtp_transceiver_unittest.cc",
2284 "sctp_utils_unittest.cc",
Harald Alvestrande61d4c82021-09-16 08:59:112285 "sdp_offer_answer_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002286 "sdp_serializer_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002287 "test/fake_audio_capture_module_unittest.cc",
2288 "test/test_sdp_strings.h",
2289 "track_media_info_map_unittest.cc",
Markus Handell15f2ff42019-11-22 09:34:372290 "video_rtp_track_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002291 "video_track_unittest.cc",
2292 "webrtc_sdp_unittest.cc",
ossu7bb87ee2017-01-23 12:56:252293 ]
2294
Mirko Bonadeie51f7852017-12-06 10:23:192295 deps = [
Harald Alvestrand7165f482020-10-12 07:37:312296 ":audio_rtp_receiver",
2297 ":audio_track",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512298 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402299 ":channel_interface",
Harald Alvestranda45c8f42022-05-10 08:44:482300 ":data_channel_controller_unittest",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512301 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402302 ":dtls_transport",
Harald Alvestrand445e6b02020-09-29 14:21:472303 ":dtmf_sender",
Harald Alvestrandae940a52022-02-01 13:37:082304 ":ice_server_parsing",
Harald Alvestrand82a94122021-03-08 07:01:482305 ":integration_test_helpers",
Harald Alvestrand7165f482020-10-12 07:37:312306 ":jitter_buffer_delay",
Henrik Boströmf7859892022-07-04 12:36:372307 ":legacy_stats_collector",
Harald Alvestrand7766ab12022-02-02 11:26:032308 ":local_audio_source",
Harald Alvestrandc24a2182022-02-23 13:44:592309 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342310 ":media_session",
Harald Alvestrand445e6b02020-09-29 14:21:472311 ":media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:112312 ":peer_connection",
2313 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512314 ":peer_connection_proxy",
Markus Handella1b82012021-05-26 16:56:302315 ":proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:102316 ":rtc_stats_collector",
2317 ":rtc_stats_traversal",
Harald Alvestrand7ee138e2022-03-10 13:21:282318 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:182319 ":rtp_parameters_conversion",
Harald Alvestrand445e6b02020-09-29 14:21:472320 ":rtp_receiver",
2321 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:512322 ":rtp_sender_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:182323 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:422324 ":rtp_transport_internal",
Harald Alvestrandad3b3232022-02-07 02:59:362325 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:032326 ":sctp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422327 ":sctp_utils",
Harald Alvestrand2f122e42022-02-01 20:59:512328 ":sdp_serializer",
Harald Alvestrand63c3b132022-02-03 07:56:222329 ":sdp_utils",
Harald Alvestrandc0a95862021-06-09 09:33:562330 ":session_description",
Harald Alvestrandc24a2182022-02-23 13:44:592331 ":simulcast_description",
Harald Alvestrandab0152d2022-02-07 06:43:482332 ":stream_collection",
Harald Alvestrand59427ad2022-02-03 19:02:382333 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:422334 ":transport_stats",
Harald Alvestrand44d0dff2020-10-09 05:43:532335 ":usage_pattern",
Harald Alvestrand7165f482020-10-12 07:37:312336 ":video_rtp_receiver",
2337 ":video_rtp_track_source",
2338 ":video_track",
Harald Alvestrand445e6b02020-09-29 14:21:472339 ":video_track_source",
Harald Alvestrandb6f39162022-02-08 05:56:552340 ":webrtc_sdp",
Yves Gerey3e707812018-11-28 15:47:492341 "../api:array_view",
2342 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282343 "../api:candidate",
Mirko Bonadei2ff3f492018-11-22 08:00:132344 "../api:create_peerconnection_factory",
Mirko Bonadeid151cc62022-06-20 06:35:282345 "../api:dtls_transport_interface",
Benjamin Wright78410ad2018-10-25 16:52:572346 "../api:fake_frame_decryptor",
2347 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482348 "../api:field_trials_view",
Artem Titov741daaf2019-03-21 13:37:362349 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282350 "../api:ice_transport_interface",
Yves Gerey3e707812018-11-28 15:47:492351 "../api:libjingle_logging_api",
Mirko Bonadei34814c72018-01-11 09:13:562352 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262353 "../api:make_ref_counted",
Niels Möllere942b142019-09-17 12:30:412354 "../api:media_stream_interface",
Jonas Oreland65455162022-06-08 09:25:462355 "../api:mock_encoder_selector",
Niels Möller573b1452022-06-21 09:37:292356 "../api:mock_packet_socket_factory",
Florent Castelli63cc46c2021-07-16 23:32:402357 "../api:mock_video_track",
Harald Alvestrand39993842021-02-17 09:05:312358 "../api:packet_socket_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592359 "../api:priority",
Mirko Bonadeifcfeefe2019-09-10 08:51:232360 "../api:rtc_error",
Harald Alvestrand39993842021-02-17 09:05:312361 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:482362 "../api:scoped_refptr",
Harald Alvestrandc24a2182022-02-23 13:44:592363 "../api/adaptation:resource_adaptation_api",
Yves Gerey3e707812018-11-28 15:47:492364 "../api/audio:audio_mixer_api",
Mirko Bonadeieaaaf412019-09-13 12:42:152365 "../api/crypto:frame_decryptor_interface",
2366 "../api/crypto:frame_encryptor_interface",
2367 "../api/crypto:options",
Danil Chapovalov9da25bd2019-06-20 08:19:422368 "../api/rtc_event_log",
2369 "../api/rtc_event_log:rtc_event_log_factory",
Harald Alvestrand39993842021-02-17 09:05:312370 "../api/task_queue",
Danil Chapovalov9da25bd2019-06-20 08:19:422371 "../api/task_queue:default_task_queue_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592372 "../api/transport:datagram_transport_interface",
Erik Språngceb44952020-09-22 09:36:352373 "../api/transport:field_trial_based_config",
Harald Alvestrandc24a2182022-02-23 13:44:592374 "../api/transport:sctp_transport_factory_interface",
Niels Möllera8370302019-09-02 13:16:492375 "../api/transport/rtp:rtp_source",
Sebastian Jansson5f83cf02018-05-08 12:52:222376 "../api/units:time_delta",
Harald Alvestrandc24a2182022-02-23 13:44:592377 "../api/units:timestamp",
Jonas Orelanda3aa9bd2019-04-17 05:38:402378 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592379 "../api/video:encoded_image",
2380 "../api/video:recordable_encoded_frame",
2381 "../api/video:video_bitrate_allocator_factory",
2382 "../api/video:video_codec_constants",
2383 "../api/video:video_frame",
Harald Alvestrand39993842021-02-17 09:05:312384 "../api/video:video_rtp_headers",
Henrik Boström4c1e7cc2020-06-11 10:26:532385 "../call/adaptation:resource_adaptation_test_utilities",
Harald Alvestrandc24a2182022-02-23 13:44:592386 "../common_video",
Qingsi Wang7685e862018-06-12 03:15:462387 "../logging:fake_rtc_event_log",
Florent Castellia80c3e52021-04-15 13:02:562388 "../media:rtc_data_sctp_transport_internal",
Yves Gerey3e707812018-11-28 15:47:492389 "../media:rtc_media_config",
Danil Chapovalov9da25bd2019-06-20 08:19:422390 "../media:rtc_media_engine_defaults",
Yves Gerey3e707812018-11-28 15:47:492391 "../modules/audio_device:audio_device_api",
2392 "../modules/audio_processing:audio_processing_statistics",
Henrik Boström883eefc2019-05-27 11:40:252393 "../modules/rtp_rtcp:rtp_rtcp_format",
Qingsi Wang8af1f742019-04-22 05:08:262394 "../p2p:fake_port_allocator",
Harald Alvestrand39993842021-02-17 09:05:312395 "../p2p:p2p_server_utils",
Florent Castelliceb7b362022-04-19 15:35:042396 "../rtc_base:byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:422397 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462398 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:132399 "../rtc_base:event_tracer",
Mirko Bonadeie3abb812018-11-23 12:15:082400 "../rtc_base:gunit_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012401 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302402 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462403 "../rtc_base:macromagic",
Harald Alvestrandc24a2182022-02-23 13:44:592404 "../rtc_base:network_constants",
Florent Castellif86f6f92022-04-05 00:54:122405 "../rtc_base:refcount",
Mirko Bonadeie3abb812018-11-23 12:15:082406 "../rtc_base:rtc_base_tests_utils",
Harald Alvestrand910cdc22020-01-09 11:58:232407 "../rtc_base:rtc_json",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012408 "../rtc_base:socket_address",
Florent Castelli57aa81b2022-04-04 15:14:022409 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112410 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012411 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152412 "../rtc_base:timeutils",
Markus Handell6fcd0f82020-07-07 17:08:532413 "../rtc_base/synchronization:mutex",
Artem Titova76af0c2018-07-23 15:38:122414 "../rtc_base/third_party/base64",
Artem Titov94b57c02019-03-21 12:35:102415 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102416 "../system_wrappers:metrics",
Niels Möller65b2d8a2022-05-19 14:06:232417 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102418 "../test:scoped_key_value_config",
Per Kjellander2bca0082020-08-28 07:15:152419 "../test/pc/sctp:fake_sctp_transport",
Steve Anton64b626b2019-01-29 01:25:262420 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 09:40:332421 "//third_party/abseil-cpp/absl/memory",
Yves Gerey69807e82018-10-30 21:23:022422 "//third_party/abseil-cpp/absl/strings",
Mirko Bonadei2dcf3482020-06-05 12:30:412423 "//third_party/abseil-cpp/absl/types:optional",
Mirko Bonadeie51f7852017-12-06 10:23:192424 ]
Björn Terelius0c68a7a2022-04-19 13:32:372425
ossu7bb87ee2017-01-23 12:56:252426 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372427 use_default_launcher = false
2428 deps += [
2429 ":android_black_magic",
2430
2431 # We need to depend on this one directly, or classloads will fail for
2432 # the voice engine BuildInfo, for instance.
2433 "//sdk/android:libjingle_peerconnection_java",
2434 "//sdk/android:native_test_jni_onload",
2435 ]
2436 shard_timeout = 900
ossu7bb87ee2017-01-23 12:56:252437 }
2438
2439 deps += [
2440 ":libjingle_peerconnection",
deadbeefe814a0d2017-02-26 02:15:092441 ":pc_test_utils",
Harald Alvestrand67a68d52022-02-07 05:07:032442 ":rtc_pc",
Niels Möller8366e172018-02-14 11:20:132443 "../api:callfactory_api",
Niels Möllerd8b9ed72019-05-08 11:53:512444 "../api:rtc_event_log_output_file",
Patrik Höglund563934e2017-09-15 07:04:282445 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282446 "../api:rtp_parameters",
Karl Wibergc5bb00b2017-10-10 21:17:172447 "../api/audio_codecs:audio_codecs_api",
Patrik Höglund563934e2017-09-15 07:04:282448 "../api/audio_codecs:builtin_audio_decoder_factory",
2449 "../api/audio_codecs:builtin_audio_encoder_factory",
Karl Wiberg44d7ec02019-11-26 13:00:412450 "../api/audio_codecs:opus_audio_decoder_factory",
2451 "../api/audio_codecs:opus_audio_encoder_factory",
Karl Wibergc5bb00b2017-10-10 21:17:172452 "../api/audio_codecs/L16:audio_decoder_L16",
2453 "../api/audio_codecs/L16:audio_encoder_L16",
Anders Carlsson67537952018-05-03 09:28:292454 "../api/video_codecs:builtin_video_decoder_factory",
2455 "../api/video_codecs:builtin_video_encoder_factory",
2456 "../api/video_codecs:video_codecs_api",
Steve Anton8d3444d2017-10-20 22:30:512457 "../call:call_interfaces",
Patrik Höglund563934e2017-09-15 07:04:282458 "../media:rtc_audio_video",
Patrik Höglund563934e2017-09-15 07:04:282459 "../media:rtc_media_base",
mbonadei9087d492017-04-25 07:35:352460 "../media:rtc_media_tests_utils",
Artem Titov94b57c02019-03-21 12:35:102461 "../modules/audio_processing",
Alessio Bazzicab768e882018-11-07 14:29:542462 "../modules/audio_processing:api",
Patrik Höglund563934e2017-09-15 07:04:282463 "../p2p:p2p_test_utils",
2464 "../p2p:rtc_p2p",
Artem Titov94b57c02019-03-21 12:35:102465 "../rtc_base",
Tommi8d2c5a82018-03-19 10:12:482466 "../rtc_base:rtc_task_queue",
Mirko Bonadeie12c1fe2018-07-03 10:53:232467 "../rtc_base:safe_conversions",
kwiberg2b3aa142017-06-14 10:31:172468 "../test:audio_codec_mocks",
Niels Möller04a3cc12019-05-21 11:01:582469 "../test:test_main",
Patrik Höglund563934e2017-09-15 07:04:282470 "../test:test_support",
ossu7bb87ee2017-01-23 12:56:252471 ]
ossu7bb87ee2017-01-23 12:56:252472 }
Patrik Höglund563934e2017-09-15 07:04:282473
Harald Alvestranda45c8f42022-05-10 08:44:482474 rtc_library("data_channel_controller_unittest") {
2475 testonly = true
2476 sources = [ "data_channel_controller_unittest.cc" ]
2477 deps = [
2478 ":data_channel_controller",
2479 ":pc_test_utils",
2480 ":peer_connection_internal",
Harald Alvestrand9e5aeb92022-05-11 09:35:362481 ":sctp_data_channel",
Harald Alvestranda45c8f42022-05-10 08:44:482482 "../test:test_support",
2483 ]
2484 }
2485
Patrik Höglund563934e2017-09-15 07:04:282486 if (is_android) {
Mirko Bonadei86d053c2019-10-17 19:32:042487 rtc_library("android_black_magic") {
Björn Terelius0c68a7a2022-04-19 13:32:372488 # The android code uses hacky includes to ssl code. Having this in a
2489 # separate target enables us to keep the peerconnection unit tests clean.
Patrik Höglund563934e2017-09-15 07:04:282490 testonly = true
2491 sources = [
Steve Anton10542f22019-01-11 17:11:002492 "test/android_test_initializer.cc",
2493 "test/android_test_initializer.h",
Patrik Höglund563934e2017-09-15 07:04:282494 ]
2495 deps = [
Björn Terelius0c68a7a2022-04-19 13:32:372496 "../sdk/android:internal_jni",
Patrik Höglund563934e2017-09-15 07:04:282497 "../sdk/android:libjingle_peerconnection_jni",
Björn Terelius0c68a7a2022-04-19 13:32:372498 "//modules/utility:utility",
2499 "//rtc_base:checks",
2500 "//rtc_base:rtc_base",
Patrik Höglund563934e2017-09-15 07:04:282501 "//testing/android/native_test:native_test_support",
2502 ]
2503 }
2504 }
Harald Alvestrand82a94122021-03-08 07:01:482505
2506 rtc_library("integration_test_helpers") {
2507 testonly = true
2508 sources = [
2509 "test/integration_test_helpers.cc",
2510 "test/integration_test_helpers.h",
2511 ]
2512 deps = [
2513 ":audio_rtp_receiver",
2514 ":audio_track",
2515 ":dtmf_sender",
2516 ":jitter_buffer_delay",
Harald Alvestrand7766ab12022-02-02 11:26:032517 ":local_audio_source",
Harald Alvestrande5a73f52022-03-28 12:06:342518 ":media_session",
Harald Alvestrand82a94122021-03-08 07:01:482519 ":media_stream",
2520 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112521 ":peer_connection",
2522 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512523 ":peer_connection_proxy",
Harald Alvestrand82a94122021-03-08 07:01:482524 ":peerconnection",
2525 ":remote_audio_source",
Harald Alvestrand7ee138e2022-03-10 13:21:282526 ":rtp_media_utils",
Harald Alvestrand82a94122021-03-08 07:01:482527 ":rtp_parameters_conversion",
2528 ":rtp_receiver",
2529 ":rtp_sender",
2530 ":rtp_transceiver",
Harald Alvestrandc0a95862021-06-09 09:33:562531 ":session_description",
Harald Alvestrand82a94122021-03-08 07:01:482532 ":usage_pattern",
2533 ":video_rtp_receiver",
2534 ":video_rtp_track_source",
2535 ":video_track",
2536 ":video_track_source",
2537 "../api:array_view",
2538 "../api:audio_options_api",
2539 "../api:callfactory_api",
Mirko Bonadeid151cc62022-06-20 06:35:282540 "../api:candidate",
Harald Alvestrand82a94122021-03-08 07:01:482541 "../api:create_peerconnection_factory",
2542 "../api:fake_frame_decryptor",
2543 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482544 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482545 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282546 "../api:ice_transport_interface",
Harald Alvestrand82a94122021-03-08 07:01:482547 "../api:libjingle_logging_api",
2548 "../api:libjingle_peerconnection_api",
2549 "../api:media_stream_interface",
2550 "../api:mock_rtp",
2551 "../api:packet_socket_factory",
2552 "../api:rtc_error",
2553 "../api:rtc_stats_api",
2554 "../api:rtp_parameters",
2555 "../api:rtp_transceiver_direction",
2556 "../api:scoped_refptr",
2557 "../api/audio:audio_mixer_api",
2558 "../api/crypto:frame_decryptor_interface",
2559 "../api/crypto:frame_encryptor_interface",
2560 "../api/crypto:options",
2561 "../api/rtc_event_log",
2562 "../api/rtc_event_log:rtc_event_log_factory",
2563 "../api/task_queue",
2564 "../api/task_queue:default_task_queue_factory",
Artem Titovc374d112022-06-16 19:27:452565 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand82a94122021-03-08 07:01:482566 "../api/transport:field_trial_based_config",
Harald Alvestrand82a94122021-03-08 07:01:482567 "../api/transport/rtp:rtp_source",
2568 "../api/units:time_delta",
2569 "../api/video:builtin_video_bitrate_allocator_factory",
2570 "../api/video:video_rtp_headers",
2571 "../api/video_codecs:video_codecs_api",
2572 "../call:call_interfaces",
2573 "../call/adaptation:resource_adaptation_test_utilities",
2574 "../logging:fake_rtc_event_log",
2575 "../media:rtc_audio_video",
2576 "../media:rtc_media_base",
2577 "../media:rtc_media_config",
2578 "../media:rtc_media_engine_defaults",
2579 "../media:rtc_media_tests_utils",
2580 "../modules/audio_device:audio_device_api",
2581 "../modules/audio_processing:api",
2582 "../modules/audio_processing:audio_processing_statistics",
2583 "../modules/audio_processing:audioproc_test_utils",
2584 "../modules/rtp_rtcp:rtp_rtcp_format",
2585 "../p2p:fake_ice_transport",
2586 "../p2p:fake_port_allocator",
2587 "../p2p:p2p_server_utils",
2588 "../p2p:p2p_test_utils",
2589 "../p2p:rtc_p2p",
2590 "../rtc_base",
2591 "../rtc_base:checks",
2592 "../rtc_base:gunit_helpers",
2593 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302594 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462595 "../rtc_base:macromagic",
Harald Alvestrand82a94122021-03-08 07:01:482596 "../rtc_base:rtc_base_tests_utils",
Florent Castelli33d31fb2022-04-04 14:57:522597 "../rtc_base:rtc_event",
Harald Alvestrand82a94122021-03-08 07:01:482598 "../rtc_base:rtc_json",
Florent Castellie10a9f62022-04-04 15:04:372599 "../rtc_base:safe_conversions",
Harald Alvestrand82a94122021-03-08 07:01:482600 "../rtc_base:socket_address",
Danil Chapovalov2aaef452022-08-12 13:55:112601 "../rtc_base:task_queue_for_test",
Harald Alvestrand82a94122021-03-08 07:01:482602 "../rtc_base:threading",
2603 "../rtc_base:timeutils",
2604 "../rtc_base/synchronization:mutex",
Evan Shrubsole7619b7c2022-03-01 09:42:442605 "../rtc_base/task_utils:repeating_task",
Harald Alvestrand82a94122021-03-08 07:01:482606 "../rtc_base/third_party/base64",
2607 "../rtc_base/third_party/sigslot",
2608 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102609 "../test:explicit_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482610 "../test:fileutils",
2611 "../test:rtp_test_utils",
Jonas Orelanded99dae2022-03-09 08:28:102612 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482613 "../test:test_support",
2614 "../test/pc/sctp:fake_sctp_transport",
2615 ]
2616 absl_deps = [
2617 "//third_party/abseil-cpp/absl/algorithm:container",
2618 "//third_party/abseil-cpp/absl/memory",
2619 "//third_party/abseil-cpp/absl/strings",
2620 "//third_party/abseil-cpp/absl/types:optional",
2621 ]
2622 }
2623
2624 rtc_library("pc_test_utils") {
2625 testonly = true
2626 sources = [
2627 "test/fake_audio_capture_module.cc",
2628 "test/fake_audio_capture_module.h",
Harald Alvestrand9e5aeb92022-05-11 09:35:362629 "test/fake_data_channel_controller.h",
Harald Alvestrand82a94122021-03-08 07:01:482630 "test/fake_peer_connection_base.h",
2631 "test/fake_peer_connection_for_stats.h",
2632 "test/fake_periodic_video_source.h",
2633 "test/fake_periodic_video_track_source.h",
2634 "test/fake_rtc_certificate_generator.h",
2635 "test/fake_video_track_renderer.h",
2636 "test/fake_video_track_source.h",
2637 "test/frame_generator_capturer_video_track_source.h",
2638 "test/mock_channel_interface.h",
2639 "test/mock_data_channel.h",
Harald Alvestranda45c8f42022-05-10 08:44:482640 "test/mock_peer_connection_internal.h",
Harald Alvestrand82a94122021-03-08 07:01:482641 "test/mock_peer_connection_observers.h",
2642 "test/mock_rtp_receiver_internal.h",
2643 "test/mock_rtp_sender_internal.h",
Tony Herree2044662021-11-29 10:33:422644 "test/mock_voice_media_channel.h",
Harald Alvestrand82a94122021-03-08 07:01:482645 "test/peer_connection_test_wrapper.cc",
2646 "test/peer_connection_test_wrapper.h",
2647 "test/rtc_stats_obtainer.h",
2648 "test/test_sdp_strings.h",
2649 ]
2650
2651 deps = [
Harald Alvestrand65685a62022-04-27 12:15:492652 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402653 ":channel_interface",
Harald Alvestrand82a94122021-03-08 07:01:482654 ":jitter_buffer_delay",
Harald Alvestrand82a94122021-03-08 07:01:482655 ":libjingle_peerconnection",
Harald Alvestrand67a68d52022-02-07 05:07:032656 ":peer_connection_internal",
Harald Alvestrand82a94122021-03-08 07:01:482657 ":peerconnection",
Harald Alvestrand82a94122021-03-08 07:01:482658 ":rtp_receiver",
2659 ":rtp_sender",
Harald Alvestrandad3b3232022-02-07 02:59:362660 ":sctp_data_channel",
Harald Alvestrandab0152d2022-02-07 06:43:482661 ":stream_collection",
Harald Alvestrand82a94122021-03-08 07:01:482662 ":video_track_source",
2663 "../api:audio_options_api",
2664 "../api:create_frame_generator",
2665 "../api:create_peerconnection_factory",
Jonas Orelande62c2f22022-03-29 09:04:482666 "../api:field_trials_view",
2667 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482668 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262669 "../api:make_ref_counted",
Harald Alvestrand82a94122021-03-08 07:01:482670 "../api:media_stream_interface",
2671 "../api:rtc_error",
2672 "../api:rtc_stats_api",
2673 "../api:scoped_refptr",
2674 "../api:sequence_checker",
2675 "../api/audio:audio_mixer_api",
2676 "../api/audio_codecs:audio_codecs_api",
2677 "../api/task_queue",
2678 "../api/task_queue:default_task_queue_factory",
2679 "../api/video:builtin_video_bitrate_allocator_factory",
2680 "../api/video:video_frame",
2681 "../api/video:video_rtp_headers",
2682 "../api/video_codecs:builtin_video_decoder_factory",
2683 "../api/video_codecs:builtin_video_encoder_factory",
2684 "../api/video_codecs:video_codecs_api",
2685 "../call:call_interfaces",
Harald Alvestrand82a94122021-03-08 07:01:482686 "../media:rtc_media",
2687 "../media:rtc_media_base",
2688 "../media:rtc_media_tests_utils",
2689 "../modules/audio_device",
2690 "../modules/audio_processing",
2691 "../modules/audio_processing:api",
2692 "../p2p:fake_port_allocator",
2693 "../p2p:p2p_test_utils",
2694 "../p2p:rtc_p2p",
2695 "../rtc_base",
2696 "../rtc_base:checks",
2697 "../rtc_base:gunit_helpers",
Florent Castelliaa6d05d2022-04-14 11:13:562698 "../rtc_base:location",
Florent Castelli0af55ba2022-04-04 13:06:302699 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462700 "../rtc_base:macromagic",
Harald Alvestrand82a94122021-03-08 07:01:482701 "../rtc_base:rtc_task_queue",
Florent Castelli57aa81b2022-04-04 15:14:022702 "../rtc_base:stringutils",
Harald Alvestrand82a94122021-03-08 07:01:482703 "../rtc_base:task_queue_for_test",
2704 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152705 "../rtc_base:timeutils",
Harald Alvestrand82a94122021-03-08 07:01:482706 "../rtc_base/synchronization:mutex",
2707 "../rtc_base/task_utils:repeating_task",
2708 "../rtc_base/third_party/sigslot",
Jonas Orelanded99dae2022-03-09 08:28:102709 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482710 "../test:test_support",
2711 "../test:video_test_common",
2712 ]
2713 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
2714 }
Florent Castelli90b74382022-04-25 15:28:002715
2716 svc_tests_resources = [
2717 "../resources/difficult_photo_1850_1110.yuv",
2718 "../resources/photo_1850_1110.yuv",
2719 "../resources/presentation_1850_1110.yuv",
2720 "../resources/web_screenshot_1850_1110.yuv",
2721 ]
2722
2723 if (is_ios) {
2724 bundle_data("svc_tests_bundle_data") {
2725 testonly = true
2726 sources = svc_tests_resources
2727 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
2728 }
2729 }
2730
2731 rtc_test("svc_tests") {
2732 sources = [ "test/svc_e2e_tests.cc" ]
2733 data = svc_tests_resources
2734 deps = [
2735 "../api:create_network_emulation_manager",
2736 "../api:create_peer_connection_quality_test_frame_generator",
2737 "../api:create_peerconnection_quality_test_fixture",
2738 "../api:frame_generator_api",
2739 "../api:media_stream_interface",
2740 "../api:network_emulation_manager_api",
2741 "../api:peer_connection_quality_test_fixture_api",
2742 "../api:simulated_network_api",
2743 "../api:time_controller",
2744 "../api/video_codecs:video_codecs_api",
2745 "../call:simulated_network",
2746 "../modules/video_coding:webrtc_vp9",
2747 "../rtc_base/containers:flat_map",
2748 "../system_wrappers:field_trial",
2749 "../test:field_trial",
2750 "../test:fileutils",
2751 "../test:test_main",
2752 "../test:test_support",
2753 "../test/pc/e2e:default_video_quality_analyzer",
2754 "../test/pc/e2e:network_quality_metrics_reporter",
2755 ]
2756
2757 if (is_ios) {
2758 deps += [ ":svc_tests_bundle_data" ]
2759 }
2760 }
kjellander142f8c52016-06-13 07:08:242761}