blob: 18063aef88c168a0865ec79643055861a4ff3f68 [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
Harald Alvestrande47493b2022-02-15 12:45:0219# - sdp_utils
20# - media_stream_observer
21# - video_track_source
22# - libjingle_peerconnection
23#
24# Some targets are depended on by external users for historical reasons,
25# and are therefore marked with visibility "*". This is in the process
26# of being removed.
27#
28# Some targets are only publicly visible in Chrome builds.
29# These are marked up as such.
30
mbonadei9aa3f0a2017-01-24 14:58:2231import("../webrtc.gni")
ossu7bb87ee2017-01-23 12:56:2532if (is_android) {
33 import("//build/config/android/config.gni")
34 import("//build/config/android/rules.gni")
35}
kjellanderc76dc952016-06-03 10:09:3236
37group("pc") {
Danil Chapovalov64f1f3f2020-01-16 13:41:1038 deps = [ ":rtc_pc" ]
kjellanderc76dc952016-06-03 10:09:3239}
40
Evan Shrubsolea06e7ee2024-03-13 12:31:1141rtc_source_set("proxy") {
Harald Alvestrande47493b2022-02-15 12:45:0242 visibility = [ ":*" ]
Evan Shrubsolea06e7ee2024-03-13 12:31:1143 sources = [ "proxy.h" ]
Markus Handella1b82012021-05-26 16:56:3044 deps = [
45 "../api:scoped_refptr",
46 "../api/task_queue",
Florent Castellia30aef32022-04-19 15:47:1347 "../rtc_base:event_tracer",
Florent Castelli33d31fb2022-04-04 14:57:5248 "../rtc_base:rtc_event",
Florent Castelli57aa81b2022-04-04 15:14:0249 "../rtc_base:stringutils",
Markus Handella1b82012021-05-26 16:56:3050 "../rtc_base:threading",
51 "../rtc_base/system:rtc_export",
52 ]
53}
54
Harald Alvestrand03fad382022-03-10 07:30:3155rtc_source_set("channel") {
Harald Alvestrand65685a62022-04-27 12:15:4956 visibility = [
57 ":*",
58 "../test/peer_scenario",
59 ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:5160 sources = [
61 "channel.cc",
62 "channel.h",
63 ]
64 deps = [
65 ":channel_interface",
66 ":rtp_media_utils",
67 ":rtp_transport_internal",
68 ":session_description",
69 "../api:libjingle_peerconnection_api",
70 "../api:rtp_parameters",
71 "../api:rtp_transceiver_direction",
72 "../api:scoped_refptr",
73 "../api:sequence_checker",
74 "../api/crypto:options",
Artem Titovc374d112022-06-16 19:27:4575 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5176 "../api/units:timestamp",
77 "../call:rtp_interfaces",
78 "../call:rtp_receiver",
Harald Alvestrand794d5992022-12-16 09:54:5779 "../media:codec",
80 "../media:media_channel",
81 "../media:media_channel_impl",
82 "../media:rid_description",
Harald Alvestrand794d5992022-12-16 09:54:5783 "../media:rtp_utils",
84 "../media:stream_params",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5185 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand8bb54c12024-02-06 15:24:0386 "../p2p:dtls_transport_internal",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5187 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:0988 "../rtc_base:async_packet_socket",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5189 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:4690 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:1391 "../rtc_base:event_tracer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5192 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:4693 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:0994 "../rtc_base:network_route",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5195 "../rtc_base:socket",
Florent Castelli57aa81b2022-04-04 15:14:0296 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5197 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:0998 "../rtc_base:unique_id_generator",
Harald Alvestrand8e1ae8c2022-03-17 13:13:5199 "../rtc_base/containers:flat_set",
100 "../rtc_base/network:sent_packet",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51101 "../rtc_base/third_party/sigslot",
102 ]
103 absl_deps = [
Emil Lundmark17304c32023-09-15 14:33:03104 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51105 "//third_party/abseil-cpp/absl/strings",
106 "//third_party/abseil-cpp/absl/types:optional",
107 ]
Harald Alvestrand03fad382022-03-10 07:30:31108}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51109
Harald Alvestrand03fad382022-03-10 07:30:31110rtc_source_set("channel_interface") {
111 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40112 sources = [ "channel_interface.h" ]
113 deps = [
114 ":rtp_transport_internal",
115 "../api:libjingle_peerconnection_api",
116 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:57117 "../media:media_channel",
Harald Alvestrandc5b9c952022-03-14 07:16:40118 ]
119 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand03fad382022-03-10 07:30:31120}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51121
Harald Alvestrand03fad382022-03-10 07:30:31122rtc_source_set("dtls_srtp_transport") {
123 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51124 sources = [
125 "dtls_srtp_transport.cc",
126 "dtls_srtp_transport.h",
127 ]
128 deps = [
129 ":srtp_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28130 "../api:dtls_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51131 "../api:libjingle_peerconnection_api",
132 "../api:rtc_error",
Harald Alvestrand8bb54c12024-02-06 15:24:03133 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18134 "../p2p:packet_transport_internal",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51135 "../p2p:rtc_p2p",
Florent Castellif9c59842022-04-19 15:07:23136 "../rtc_base:buffer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51137 "../rtc_base:checks",
138 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09139 "../rtc_base:ssl",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51140 ]
141 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31142}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51143
Harald Alvestrand03fad382022-03-10 07:30:31144rtc_source_set("dtls_transport") {
145 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40146 sources = [
147 "dtls_transport.cc",
148 "dtls_transport.h",
149 ]
150 deps = [
151 ":ice_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28152 "../api:dtls_transport_interface",
153 "../api:ice_transport_interface",
Harald Alvestrandc5b9c952022-03-14 07:16:40154 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:26155 "../api:make_ref_counted",
Harald Alvestrandc5b9c952022-03-14 07:16:40156 "../api:scoped_refptr",
157 "../api:sequence_checker",
Harald Alvestrand8bb54c12024-02-06 15:24:03158 "../p2p:dtls_transport",
159 "../p2p:dtls_transport_internal",
Harald Alvestrandc5b9c952022-03-14 07:16:40160 "../p2p:rtc_p2p",
Harald Alvestrandc5b9c952022-03-14 07:16:40161 "../rtc_base:checks",
162 "../rtc_base:logging",
163 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09164 "../rtc_base:ssl",
Harald Alvestrandc5b9c952022-03-14 07:16:40165 "../rtc_base:threading",
166 "../rtc_base/synchronization:mutex",
167 ]
168 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31169}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51170
Harald Alvestrand03fad382022-03-10 07:30:31171rtc_source_set("external_hmac") {
172 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28173 sources = [
174 "external_hmac.cc",
175 "external_hmac.h",
176 ]
Florent Castelli0af55ba2022-04-04 13:06:30177 deps = [
178 "../rtc_base:logging",
Florent Castellid119b9e2022-04-14 11:23:51179 "../rtc_base:zero_memory",
Florent Castelli0af55ba2022-04-04 13:06:30180 ]
Harald Alvestrand7ee138e2022-03-10 13:21:28181 if (rtc_build_libsrtp) {
182 deps += [ "//third_party/libsrtp" ]
183 }
Harald Alvestrand03fad382022-03-10 07:30:31184}
Harald Alvestrand8e1ae8c2022-03-17 13:13:51185
Harald Alvestrand03fad382022-03-10 07:30:31186rtc_source_set("ice_transport") {
187 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28188 sources = [
189 "ice_transport.cc",
190 "ice_transport.h",
191 ]
192 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28193 "../api:ice_transport_interface",
Harald Alvestrand7ee138e2022-03-10 13:21:28194 "../api:libjingle_peerconnection_api",
195 "../api:sequence_checker",
196 "../rtc_base:checks",
197 "../rtc_base:macromagic",
198 "../rtc_base:threading",
199 ]
Harald Alvestrand03fad382022-03-10 07:30:31200}
Harald Alvestrande5a73f52022-03-28 12:06:34201
Harald Alvestrand03fad382022-03-10 07:30:31202rtc_source_set("jsep_transport") {
203 visibility = [ ":*" ]
Harald Alvestrand8e1ae8c2022-03-17 13:13:51204 sources = [
205 "jsep_transport.cc",
206 "jsep_transport.h",
207 ]
208 deps = [
209 ":dtls_srtp_transport",
210 ":dtls_transport",
211 ":rtcp_mux_filter",
212 ":rtp_transport",
213 ":rtp_transport_internal",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51214 ":sctp_transport",
215 ":session_description",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51216 ":srtp_transport",
217 ":transport_stats",
218 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:28219 "../api:candidate",
220 "../api:ice_transport_interface",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51221 "../api:libjingle_peerconnection_api",
222 "../api:rtc_error",
223 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:21224 "../api:sequence_checker",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51225 "../api/transport:datagram_transport_interface",
226 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrand8bb54c12024-02-06 15:24:03227 "../p2p:dtls_transport",
228 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18229 "../p2p:ice_transport_internal",
230 "../p2p:p2p_constants",
231 "../p2p:p2p_transport_channel",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51232 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:18233 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:03234 "../p2p:transport_info",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51235 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46236 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13237 "../rtc_base:event_tracer",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51238 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46239 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09240 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02241 "../rtc_base:stringutils",
Harald Alvestrand8e1ae8c2022-03-17 13:13:51242 "../rtc_base:threading",
243 ]
244 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31245}
Harald Alvestrande5a73f52022-03-28 12:06:34246
Harald Alvestrand03fad382022-03-10 07:30:31247rtc_source_set("jsep_transport_collection") {
248 visibility = [ ":*" ]
Harald Alvestrande5a73f52022-03-28 12:06:34249 sources = [
250 "jsep_transport_collection.cc",
251 "jsep_transport_collection.h",
252 ]
253 deps = [
254 ":jsep_transport",
255 ":session_description",
256 "../api:libjingle_peerconnection_api",
257 "../api:sequence_checker",
Harald Alvestranda310d782024-01-25 12:27:18258 "../p2p:p2p_constants",
Harald Alvestrande5a73f52022-03-28 12:06:34259 "../p2p:rtc_p2p",
260 "../rtc_base:checks",
261 "../rtc_base:logging",
262 "../rtc_base:macromagic",
263 "../rtc_base/system:no_unique_address",
264 ]
265 absl_deps = []
Harald Alvestrand03fad382022-03-10 07:30:31266}
Harald Alvestrande5a73f52022-03-28 12:06:34267
Harald Alvestrand03fad382022-03-10 07:30:31268rtc_source_set("jsep_transport_controller") {
Harald Alvestrande5a73f52022-03-28 12:06:34269 visibility = [
270 ":*",
271 "../test/peer_scenario:*",
272 ]
273 sources = [
274 "jsep_transport_controller.cc",
275 "jsep_transport_controller.h",
276 ]
277 deps = [
278 ":channel",
279 ":dtls_srtp_transport",
280 ":dtls_transport",
281 ":jsep_transport",
282 ":jsep_transport_collection",
283 ":rtp_transport",
284 ":rtp_transport_internal",
285 ":sctp_transport",
286 ":session_description",
287 ":srtp_transport",
288 ":transport_stats",
289 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:28290 "../api:candidate",
291 "../api:dtls_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34292 "../api:ice_transport_factory",
Mirko Bonadeid151cc62022-06-20 06:35:28293 "../api:ice_transport_interface",
Harald Alvestrande5a73f52022-03-28 12:06:34294 "../api:libjingle_peerconnection_api",
295 "../api:rtc_error",
296 "../api:rtp_parameters",
297 "../api:scoped_refptr",
298 "../api:sequence_checker",
299 "../api/crypto:options",
Victor Boiviecd54fd82024-02-28 11:16:15300 "../api/environment",
Harald Alvestrande5a73f52022-03-28 12:06:34301 "../api/rtc_event_log",
302 "../api/transport:datagram_transport_interface",
303 "../api/transport:enums",
304 "../api/transport:sctp_transport_factory_interface",
305 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrand9a953b22024-01-26 07:11:50306 "../p2p:connection",
Harald Alvestrand8bb54c12024-02-06 15:24:03307 "../p2p:dtls_transport",
308 "../p2p:dtls_transport_factory",
309 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18310 "../p2p:ice_transport_internal",
311 "../p2p:p2p_constants",
312 "../p2p:p2p_transport_channel",
313 "../p2p:packet_transport_internal",
Harald Alvestrand3bddaed2024-02-06 22:54:25314 "../p2p:port",
315 "../p2p:port_allocator",
Harald Alvestrande5a73f52022-03-28 12:06:34316 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:18317 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:03318 "../p2p:transport_info",
Harald Alvestrande5a73f52022-03-28 12:06:34319 "../rtc_base:callback_list",
320 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46321 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13322 "../rtc_base:event_tracer",
Harald Alvestrande5a73f52022-03-28 12:06:34323 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46324 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09325 "../rtc_base:ssl",
Harald Alvestrande5a73f52022-03-28 12:06:34326 "../rtc_base:threading",
327 "../rtc_base/third_party/sigslot",
328 ]
329 absl_deps = [
330 "//third_party/abseil-cpp/absl/algorithm:container",
Per Ke1e94ad2023-03-30 14:53:59331 "//third_party/abseil-cpp/absl/functional:any_invocable",
Harald Alvestrande5a73f52022-03-28 12:06:34332 "//third_party/abseil-cpp/absl/types:optional",
333 ]
Harald Alvestrand03fad382022-03-10 07:30:31334}
Harald Alvestrande5a73f52022-03-28 12:06:34335
Danil Chapovalov082cb562023-10-31 12:51:16336rtc_source_set("media_factory") {
337 sources = [ "media_factory.h" ]
338 deps = [
Danil Chapovalov680f1032023-11-27 16:56:49339 "../api/environment",
Danil Chapovalov082cb562023-10-31 12:51:16340 "../call:call_interfaces",
Harald Alvestrandfb4ad292024-02-28 11:01:25341 "../media:media_engine",
Danil Chapovalov082cb562023-10-31 12:51:16342 ]
343}
344
Harald Alvestrand03fad382022-03-10 07:30:31345rtc_source_set("media_session") {
Harald Alvestrand66ddd5a2022-03-18 09:02:59346 visibility = [ "*" ] # Used by Chrome
Harald Alvestrande5a73f52022-03-28 12:06:34347 sources = [
348 "media_session.cc",
349 "media_session.h",
350 ]
351 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:34352 ":jsep_transport",
353 ":media_protocol_names",
354 ":rtp_media_utils",
355 ":session_description",
356 ":simulcast_description",
357 ":used_ids",
Jonas Orelande62c2f22022-03-29 09:04:48358 "../api:field_trials_view",
Harald Alvestrande5a73f52022-03-28 12:06:34359 "../api:libjingle_peerconnection_api",
360 "../api:rtp_parameters",
361 "../api:rtp_transceiver_direction",
Harald Alvestrande5a73f52022-03-28 12:06:34362 "../api/crypto:options",
Harald Alvestrand794d5992022-12-16 09:54:57363 "../media:codec",
364 "../media:media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:25365 "../media:media_engine",
Harald Alvestrand794d5992022-12-16 09:54:57366 "../media:rid_description",
Harald Alvestrande5a73f52022-03-28 12:06:34367 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrande5a73f52022-03-28 12:06:34368 "../media:rtc_sdp_video_format_utils",
Harald Alvestrand794d5992022-12-16 09:54:57369 "../media:stream_params",
Harald Alvestranda310d782024-01-25 12:27:18370 "../p2p:ice_credentials_iterator",
371 "../p2p:p2p_constants",
Harald Alvestrande5a73f52022-03-28 12:06:34372 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:18373 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:03374 "../p2p:transport_description_factory",
375 "../p2p:transport_info",
Harald Alvestrande5a73f52022-03-28 12:06:34376 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30377 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09378 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02379 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:09380 "../rtc_base:unique_id_generator",
Harald Alvestrand8101e7b2022-05-23 14:57:47381 "../rtc_base/memory:always_valid_pointer",
Harald Alvestrande5a73f52022-03-28 12:06:34382 "../rtc_base/third_party/base64",
383 ]
384 absl_deps = [
385 "//third_party/abseil-cpp/absl/algorithm:container",
386 "//third_party/abseil-cpp/absl/strings",
387 "//third_party/abseil-cpp/absl/types:optional",
388 ]
Harald Alvestrand03fad382022-03-10 07:30:31389}
Harald Alvestrande5a73f52022-03-28 12:06:34390
Harald Alvestrand03fad382022-03-10 07:30:31391rtc_source_set("media_stream_proxy") {
392 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51393 sources = [ "media_stream_proxy.h" ]
394 deps = [
395 ":proxy",
396 "../api:media_stream_interface",
397 ]
Harald Alvestrand03fad382022-03-10 07:30:31398}
Harald Alvestrande5a73f52022-03-28 12:06:34399
Harald Alvestrand03fad382022-03-10 07:30:31400rtc_source_set("media_stream_track_proxy") {
401 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51402 sources = [ "media_stream_track_proxy.h" ]
403 deps = [
404 ":proxy",
405 "../api:media_stream_interface",
406 ]
Harald Alvestrand03fad382022-03-10 07:30:31407}
Harald Alvestrande5a73f52022-03-28 12:06:34408
Harald Alvestrand03fad382022-03-10 07:30:31409rtc_source_set("peer_connection_factory_proxy") {
410 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51411 sources = [ "peer_connection_factory_proxy.h" ]
412 deps = [
413 ":proxy",
414 "../api:libjingle_peerconnection_api",
415 ]
Harald Alvestrand03fad382022-03-10 07:30:31416}
Harald Alvestrande5a73f52022-03-28 12:06:34417
Harald Alvestrand03fad382022-03-10 07:30:31418rtc_source_set("peer_connection_proxy") {
419 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51420 sources = [ "peer_connection_proxy.h" ]
421 deps = [
422 ":proxy",
423 "../api:libjingle_peerconnection_api",
Per K39ac25d2024-02-07 13:16:20424 "../api/transport:bandwidth_estimation_settings",
Harald Alvestrandd9f68462022-03-10 10:09:51425 ]
Harald Alvestrand03fad382022-03-10 07:30:31426}
Harald Alvestrande5a73f52022-03-28 12:06:34427
Harald Alvestrand03fad382022-03-10 07:30:31428rtc_source_set("rtcp_mux_filter") {
429 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28430 sources = [
431 "rtcp_mux_filter.cc",
432 "rtcp_mux_filter.h",
433 ]
434 deps = [
435 ":session_description",
436 "../rtc_base:logging",
437 ]
Harald Alvestrand03fad382022-03-10 07:30:31438}
Harald Alvestrande5a73f52022-03-28 12:06:34439
Harald Alvestrand03fad382022-03-10 07:30:31440rtc_source_set("rtp_media_utils") {
441 visibility = [ ":*" ]
Harald Alvestrand7ee138e2022-03-10 13:21:28442 sources = [
443 "rtp_media_utils.cc",
444 "rtp_media_utils.h",
445 ]
446 deps = [
447 "../api:rtp_transceiver_direction",
448 "../rtc_base:checks",
449 ]
Harald Alvestrand03fad382022-03-10 07:30:31450}
Harald Alvestrande5a73f52022-03-28 12:06:34451
Harald Alvestrand03fad382022-03-10 07:30:31452rtc_source_set("rtp_receiver_proxy") {
453 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51454 sources = [ "rtp_receiver_proxy.h" ]
455 deps = [
456 ":proxy",
457 "../api:libjingle_peerconnection_api",
458 ]
Harald Alvestrand03fad382022-03-10 07:30:31459}
Harald Alvestrande5a73f52022-03-28 12:06:34460
Harald Alvestrand03fad382022-03-10 07:30:31461rtc_source_set("rtp_sender_proxy") {
462 visibility = [ ":*" ]
Harald Alvestrandd9f68462022-03-10 10:09:51463 sources = [ "rtp_sender_proxy.h" ]
464 deps = [
465 ":proxy",
466 "../api:libjingle_peerconnection_api",
Florent Castelliacabb362022-10-18 15:05:16467 "../api:rtp_sender_interface",
Harald Alvestrandd9f68462022-03-10 10:09:51468 ]
Harald Alvestrand03fad382022-03-10 07:30:31469}
Harald Alvestrande5a73f52022-03-28 12:06:34470
Harald Alvestrand03fad382022-03-10 07:30:31471rtc_source_set("rtp_transport") {
472 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59473 sources = [
474 "rtp_transport.cc",
475 "rtp_transport.h",
476 ]
477 deps = [
478 ":rtp_transport_internal",
479 ":session_description",
480 "../api:array_view",
Harald Alvestrand83894d32023-09-26 19:38:19481 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand4bac0bb2022-03-15 13:21:59482 "../api/units:timestamp",
483 "../call:rtp_receiver",
484 "../call:video_stream_api",
Harald Alvestrand794d5992022-12-16 09:54:57485 "../media:rtp_utils",
Harald Alvestrand4bac0bb2022-03-15 13:21:59486 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestranda310d782024-01-25 12:27:18487 "../p2p:packet_transport_internal",
Harald Alvestrand4bac0bb2022-03-15 13:21:59488 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09489 "../rtc_base:async_packet_socket",
Harald Alvestrand4bac0bb2022-03-15 13:21:59490 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46491 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13492 "../rtc_base:event_tracer",
Harald Alvestrand4bac0bb2022-03-15 13:21:59493 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09494 "../rtc_base:network_route",
Harald Alvestrand4bac0bb2022-03-15 13:21:59495 "../rtc_base:socket",
Per K9e0bf9b2024-02-27 08:25:11496 "../rtc_base/network:received_packet",
Harald Alvestrand4bac0bb2022-03-15 13:21:59497 "../rtc_base/network:sent_packet",
Harald Alvestrand4bac0bb2022-03-15 13:21:59498 ]
499 absl_deps = [
500 "//third_party/abseil-cpp/absl/strings",
501 "//third_party/abseil-cpp/absl/types:optional",
502 ]
Harald Alvestrand03fad382022-03-10 07:30:31503}
Harald Alvestrande5a73f52022-03-28 12:06:34504
Harald Alvestrand03fad382022-03-10 07:30:31505rtc_source_set("rtp_transport_internal") {
Harald Alvestrand2ea4d372022-03-10 22:15:42506 visibility = [
507 ":*",
508 "../test/peer_scenario",
509 ]
510 sources = [ "rtp_transport_internal.h" ]
511 deps = [
512 ":session_description",
513 "../call:rtp_receiver",
Harald Alvestranda310d782024-01-25 12:27:18514 "../p2p:ice_transport_internal",
Harald Alvestrand2ea4d372022-03-10 22:15:42515 "../p2p:rtc_p2p",
Harald Alvestrandff281aa2023-09-05 09:49:32516 "../rtc_base:callback_list",
Florent Castellia138c6c2023-01-04 11:01:09517 "../rtc_base:network_route",
518 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42519 ]
Harald Alvestrand03fad382022-03-10 07:30:31520}
Harald Alvestrande5a73f52022-03-28 12:06:34521
Harald Alvestrand03fad382022-03-10 07:30:31522rtc_source_set("sctp_transport") {
523 visibility = [ ":*" ]
Harald Alvestrand7e539922022-03-17 06:26:03524 sources = [
525 "sctp_transport.cc",
526 "sctp_transport.h",
527 ]
528 deps = [
529 ":dtls_transport",
Mirko Bonadeid151cc62022-06-20 06:35:28530 "../api:dtls_transport_interface",
Harald Alvestrand7e539922022-03-17 06:26:03531 "../api:libjingle_peerconnection_api",
532 "../api:scoped_refptr",
533 "../api:sequence_checker",
Fredrik Solenberg5cb3a902022-08-22 09:34:29534 "../api/transport:datagram_transport_interface",
Harald Alvestrand7e539922022-03-17 06:26:03535 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrand8bb54c12024-02-06 15:24:03536 "../p2p:dtls_transport_internal",
Harald Alvestrand7e539922022-03-17 06:26:03537 "../p2p:rtc_p2p",
Harald Alvestrand7e539922022-03-17 06:26:03538 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:30539 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:46540 "../rtc_base:macromagic",
Harald Alvestrand7e539922022-03-17 06:26:03541 "../rtc_base:threading",
542 "../rtc_base/third_party/sigslot",
543 ]
544 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31545}
Harald Alvestrande5a73f52022-03-28 12:06:34546
Harald Alvestrand03fad382022-03-10 07:30:31547rtc_source_set("sctp_utils") {
Harald Alvestrand2ea4d372022-03-10 22:15:42548 visibility = [
549 ":*",
Harald Alvestrandbc8c0952022-03-15 06:53:07550 "../test/fuzzers:*",
Harald Alvestrand2ea4d372022-03-10 22:15:42551 ]
552 sources = [
553 "sctp_utils.cc",
554 "sctp_utils.h",
555 ]
556 deps = [
557 "../api:libjingle_peerconnection_api",
558 "../api:priority",
559 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57560 "../media:media_channel",
Tommi492296c2023-03-12 15:59:25561 "../media:rtc_data_sctp_transport_internal",
Tommi492296c2023-03-12 15:59:25562 "../net/dcsctp/public:types",
Florent Castelliceb7b362022-04-19 15:35:04563 "../rtc_base:byte_buffer",
Florent Castellied4aadc2022-04-19 15:40:46564 "../rtc_base:copy_on_write_buffer",
Florent Castelli0af55ba2022-04-04 13:06:30565 "../rtc_base:logging",
Tommi492296c2023-03-12 15:59:25566 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42567 ]
568 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31569}
Harald Alvestrand03fad382022-03-10 07:30:31570rtc_source_set("srtp_session") {
571 visibility = [ ":*" ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59572 sources = [
573 "srtp_session.cc",
574 "srtp_session.h",
575 ]
576 deps = [
577 ":external_hmac",
578 "../api:array_view",
Jonas Orelande62c2f22022-03-29 09:04:48579 "../api:field_trials_view",
Harald Alvestrand4bac0bb2022-03-15 13:21:59580 "../api:scoped_refptr",
581 "../api:sequence_checker",
Harald Alvestrand4bac0bb2022-03-15 13:21:59582 "../modules/rtp_rtcp:rtp_rtcp_format",
Florent Castellia876a922022-04-19 15:18:36583 "../rtc_base:byte_order",
Harald Alvestrand4bac0bb2022-03-15 13:21:59584 "../rtc_base:checks",
585 "../rtc_base:logging",
Niels Möller2d6c4d02022-04-05 14:14:21586 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09587 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:02588 "../rtc_base:stringutils",
Florent Castellidd837e22022-04-04 15:16:15589 "../rtc_base:timeutils",
Harald Alvestrand4bac0bb2022-03-15 13:21:59590 "../rtc_base/synchronization:mutex",
591 "../system_wrappers:metrics",
592 ]
Ali Tofighfd6a4d62022-03-31 08:36:48593 absl_deps = [
594 "//third_party/abseil-cpp/absl/base:core_headers",
595 "//third_party/abseil-cpp/absl/strings:strings",
596 ]
Harald Alvestrand4bac0bb2022-03-15 13:21:59597 if (rtc_build_libsrtp) {
598 deps += [ "//third_party/libsrtp" ]
599 }
Harald Alvestrand03fad382022-03-10 07:30:31600}
601rtc_source_set("srtp_transport") {
602 visibility = [ ":*" ]
Harald Alvestrand7e539922022-03-17 06:26:03603 sources = [
604 "srtp_transport.cc",
605 "srtp_transport.h",
606 ]
607 deps = [
608 ":rtp_transport",
609 ":srtp_session",
Jonas Orelande62c2f22022-03-29 09:04:48610 "../api:field_trials_view",
Harald Alvestrand7e539922022-03-17 06:26:03611 "../api:libjingle_peerconnection_api",
612 "../api:rtc_error",
Harald Alvestrand794d5992022-12-16 09:54:57613 "../media:rtp_utils",
Harald Alvestrand7e539922022-03-17 06:26:03614 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestranda310d782024-01-25 12:27:18615 "../p2p:packet_transport_internal",
Harald Alvestrand7e539922022-03-17 06:26:03616 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09617 "../rtc_base:async_packet_socket",
Florent Castellif9c59842022-04-19 15:07:23618 "../rtc_base:buffer",
Harald Alvestrand7e539922022-03-17 06:26:03619 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46620 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:13621 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:30622 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:09623 "../rtc_base:network_route",
Florent Castellie10a9f62022-04-04 15:04:37624 "../rtc_base:safe_conversions",
Florent Castellia138c6c2023-01-04 11:01:09625 "../rtc_base:ssl",
Florent Castellid119b9e2022-04-14 11:23:51626 "../rtc_base:zero_memory",
Harald Alvestrand7e539922022-03-17 06:26:03627 "../rtc_base/third_party/base64",
Harald Alvestrand7e539922022-03-17 06:26:03628 ]
629 absl_deps = [
630 "//third_party/abseil-cpp/absl/strings",
631 "//third_party/abseil-cpp/absl/types:optional",
632 ]
Harald Alvestrand03fad382022-03-10 07:30:31633}
Harald Alvestrande5a73f52022-03-28 12:06:34634
Harald Alvestrand03fad382022-03-10 07:30:31635rtc_source_set("transport_stats") {
636 visibility = [ ":*" ]
Harald Alvestrand2ea4d372022-03-10 22:15:42637 sources = [
638 "transport_stats.cc",
639 "transport_stats.h",
640 ]
641 deps = [
Mirko Bonadeid151cc62022-06-20 06:35:28642 "../api:dtls_transport_interface",
Harald Alvestrand2ea4d372022-03-10 22:15:42643 "../api:libjingle_peerconnection_api",
Harald Alvestrand9a953b22024-01-26 07:11:50644 "../p2p:connection",
Harald Alvestrand8bb54c12024-02-06 15:24:03645 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:18646 "../p2p:ice_transport_internal",
Harald Alvestrand3bddaed2024-02-06 22:54:25647 "../p2p:port",
Harald Alvestrand2ea4d372022-03-10 22:15:42648 "../p2p:rtc_p2p",
Florent Castellia138c6c2023-01-04 11:01:09649 "../rtc_base:ssl",
Harald Alvestrand2ea4d372022-03-10 22:15:42650 ]
Harald Alvestrand03fad382022-03-10 07:30:31651}
Harald Alvestrande5a73f52022-03-28 12:06:34652
Harald Alvestrand03fad382022-03-10 07:30:31653rtc_source_set("used_ids") {
654 visibility = [ ":*" ]
Harald Alvestrandc5b9c952022-03-14 07:16:40655 sources = [ "used_ids.h" ]
656 deps = [
657 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:57658 "../media:codec",
Harald Alvestrandc5b9c952022-03-14 07:16:40659 "../rtc_base:checks",
660 "../rtc_base:logging",
661 ]
Harald Alvestrand03fad382022-03-10 07:30:31662}
Harald Alvestrande5a73f52022-03-28 12:06:34663
Harald Alvestrand03fad382022-03-10 07:30:31664rtc_source_set("video_track_source_proxy") {
Harald Alvestrande5a73f52022-03-28 12:06:34665 visibility = [ "*" ] # Used by Chrome
666 sources = [
667 "video_track_source_proxy.cc",
668 "video_track_source_proxy.h",
669 ]
670 deps = [
671 ":proxy",
672 "../api:libjingle_peerconnection_api",
673 "../api:media_stream_interface",
674 "../api:scoped_refptr",
675 "../api:video_track_source_constraints",
676 "../api/video:recordable_encoded_frame",
677 "../api/video:video_frame",
678 "../rtc_base:threading",
679 ]
680 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand03fad382022-03-10 07:30:31681}
682
Harald Alvestrandc0a95862021-06-09 09:33:56683rtc_source_set("session_description") {
Harald Alvestrande79f85c2022-02-07 08:39:52684 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:02685 visibility = [ "*" ] # Used by Chrome and others
686
Harald Alvestrandc0a95862021-06-09 09:33:56687 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48688 "session_description.cc",
689 "session_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56690 ]
691 deps = [
692 ":media_protocol_names",
693 ":simulcast_description",
694 "../api:libjingle_peerconnection_api",
695 "../api:rtp_parameters",
696 "../api:rtp_transceiver_direction",
Harald Alvestrand794d5992022-12-16 09:54:57697 "../media:codec",
698 "../media:media_channel",
699 "../media:media_constants",
700 "../media:rid_description",
Harald Alvestrand794d5992022-12-16 09:54:57701 "../media:stream_params",
Harald Alvestrandc0a95862021-06-09 09:33:56702 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:18703 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:03704 "../p2p:transport_info",
Harald Alvestrandc0a95862021-06-09 09:33:56705 "../rtc_base:checks",
706 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:59707 "../rtc_base:stringutils",
Harald Alvestrandc0a95862021-06-09 09:33:56708 "../rtc_base/system:rtc_export",
709 ]
710 absl_deps = [
711 "//third_party/abseil-cpp/absl/algorithm:container",
712 "//third_party/abseil-cpp/absl/memory:memory",
Niels Möllerf1d822b2022-06-07 11:58:27713 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc0a95862021-06-09 09:33:56714 ]
715}
716
717rtc_source_set("simulcast_description") {
718 sources = [
Harald Alvestrandec6b6552021-06-10 06:51:48719 "simulcast_description.cc",
720 "simulcast_description.h",
Harald Alvestrandc0a95862021-06-09 09:33:56721 ]
722 deps = [
723 "../rtc_base:checks",
724 "../rtc_base:socket_address",
725 "../rtc_base/system:rtc_export",
726 ]
Niels Möller2d3186e2022-01-24 13:15:03727 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrandc0a95862021-06-09 09:33:56728}
729
zhihuang38ede132017-06-15 19:52:32730rtc_source_set("rtc_pc") {
Harald Alvestrande47493b2022-02-15 12:45:02731 if (build_with_chromium) {
732 visibility = [ "*" ]
733 }
Anders Carlsson45340ca2019-01-14 13:23:23734 allow_poison = [ "audio_codecs" ] # TODO(bugs.webrtc.org/8396): Remove.
Harald Alvestrand8df19572022-03-29 07:53:50735 deps = [ "../media:rtc_audio_video" ]
zhihuang38ede132017-06-15 19:52:32736}
737
Mirko Bonadei86d053c2019-10-17 19:32:04738rtc_library("media_protocol_names") {
Harald Alvestrande47493b2022-02-15 12:45:02739 visibility = [ ":*" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16740 sources = [
741 "media_protocol_names.cc",
742 "media_protocol_names.h",
743 ]
Niels Möllerd4aa3a32021-09-29 11:23:01744 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
Harald Alvestrand5fc28b12019-05-13 11:36:16745}
746
Harald Alvestrandad3b3232022-02-07 02:59:36747rtc_library("sctp_data_channel") {
Harald Alvestrande47493b2022-02-15 12:45:02748 visibility = [ ":*" ]
Harald Alvestrandad3b3232022-02-07 02:59:36749 sources = [
750 "sctp_data_channel.cc",
751 "sctp_data_channel.h",
752 ]
753 deps = [
754 ":data_channel_utils",
755 ":proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:42756 ":sctp_utils",
Harald Alvestrandad3b3232022-02-07 02:59:36757 "../api:libjingle_peerconnection_api",
758 "../api:priority",
759 "../api:rtc_error",
760 "../api:scoped_refptr",
Tommi8efaec62023-03-21 17:45:24761 "../api:sequence_checker",
Tommia50a81a2023-04-11 15:32:34762 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrandad3b3232022-02-07 02:59:36763 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57764 "../media:media_channel",
Harald Alvestrandad3b3232022-02-07 02:59:36765 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrandad3b3232022-02-07 02:59:36766 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46767 "../rtc_base:copy_on_write_buffer",
Harald Alvestrandad3b3232022-02-07 02:59:36768 "../rtc_base:logging",
769 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09770 "../rtc_base:ssl",
Harald Alvestrandad3b3232022-02-07 02:59:36771 "../rtc_base:threading",
Tommi1c0d91f2023-03-02 14:42:06772 "../rtc_base:weak_ptr",
Tommi492296c2023-03-12 15:59:25773 "../rtc_base/containers:flat_set",
Tommi8efaec62023-03-21 17:45:24774 "../rtc_base/system:no_unique_address",
Harald Alvestrandad3b3232022-02-07 02:59:36775 "../rtc_base/system:unused",
Harald Alvestrandad3b3232022-02-07 02:59:36776 ]
Tommif9e13f82023-04-06 19:21:45777 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandad3b3232022-02-07 02:59:36778}
779
780rtc_library("data_channel_utils") {
Harald Alvestrande47493b2022-02-15 12:45:02781 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandad3b3232022-02-07 02:59:36782 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:52783
Harald Alvestrandad3b3232022-02-07 02:59:36784 sources = [
785 "data_channel_utils.cc",
786 "data_channel_utils.h",
787 ]
788 deps = [
789 "../api:libjingle_peerconnection_api",
Harald Alvestrandfb4ad292024-02-28 11:01:25790 "../media:media_engine",
Harald Alvestrandad3b3232022-02-07 02:59:36791 "../rtc_base:checks",
792 ]
793}
794
Harald Alvestranda39689c2020-10-15 08:34:31795rtc_library("connection_context") {
Harald Alvestrande47493b2022-02-15 12:45:02796 visibility = [ ":*" ]
Harald Alvestranda39689c2020-10-15 08:34:31797 sources = [
798 "connection_context.cc",
799 "connection_context.h",
800 ]
801 deps = [
Danil Chapovalov082cb562023-10-31 12:51:16802 ":media_factory",
Harald Alvestranda39689c2020-10-15 08:34:31803 "../api:libjingle_peerconnection_api",
804 "../api:media_stream_interface",
Tommi86ee89f2021-04-20 14:58:01805 "../api:refcountedbase",
Harald Alvestranda39689c2020-10-15 08:34:31806 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:24807 "../api:sequence_checker",
Danil Chapovalov7eaa9dc2023-11-27 14:00:21808 "../api/environment",
Harald Alvestrandffd5dc72020-10-20 15:35:31809 "../api/neteq:neteq_api",
Harald Alvestrandffd5dc72020-10-20 15:35:31810 "../api/transport:sctp_transport_factory_interface",
Harald Alvestrandfb4ad292024-02-28 11:01:25811 "../media:media_engine",
Florent Castellia80c3e52021-04-15 13:02:56812 "../media:rtc_data_sctp_transport_factory",
Harald Alvestrand8bb54c12024-02-06 15:24:03813 "../p2p:basic_packet_socket_factory",
Harald Alvestranda39689c2020-10-15 08:34:31814 "../p2p:rtc_p2p",
Harald Alvestrandffd5dc72020-10-20 15:35:31815 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:46816 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09817 "../rtc_base:network",
818 "../rtc_base:rtc_certificate_generator",
Harald Alvestrandc24a2182022-02-23 13:44:59819 "../rtc_base:socket_factory",
820 "../rtc_base:socket_server",
Florent Castellia138c6c2023-01-04 11:01:09821 "../rtc_base:ssl",
Mirko Bonadeie5f4c6b2021-01-15 09:41:01822 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:15823 "../rtc_base:timeutils",
Harald Alvestrand00579e82022-05-03 11:37:34824 "../rtc_base/memory:always_valid_pointer",
Harald Alvestranda39689c2020-10-15 08:34:31825 ]
826}
827
Harald Alvestrand48e1b292022-01-31 10:58:51828rtc_source_set("data_channel_controller") {
829 visibility = [ ":*" ]
Harald Alvestrand5b84f382022-02-08 10:49:09830 sources = [
831 "data_channel_controller.cc",
832 "data_channel_controller.h",
833 ]
834 deps = [
835 ":data_channel_utils",
836 ":peer_connection_internal",
Harald Alvestrand5b84f382022-02-08 10:49:09837 ":sctp_data_channel",
Harald Alvestrand2ea4d372022-03-10 22:15:42838 ":sctp_utils",
Harald Alvestrand5b84f382022-02-08 10:49:09839 "../api:libjingle_peerconnection_api",
840 "../api:rtc_error",
841 "../api:scoped_refptr",
842 "../api:sequence_checker",
Tommi13759ba2023-03-06 11:51:39843 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5b84f382022-02-08 10:49:09844 "../api/transport:datagram_transport_interface",
Harald Alvestrand794d5992022-12-16 09:54:57845 "../media:media_channel",
Harald Alvestrand5b84f382022-02-08 10:49:09846 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:46847 "../rtc_base:copy_on_write_buffer",
Harald Alvestrand5b84f382022-02-08 10:49:09848 "../rtc_base:logging",
849 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:09850 "../rtc_base:ssl",
Harald Alvestrand5b84f382022-02-08 10:49:09851 "../rtc_base:threading",
852 "../rtc_base:weak_ptr",
Harald Alvestrand5b84f382022-02-08 10:49:09853 ]
854 absl_deps = [
855 "//third_party/abseil-cpp/absl/algorithm:container",
856 "//third_party/abseil-cpp/absl/types:optional",
857 ]
Harald Alvestrand48e1b292022-01-31 10:58:51858}
Harald Alvestrand15ad4ed2022-02-09 05:52:11859
Harald Alvestrandae940a52022-02-01 13:37:08860rtc_source_set("peer_connection_internal") {
861 visibility = [ ":*" ]
Harald Alvestrand67a68d52022-02-07 05:07:03862 sources = [ "peer_connection_internal.h" ]
863 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:34864 ":jsep_transport_controller",
Harald Alvestrand67a68d52022-02-07 05:07:03865 ":peer_connection_message_handler",
Harald Alvestrand67a68d52022-02-07 05:07:03866 ":rtp_transceiver",
867 ":rtp_transmission_manager",
868 ":sctp_data_channel",
869 "../api:libjingle_peerconnection_api",
Florent Castellif4673f92024-04-19 19:46:03870 "../api/audio:audio_device",
Harald Alvestrand67a68d52022-02-07 05:07:03871 "../call:call_interfaces",
Fredrik Hernqvistefbe7532023-01-13 15:42:36872 "../modules/audio_device",
Harald Alvestrand67a68d52022-02-07 05:07:03873 ]
Fredrik Hernqvistefbe7532023-01-13 15:42:36874
875 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandae940a52022-02-01 13:37:08876}
Harald Alvestrand8f429922022-05-04 10:32:30877
Harald Alvestrandae940a52022-02-01 13:37:08878rtc_source_set("rtc_stats_collector") {
Harald Alvestrandc1e8aeb2022-03-31 19:53:50879 visibility = [
880 ":*",
881 "../api:*",
882 ]
Harald Alvestrandfd6c7442022-02-08 07:52:10883 sources = [
884 "rtc_stats_collector.cc",
885 "rtc_stats_collector.h",
886 ]
887 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:51888 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:40889 ":channel_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:10890 ":data_channel_utils",
891 ":peer_connection_internal",
Harald Alvestrandfd6c7442022-02-08 07:52:10892 ":rtc_stats_traversal",
893 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:51894 ":rtp_receiver_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:10895 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:51896 ":rtp_sender_proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:10897 ":rtp_transceiver",
898 ":sctp_data_channel",
899 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:42900 ":transport_stats",
Harald Alvestrandfd6c7442022-02-08 07:52:10901 ":webrtc_sdp",
902 "../api:array_view",
Mirko Bonadeid151cc62022-06-20 06:35:28903 "../api:candidate",
904 "../api:dtls_transport_interface",
Harald Alvestrandfd6c7442022-02-08 07:52:10905 "../api:libjingle_peerconnection_api",
906 "../api:media_stream_interface",
907 "../api:rtc_stats_api",
908 "../api:rtp_parameters",
909 "../api:scoped_refptr",
910 "../api:sequence_checker",
Florent Castellif4673f92024-04-19 19:46:03911 "../api/audio:audio_device",
Florent Castelli0afde762024-04-19 15:07:08912 "../api/audio:audio_processing_statistics",
Harald Alvestrandfd6c7442022-02-08 07:52:10913 "../api/task_queue:task_queue",
Harald Alvestrandc24a2182022-02-23 13:44:59914 "../api/units:time_delta",
Harald Alvestrandfd6c7442022-02-08 07:52:10915 "../api/video:video_rtp_headers",
Evan Shrubsole9b235cd2022-12-06 10:09:10916 "../api/video_codecs:scalability_mode",
Harald Alvestrandfd6c7442022-02-08 07:52:10917 "../call:call_interfaces",
918 "../common_video:common_video",
Harald Alvestrand794d5992022-12-16 09:54:57919 "../media:media_channel",
920 "../media:media_channel_impl",
Fredrik Hernqvistefbe7532023-01-13 15:42:36921 "../modules/audio_device",
Harald Alvestrandfd6c7442022-02-08 07:52:10922 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand9a953b22024-01-26 07:11:50923 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:18924 "../p2p:connection_info",
925 "../p2p:ice_transport_internal",
926 "../p2p:p2p_constants",
Harald Alvestrand3bddaed2024-02-06 22:54:25927 "../p2p:port",
Harald Alvestrandfd6c7442022-02-08 07:52:10928 "../p2p:rtc_p2p",
929 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:13930 "../rtc_base:event_tracer",
Harald Alvestrandfd6c7442022-02-08 07:52:10931 "../rtc_base:ip_address",
932 "../rtc_base:logging",
933 "../rtc_base:network_constants",
934 "../rtc_base:refcount",
Harald Alvestrandfd6c7442022-02-08 07:52:10935 "../rtc_base:rtc_event",
936 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:09937 "../rtc_base:ssl",
Harald Alvestrandfd6c7442022-02-08 07:52:10938 "../rtc_base:stringutils",
939 "../rtc_base:threading",
940 "../rtc_base:timeutils",
Tommi60d4adc2023-03-03 12:34:42941 "../rtc_base/containers:flat_set",
Henrik Boströmb3dd1732022-09-30 15:22:44942 "../rtc_base/synchronization:mutex",
Harald Alvestrandfd6c7442022-02-08 07:52:10943 ]
Harald Alvestrandc24a2182022-02-23 13:44:59944 absl_deps = [
Danil Chapovalova30439b2022-07-07 08:08:49945 "//third_party/abseil-cpp/absl/functional:bind_front",
Harald Alvestrandc24a2182022-02-23 13:44:59946 "//third_party/abseil-cpp/absl/strings",
947 "//third_party/abseil-cpp/absl/types:optional",
948 ]
Harald Alvestrandae940a52022-02-01 13:37:08949}
Harald Alvestrandfd6c7442022-02-08 07:52:10950
951rtc_source_set("rtc_stats_traversal") {
952 visibility = [ ":*" ]
953 sources = [
954 "rtc_stats_traversal.cc",
955 "rtc_stats_traversal.h",
956 ]
957 deps = [
958 "../api:rtc_stats_api",
959 "../api:scoped_refptr",
960 "../rtc_base:checks",
961 ]
Henrik Boströmac58a332024-01-22 12:51:36962 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandfd6c7442022-02-08 07:52:10963}
964
Harald Alvestrandae940a52022-02-01 13:37:08965rtc_source_set("sdp_offer_answer") {
966 visibility = [ ":*" ]
Harald Alvestrand8e344192022-02-08 12:55:42967 sources = [
968 "sdp_offer_answer.cc", # TODO: Make separate target when not circular
969 "sdp_offer_answer.h", # dependent on peerconnection.h
970 ]
971 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:51972 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:40973 ":channel_interface",
Harald Alvestrand8e344192022-02-08 12:55:42974 ":connection_context",
975 ":data_channel_controller",
Harald Alvestrandc5b9c952022-03-14 07:16:40976 ":dtls_transport",
Harald Alvestrande5a73f52022-03-28 12:06:34977 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:37978 ":legacy_stats_collector",
Harald Alvestrande5a73f52022-03-28 12:06:34979 ":media_session",
Harald Alvestrand8e344192022-02-08 12:55:42980 ":media_stream",
981 ":media_stream_observer",
Harald Alvestrandd9f68462022-03-10 10:09:51982 ":media_stream_proxy",
Harald Alvestrand8e344192022-02-08 12:55:42983 ":peer_connection_internal",
984 ":peer_connection_message_handler",
Harald Alvestrand7ee138e2022-03-10 13:21:28985 ":rtp_media_utils",
Harald Alvestrand8e344192022-02-08 12:55:42986 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:51987 ":rtp_receiver_proxy",
Harald Alvestrand8e344192022-02-08 12:55:42988 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:51989 ":rtp_sender_proxy",
Harald Alvestrand8e344192022-02-08 12:55:42990 ":rtp_transceiver",
991 ":rtp_transmission_manager",
992 ":sdp_state_provider",
993 ":session_description",
994 ":simulcast_description",
Harald Alvestrand8e344192022-02-08 12:55:42995 ":stream_collection",
996 ":transceiver_list",
997 ":usage_pattern",
Philipp Hancke7d1aff62023-09-25 12:42:51998 ":used_ids",
Harald Alvestrand8e344192022-02-08 12:55:42999 ":webrtc_session_description_factory",
1000 "../api:array_view",
1001 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281002 "../api:candidate",
1003 "../api:dtls_transport_interface",
Harald Alvestrand8f429922022-05-04 10:32:301004 "../api:field_trials_view",
Harald Alvestrand8e344192022-02-08 12:55:421005 "../api:libjingle_peerconnection_api",
1006 "../api:media_stream_interface",
1007 "../api:rtc_error",
1008 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161009 "../api:rtp_sender_interface",
Harald Alvestrand8e344192022-02-08 12:55:421010 "../api:rtp_transceiver_direction",
1011 "../api:scoped_refptr",
1012 "../api:sequence_checker",
1013 "../api/crypto:options",
Harald Alvestrand8e344192022-02-08 12:55:421014 "../api/video:builtin_video_bitrate_allocator_factory",
1015 "../api/video:video_bitrate_allocator_factory",
Harald Alvestrand794d5992022-12-16 09:54:571016 "../media:codec",
1017 "../media:media_channel",
1018 "../media:rid_description",
Harald Alvestrand794d5992022-12-16 09:54:571019 "../media:stream_params",
Harald Alvestrand9a953b22024-01-26 07:11:501020 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:181021 "../p2p:ice_transport_internal",
1022 "../p2p:p2p_constants",
1023 "../p2p:p2p_transport_channel",
Harald Alvestrand3bddaed2024-02-06 22:54:251024 "../p2p:port",
1025 "../p2p:port_allocator",
Harald Alvestrand8e344192022-02-08 12:55:421026 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:181027 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:031028 "../p2p:transport_description_factory",
1029 "../p2p:transport_info",
Harald Alvestrand8e344192022-02-08 12:55:421030 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131031 "../rtc_base:event_tracer",
Harald Alvestrand8e344192022-02-08 12:55:421032 "../rtc_base:logging",
1033 "../rtc_base:macromagic",
Harald Alvestrand8e344192022-02-08 12:55:421034 "../rtc_base:rtc_operations_chain",
Florent Castellia138c6c2023-01-04 11:01:091035 "../rtc_base:ssl",
Harald Alvestrand8e344192022-02-08 12:55:421036 "../rtc_base:stringutils",
1037 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:091038 "../rtc_base:unique_id_generator",
Harald Alvestrand8e344192022-02-08 12:55:421039 "../rtc_base:weak_ptr",
Harald Alvestrand8e344192022-02-08 12:55:421040 "../system_wrappers:metrics",
1041 ]
1042 absl_deps = [
1043 "//third_party/abseil-cpp/absl/algorithm:container",
1044 "//third_party/abseil-cpp/absl/memory:memory",
1045 "//third_party/abseil-cpp/absl/strings:strings",
1046 "//third_party/abseil-cpp/absl/types:optional",
1047 ]
Harald Alvestrandae940a52022-02-01 13:37:081048}
1049rtc_source_set("jsep_ice_candidate") {
1050 visibility = [ ":*" ]
1051}
1052rtc_source_set("jsep_session_description") {
1053 visibility = [ ":*" ]
1054}
1055rtc_source_set("local_audio_source") {
1056 visibility = [ ":*" ]
Harald Alvestrand7766ab12022-02-02 11:26:031057 sources = [
1058 "local_audio_source.cc",
1059 "local_audio_source.h",
1060 ]
1061 deps = [
1062 "../api:audio_options_api",
1063 "../api:media_stream_interface",
1064 "../api:scoped_refptr",
Harald Alvestrand7766ab12022-02-02 11:26:031065 ]
Harald Alvestrandae940a52022-02-01 13:37:081066}
1067rtc_source_set("peer_connection") {
1068 visibility = [ ":*" ]
Harald Alvestrand15ad4ed2022-02-09 05:52:111069 sources = [
1070 "peer_connection.cc",
1071 "peer_connection.h",
1072 ]
1073 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511074 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401075 ":channel_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111076 ":connection_context",
1077 ":data_channel_controller",
1078 ":data_channel_utils",
Harald Alvestrandc5b9c952022-03-14 07:16:401079 ":dtls_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111080 ":ice_server_parsing",
Harald Alvestrande5a73f52022-03-28 12:06:341081 ":jsep_transport_controller",
Henrik Boströmf7859892022-07-04 12:36:371082 ":legacy_stats_collector",
Harald Alvestrand15ad4ed2022-02-09 05:52:111083 ":peer_connection_internal",
1084 ":peer_connection_message_handler",
Harald Alvestrand15ad4ed2022-02-09 05:52:111085 ":rtc_stats_collector",
1086 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511087 ":rtp_receiver_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111088 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511089 ":rtp_sender_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111090 ":rtp_transceiver",
1091 ":rtp_transmission_manager",
Harald Alvestrand2ea4d372022-03-10 22:15:421092 ":rtp_transport_internal",
Harald Alvestrand15ad4ed2022-02-09 05:52:111093 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:031094 ":sctp_transport",
Harald Alvestrand15ad4ed2022-02-09 05:52:111095 ":sdp_offer_answer",
1096 ":session_description",
1097 ":simulcast_description",
Harald Alvestrand15ad4ed2022-02-09 05:52:111098 ":transceiver_list",
Harald Alvestrand2ea4d372022-03-10 22:15:421099 ":transport_stats",
Harald Alvestrand15ad4ed2022-02-09 05:52:111100 ":usage_pattern",
1101 ":webrtc_session_description_factory",
1102 "../api:async_dns_resolver",
Mirko Bonadeid151cc62022-06-20 06:35:281103 "../api:candidate",
1104 "../api:dtls_transport_interface",
Jonas Orelande62c2f22022-03-29 09:04:481105 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281106 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111107 "../api:libjingle_logging_api",
1108 "../api:libjingle_peerconnection_api",
1109 "../api:media_stream_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111110 "../api:rtc_error",
1111 "../api:rtc_stats_api",
1112 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161113 "../api:rtp_sender_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111114 "../api:rtp_transceiver_direction",
1115 "../api:scoped_refptr",
1116 "../api:sequence_checker",
Mirko Bonadeid151cc62022-06-20 06:35:281117 "../api:turn_customizer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111118 "../api/adaptation:resource_adaptation_api",
1119 "../api/crypto:options",
Danil Chapovalov3bdb49b2023-11-30 07:59:391120 "../api/environment",
Harald Alvestrand09bdd952022-04-05 13:00:541121 "../api/rtc_event_log",
Artem Titovc374d112022-06-16 19:27:451122 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand15ad4ed2022-02-09 05:52:111123 "../api/transport:bitrate_settings",
1124 "../api/transport:datagram_transport_interface",
1125 "../api/transport:enums",
Harald Alvestrand15ad4ed2022-02-09 05:52:111126 "../api/video:video_codec_constants",
1127 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:571128 "../media:media_channel",
Harald Alvestrandfb4ad292024-02-28 11:01:251129 "../media:media_engine",
Harald Alvestrand794d5992022-12-16 09:54:571130 "../media:rid_description",
Harald Alvestrand15ad4ed2022-02-09 05:52:111131 "../media:rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:571132 "../media:stream_params",
Harald Alvestrand15ad4ed2022-02-09 05:52:111133 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestranda310d782024-01-25 12:27:181134 "../p2p:basic_async_resolver_factory",
Harald Alvestrand9a953b22024-01-26 07:11:501135 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:181136 "../p2p:connection_info",
Harald Alvestrand8bb54c12024-02-06 15:24:031137 "../p2p:dtls_transport_internal",
Harald Alvestranda310d782024-01-25 12:27:181138 "../p2p:ice_transport_internal",
1139 "../p2p:p2p_constants",
1140 "../p2p:p2p_transport_channel",
Harald Alvestrand3bddaed2024-02-06 22:54:251141 "../p2p:port",
1142 "../p2p:port_allocator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111143 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:181144 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:031145 "../p2p:transport_info",
Harald Alvestrand15ad4ed2022-02-09 05:52:111146 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:461147 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:131148 "../rtc_base:event_tracer",
Harald Alvestrand15ad4ed2022-02-09 05:52:111149 "../rtc_base:ip_address",
1150 "../rtc_base:logging",
1151 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091152 "../rtc_base:net_helper",
1153 "../rtc_base:network",
Harald Alvestrand15ad4ed2022-02-09 05:52:111154 "../rtc_base:network_constants",
Harald Alvestrand15ad4ed2022-02-09 05:52:111155 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091156 "../rtc_base:ssl",
Harald Alvestrand15ad4ed2022-02-09 05:52:111157 "../rtc_base:stringutils",
1158 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:091159 "../rtc_base:unique_id_generator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111160 "../rtc_base:weak_ptr",
Harald Alvestrand15ad4ed2022-02-09 05:52:111161 "../system_wrappers:metrics",
1162 ]
1163 absl_deps = [
1164 "//third_party/abseil-cpp/absl/algorithm:container",
1165 "//third_party/abseil-cpp/absl/strings:strings",
1166 "//third_party/abseil-cpp/absl/types:optional",
1167 ]
Harald Alvestrandae940a52022-02-01 13:37:081168}
Harald Alvestrandfd6c7442022-02-08 07:52:101169
Philipp Hancke96bc0942023-09-14 15:23:591170rtc_source_set("simulcast_sdp_serializer") {
Harald Alvestrandae940a52022-02-01 13:37:081171 visibility = [ ":*" ]
Harald Alvestrand2f122e42022-02-01 20:59:511172 sources = [
Philipp Hancke96bc0942023-09-14 15:23:591173 "simulcast_sdp_serializer.cc",
1174 "simulcast_sdp_serializer.h",
Harald Alvestrand2f122e42022-02-01 20:59:511175 ]
1176 deps = [
1177 ":session_description",
1178 ":simulcast_description",
1179 "../api:rtc_error",
Harald Alvestrand794d5992022-12-16 09:54:571180 "../media:rid_description",
Harald Alvestrand2f122e42022-02-01 20:59:511181 "../modules/rtp_rtcp:rtp_rtcp_format",
1182 "../rtc_base:checks",
1183 "../rtc_base:stringutils",
1184 ]
1185 absl_deps = [
1186 "//third_party/abseil-cpp/absl/algorithm:container",
1187 "//third_party/abseil-cpp/absl/strings:strings",
1188 "//third_party/abseil-cpp/absl/types:optional",
1189 ]
Harald Alvestrandae940a52022-02-01 13:37:081190}
1191rtc_source_set("sdp_utils") {
Harald Alvestrand63c3b132022-02-03 07:56:221192 sources = [
1193 "sdp_utils.cc",
1194 "sdp_utils.h",
1195 ]
1196 deps = [
Harald Alvestrand67a68d52022-02-07 05:07:031197 ":session_description",
Harald Alvestrand63c3b132022-02-03 07:56:221198 "../api:libjingle_peerconnection_api",
1199 "../p2p:rtc_p2p",
Harald Alvestrand8bb54c12024-02-06 15:24:031200 "../p2p:transport_info",
Harald Alvestrand63c3b132022-02-03 07:56:221201 "../rtc_base:checks",
1202 "../rtc_base/system:rtc_export",
1203 ]
Harald Alvestrandae940a52022-02-01 13:37:081204}
Henrik Boströmf7859892022-07-04 12:36:371205rtc_source_set("legacy_stats_collector") {
Harald Alvestrandae940a52022-02-01 13:37:081206 visibility = [ ":*" ]
Harald Alvestranda7fc7652022-02-08 09:30:411207 sources = [
Henrik Boströmf7859892022-07-04 12:36:371208 "legacy_stats_collector.cc",
1209 "legacy_stats_collector.h",
Harald Alvestranda7fc7652022-02-08 09:30:411210 ]
1211 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511212 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401213 ":channel_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411214 ":data_channel_utils",
Henrik Boströmf7859892022-07-04 12:36:371215 ":legacy_stats_collector_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411216 ":peer_connection_internal",
Harald Alvestranda7fc7652022-02-08 09:30:411217 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511218 ":rtp_receiver_proxy",
1219 ":rtp_sender_proxy",
Harald Alvestranda7fc7652022-02-08 09:30:411220 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:421221 ":transport_stats",
Mirko Bonadeid151cc62022-06-20 06:35:281222 "../api:candidate",
Jonas Orelande62c2f22022-03-29 09:04:481223 "../api:field_trials_view",
Harald Alvestranda7fc7652022-02-08 09:30:411224 "../api:libjingle_peerconnection_api",
1225 "../api:media_stream_interface",
1226 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161227 "../api:rtp_sender_interface",
Harald Alvestranda7fc7652022-02-08 09:30:411228 "../api:scoped_refptr",
1229 "../api:sequence_checker",
Florent Castelli0afde762024-04-19 15:07:081230 "../api/audio:audio_processing_statistics",
Harald Alvestranda7fc7652022-02-08 09:30:411231 "../api/audio_codecs:audio_codecs_api",
1232 "../api/video:video_rtp_headers",
1233 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:571234 "../media:media_channel",
Harald Alvestrand9a953b22024-01-26 07:11:501235 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:181236 "../p2p:connection_info",
1237 "../p2p:ice_transport_internal",
1238 "../p2p:p2p_constants",
Harald Alvestrand3bddaed2024-02-06 22:54:251239 "../p2p:port",
Harald Alvestranda7fc7652022-02-08 09:30:411240 "../p2p:rtc_p2p",
1241 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131242 "../rtc_base:event_tracer",
Harald Alvestranda7fc7652022-02-08 09:30:411243 "../rtc_base:ip_address",
1244 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461245 "../rtc_base:macromagic",
Harald Alvestranda7fc7652022-02-08 09:30:411246 "../rtc_base:network_constants",
Harald Alvestranda7fc7652022-02-08 09:30:411247 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091248 "../rtc_base:ssl",
Harald Alvestranda7fc7652022-02-08 09:30:411249 "../rtc_base:stringutils",
1250 "../rtc_base:threading",
1251 "../rtc_base:timeutils",
Harald Alvestranda7fc7652022-02-08 09:30:411252 ]
Harald Alvestrandc24a2182022-02-23 13:44:591253 absl_deps = [
1254 "//third_party/abseil-cpp/absl/strings",
1255 "//third_party/abseil-cpp/absl/types:optional",
1256 ]
Harald Alvestrandae940a52022-02-01 13:37:081257}
1258rtc_source_set("stream_collection") {
1259 visibility = [ ":*" ]
Harald Alvestrandab0152d2022-02-07 06:43:481260 sources = [ "stream_collection.h" ]
1261 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandae940a52022-02-01 13:37:081262}
1263rtc_source_set("track_media_info_map") {
1264 visibility = [ ":*" ]
Harald Alvestrand59427ad2022-02-03 19:02:381265 sources = [
1266 "track_media_info_map.cc",
1267 "track_media_info_map.h",
1268 ]
1269 deps = [
1270 ":rtp_receiver",
1271 ":rtp_sender",
Henrik Boström808a8fc2022-07-27 09:32:141272 "../api:array_view",
Harald Alvestrand59427ad2022-02-03 19:02:381273 "../api:media_stream_interface",
1274 "../api:rtp_parameters",
1275 "../api:scoped_refptr",
Harald Alvestrand794d5992022-12-16 09:54:571276 "../media:media_channel",
Harald Alvestrand794d5992022-12-16 09:54:571277 "../media:stream_params",
Harald Alvestrand59427ad2022-02-03 19:02:381278 "../rtc_base:checks",
1279 "../rtc_base:refcount",
1280 "../rtc_base:threading",
1281 ]
1282 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrandae940a52022-02-01 13:37:081283}
1284rtc_source_set("webrtc_sdp") {
Harald Alvestrande47493b2022-02-15 12:45:021285 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande79f85c2022-02-07 08:39:521286 visibility = [ "*" ] # Used by Chrome and more
Harald Alvestrandb6f39162022-02-08 05:56:551287
Harald Alvestrandb6f39162022-02-08 05:56:551288 sources = [
1289 "jsep_ice_candidate.cc",
1290 "jsep_session_description.cc",
1291 "webrtc_sdp.cc",
1292 "webrtc_sdp.h",
1293 ]
1294 deps = [
1295 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:341296 ":media_session",
Harald Alvestrandb6f39162022-02-08 05:56:551297 ":session_description",
1298 ":simulcast_description",
Philipp Hancke96bc0942023-09-14 15:23:591299 ":simulcast_sdp_serializer",
Mirko Bonadeid151cc62022-06-20 06:35:281300 "../api:candidate",
Harald Alvestrandb6f39162022-02-08 05:56:551301 "../api:libjingle_peerconnection_api",
1302 "../api:rtc_error",
1303 "../api:rtp_parameters",
1304 "../api:rtp_transceiver_direction",
Harald Alvestrand794d5992022-12-16 09:54:571305 "../media:codec",
1306 "../media:media_constants",
1307 "../media:rid_description",
Harald Alvestrandb6f39162022-02-08 05:56:551308 "../media:rtc_data_sctp_transport_internal",
Harald Alvestrand794d5992022-12-16 09:54:571309 "../media:rtp_utils",
1310 "../media:stream_params",
Harald Alvestranda310d782024-01-25 12:27:181311 "../p2p:candidate_pair_interface",
Harald Alvestrand9a953b22024-01-26 07:11:501312 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:181313 "../p2p:ice_transport_internal",
1314 "../p2p:p2p_constants",
Harald Alvestrand3bddaed2024-02-06 22:54:251315 "../p2p:port",
Harald Alvestranda310d782024-01-25 12:27:181316 "../p2p:port_interface",
Harald Alvestrandb6f39162022-02-08 05:56:551317 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:181318 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:031319 "../p2p:transport_info",
Harald Alvestrandb6f39162022-02-08 05:56:551320 "../rtc_base:checks",
1321 "../rtc_base:ip_address",
1322 "../rtc_base:logging",
1323 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091324 "../rtc_base:net_helper",
Harald Alvestrandb6f39162022-02-08 05:56:551325 "../rtc_base:network_constants",
Harald Alvestrandb6f39162022-02-08 05:56:551326 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:091327 "../rtc_base:ssl",
Harald Alvestrandb6f39162022-02-08 05:56:551328 "../rtc_base:stringutils",
1329 "../rtc_base/system:rtc_export",
1330 ]
1331 absl_deps = [
1332 "//third_party/abseil-cpp/absl/algorithm:container",
Harald Alvestrandc24a2182022-02-23 13:44:591333 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandb6f39162022-02-08 05:56:551334 "//third_party/abseil-cpp/absl/types:optional",
1335 ]
Harald Alvestrandae940a52022-02-01 13:37:081336}
1337rtc_source_set("webrtc_session_description_factory") {
1338 visibility = [ ":*" ]
Harald Alvestrand65d89e82022-02-03 09:48:251339 sources = [
1340 "webrtc_session_description_factory.cc",
1341 "webrtc_session_description_factory.h",
1342 ]
1343 deps = [
Jonas Orelanded99dae2022-03-09 08:28:101344 ":connection_context",
Harald Alvestrande5a73f52022-03-28 12:06:341345 ":media_session",
Harald Alvestrand65d89e82022-02-03 09:48:251346 ":sdp_state_provider",
1347 ":session_description",
1348 "../api:libjingle_peerconnection_api",
1349 "../api:rtc_error",
1350 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211351 "../api:sequence_checker",
Danil Chapovalov97bdfa32022-08-22 17:45:431352 "../api/task_queue",
Harald Alvestrand65d89e82022-02-03 09:48:251353 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:181354 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:031355 "../p2p:transport_description_factory",
Harald Alvestrand65d89e82022-02-03 09:48:251356 "../rtc_base:checks",
1357 "../rtc_base:logging",
Florent Castellia138c6c2023-01-04 11:01:091358 "../rtc_base:rtc_certificate_generator",
1359 "../rtc_base:ssl",
Harald Alvestrand65d89e82022-02-03 09:48:251360 "../rtc_base:stringutils",
Florent Castellia138c6c2023-01-04 11:01:091361 "../rtc_base:unique_id_generator",
Danil Chapovalovb22f0c22022-08-19 12:03:541362 "../rtc_base:weak_ptr",
Harald Alvestrand65d89e82022-02-03 09:48:251363 ]
1364 absl_deps = [
1365 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalov97bdfa32022-08-22 17:45:431366 "//third_party/abseil-cpp/absl/functional:any_invocable",
Harald Alvestrand65d89e82022-02-03 09:48:251367 "//third_party/abseil-cpp/absl/types:optional",
1368 ]
Harald Alvestrandae940a52022-02-01 13:37:081369}
1370
1371rtc_library("ice_server_parsing") {
Harald Alvestrande47493b2022-02-15 12:45:021372 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrandae940a52022-02-01 13:37:081373 visibility = [ "*" ] # Known to be used externally
Harald Alvestrande79f85c2022-02-07 08:39:521374
Harald Alvestrandae940a52022-02-01 13:37:081375 sources = [
1376 "ice_server_parsing.cc",
1377 "ice_server_parsing.h",
1378 ]
1379 deps = [
1380 "../api:libjingle_peerconnection_api",
1381 "../api:rtc_error",
Harald Alvestrand9a953b22024-01-26 07:11:501382 "../p2p:connection",
Harald Alvestrand3bddaed2024-02-06 22:54:251383 "../p2p:port",
1384 "../p2p:port_allocator",
Harald Alvestranda310d782024-01-25 12:27:181385 "../p2p:port_interface",
Harald Alvestrandae940a52022-02-01 13:37:081386 "../p2p:rtc_p2p",
1387 "../rtc_base:checks",
1388 "../rtc_base:ip_address",
1389 "../rtc_base:logging",
1390 "../rtc_base:macromagic",
1391 "../rtc_base:socket_address",
1392 "../rtc_base:stringutils",
1393 "../rtc_base/system:rtc_export",
1394 ]
1395}
1396
1397rtc_library("media_stream_observer") {
Harald Alvestrand13b62c22022-02-01 07:47:531398 sources = [
1399 "media_stream_observer.cc",
1400 "media_stream_observer.h",
1401 ]
1402 deps = [
1403 "../api:media_stream_interface",
1404 "../api:scoped_refptr",
1405 ]
1406 absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
Harald Alvestrand48e1b292022-01-31 10:58:511407}
Harald Alvestrand15ad4ed2022-02-09 05:52:111408rtc_source_set("peer_connection_factory") {
Harald Alvestrande47493b2022-02-15 12:45:021409 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrand15ad4ed2022-02-09 05:52:111410 visibility = [ "*" ] # Known to be used externally
Danil Chapovalov9fdceb82023-11-27 09:57:221411 allow_poison = [ "environment_construction" ]
Harald Alvestrand15ad4ed2022-02-09 05:52:111412 sources = [
1413 "peer_connection_factory.cc",
1414 "peer_connection_factory.h",
1415 ]
1416 deps = [
1417 ":local_audio_source",
Harald Alvestrandd9f68462022-03-10 10:09:511418 ":media_stream_proxy",
1419 ":media_stream_track_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111420 ":peer_connection",
Harald Alvestrandd9f68462022-03-10 10:09:511421 ":peer_connection_factory_proxy",
1422 ":peer_connection_proxy",
Harald Alvestrand15ad4ed2022-02-09 05:52:111423 "../api:audio_options_api",
Harald Alvestrand15ad4ed2022-02-09 05:52:111424 "../api:fec_controller_api",
Jonas Orelande62c2f22022-03-29 09:04:481425 "../api:field_trials_view",
Mirko Bonadeid151cc62022-06-20 06:35:281426 "../api:ice_transport_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111427 "../api:libjingle_peerconnection_api",
1428 "../api:media_stream_interface",
1429 "../api:network_state_predictor_api",
1430 "../api:packet_socket_factory",
1431 "../api:rtc_error",
1432 "../api:rtp_parameters",
1433 "../api:scoped_refptr",
1434 "../api:sequence_checker",
Danil Chapovalov7eaa9dc2023-11-27 14:00:211435 "../api/environment",
Danil Chapovalov9fdceb82023-11-27 09:57:221436 "../api/environment:environment_factory",
Harald Alvestrandc24a2182022-02-23 13:44:591437 "../api/metronome",
Harald Alvestrand15ad4ed2022-02-09 05:52:111438 "../api/neteq:neteq_api",
1439 "../api/rtc_event_log:rtc_event_log",
Harald Alvestrand15ad4ed2022-02-09 05:52:111440 "../api/transport:bitrate_settings",
1441 "../api/transport:network_control",
1442 "../api/transport:sctp_transport_factory_interface",
Harald Alvestrand15ad4ed2022-02-09 05:52:111443 "../api/units:data_rate",
1444 "../call:call_interfaces",
1445 "../call:rtp_interfaces",
1446 "../call:rtp_sender",
Harald Alvestrandfb4ad292024-02-28 11:01:251447 "../media:media_engine",
Harald Alvestrand8bb54c12024-02-06 15:24:031448 "../p2p:basic_packet_socket_factory",
Harald Alvestrand3bddaed2024-02-06 22:54:251449 "../p2p:basic_port_allocator",
Harald Alvestrand9a953b22024-01-26 07:11:501450 "../p2p:connection",
Harald Alvestrand8bb54c12024-02-06 15:24:031451 "../p2p:default_ice_transport_factory",
Harald Alvestrand3bddaed2024-02-06 22:54:251452 "../p2p:port_allocator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111453 "../p2p:rtc_p2p",
1454 "../pc:audio_track",
1455 "../pc:connection_context",
Danil Chapovalovfe66dda2023-12-04 11:05:381456 "../pc:media_factory",
Harald Alvestrand15ad4ed2022-02-09 05:52:111457 "../pc:media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:111458 "../pc:rtp_parameters_conversion",
1459 "../pc:session_description",
1460 "../pc:video_track",
1461 "../rtc_base:checks",
1462 "../rtc_base:logging",
1463 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091464 "../rtc_base:rtc_certificate_generator",
Harald Alvestrand15ad4ed2022-02-09 05:52:111465 "../rtc_base:safe_conversions",
1466 "../rtc_base:threading",
1467 "../rtc_base/experiments:field_trial_parser",
1468 "../rtc_base/system:file_wrapper",
1469 ]
1470 absl_deps = [ "//third_party/abseil-cpp/absl/strings:strings" ]
1471}
Harald Alvestrand48e1b292022-01-31 10:58:511472
Harald Alvestrand1090e442020-10-05 07:01:091473rtc_library("peer_connection_message_handler") {
Harald Alvestrande47493b2022-02-15 12:45:021474 visibility = [ ":*" ]
Harald Alvestrand1090e442020-10-05 07:01:091475 sources = [
1476 "peer_connection_message_handler.cc",
1477 "peer_connection_message_handler.h",
1478 ]
1479 deps = [
Henrik Boströmf7859892022-07-04 12:36:371480 ":legacy_stats_collector_interface",
Harald Alvestrand1090e442020-10-05 07:01:091481 "../api:libjingle_peerconnection_api",
1482 "../api:media_stream_interface",
1483 "../api:rtc_error",
Harald Alvestrand5761e7b2021-01-29 14:45:081484 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241485 "../api:sequence_checker",
Danil Chapovalov5d37ba22022-08-17 12:58:401486 "../api/task_queue",
1487 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5761e7b2021-01-29 14:45:081488 "../rtc_base:checks",
Harald Alvestrand1090e442020-10-05 07:01:091489 ]
1490}
1491
Harald Alvestrand44d0dff2020-10-09 05:43:531492rtc_library("usage_pattern") {
Harald Alvestrande47493b2022-02-15 12:45:021493 visibility = [ ":*" ]
Harald Alvestrand44d0dff2020-10-09 05:43:531494 sources = [
1495 "usage_pattern.cc",
1496 "usage_pattern.h",
1497 ]
1498 deps = [
1499 "../api:libjingle_peerconnection_api",
1500 "../rtc_base:logging",
1501 "../system_wrappers:metrics",
1502 ]
1503}
1504
Harald Alvestrandbb02db22020-10-08 16:35:181505rtc_library("rtp_transceiver") {
Harald Alvestrande47493b2022-02-15 12:45:021506 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181507 sources = [
1508 "rtp_transceiver.cc",
1509 "rtp_transceiver.h",
1510 ]
1511 deps = [
Harald Alvestrand8f429922022-05-04 10:32:301512 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:401513 ":channel_interface",
Harald Alvestrandc3fa7c32022-05-22 10:57:011514 ":connection_context",
Markus Handella1b82012021-05-26 16:56:301515 ":proxy",
Harald Alvestrand7ee138e2022-03-10 13:21:281516 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:181517 ":rtp_parameters_conversion",
1518 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511519 ":rtp_receiver_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:181520 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511521 ":rtp_sender_proxy",
Harald Alvestrand2ea4d372022-03-10 22:15:421522 ":rtp_transport_internal",
Harald Alvestrandc0a95862021-06-09 09:33:561523 ":session_description",
Harald Alvestrand5761e7b2021-01-29 14:45:081524 "../api:array_view",
Harald Alvestrand8f429922022-05-04 10:32:301525 "../api:audio_options_api",
Harald Alvestrand13897e62023-05-22 12:49:051526 "../api:field_trials_view",
Harald Alvestrandbb02db22020-10-08 16:35:181527 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081528 "../api:rtc_error",
Harald Alvestrandbb02db22020-10-08 16:35:181529 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161530 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081531 "../api:rtp_transceiver_direction",
1532 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241533 "../api:sequence_checker",
Harald Alvestrand13897e62023-05-22 12:49:051534 "../api/audio_codecs:audio_codecs_api",
1535 "../api/crypto:options",
Harald Alvestrand5761e7b2021-01-29 14:45:081536 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451537 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand8f429922022-05-04 10:32:301538 "../api/video:video_bitrate_allocator_factory",
Harald Alvestrand794d5992022-12-16 09:54:571539 "../media:codec",
1540 "../media:media_channel",
Harald Alvestrand13897e62023-05-22 12:49:051541 "../media:media_channel_impl",
Harald Alvestrand794d5992022-12-16 09:54:571542 "../media:media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:251543 "../media:media_engine",
Harald Alvestrand13897e62023-05-22 12:49:051544 "../media:rtc_media_config",
Harald Alvestrandbb02db22020-10-08 16:35:181545 "../rtc_base:checks",
1546 "../rtc_base:logging",
Harald Alvestrand5761e7b2021-01-29 14:45:081547 "../rtc_base:macromagic",
Harald Alvestrand5761e7b2021-01-29 14:45:081548 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081549 "../rtc_base/third_party/sigslot",
Harald Alvestrandbb02db22020-10-08 16:35:181550 ]
1551 absl_deps = [
1552 "//third_party/abseil-cpp/absl/algorithm:container",
Oleh Prypin752436f2022-06-23 22:51:281553 "//third_party/abseil-cpp/absl/memory",
Harald Alvestrandbb02db22020-10-08 16:35:181554 "//third_party/abseil-cpp/absl/strings",
1555 "//third_party/abseil-cpp/absl/types:optional",
1556 ]
Harald Alvestrand2d058782020-10-08 12:01:061557}
1558
Harald Alvestrande15fb152020-10-19 13:28:051559rtc_library("rtp_transmission_manager") {
Harald Alvestrande47493b2022-02-15 12:45:021560 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051561 sources = [
1562 "rtp_transmission_manager.cc",
1563 "rtp_transmission_manager.h",
1564 ]
1565 deps = [
1566 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:511567 ":channel",
Harald Alvestrand25adc8e2022-05-03 13:44:341568 ":channel_interface",
Henrik Boströmf7859892022-07-04 12:36:371569 ":legacy_stats_collector_interface",
Harald Alvestrande15fb152020-10-19 13:28:051570 ":rtp_receiver",
Harald Alvestrandd9f68462022-03-10 10:09:511571 ":rtp_receiver_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051572 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:511573 ":rtp_sender_proxy",
Harald Alvestrande15fb152020-10-19 13:28:051574 ":rtp_transceiver",
Harald Alvestrande15fb152020-10-19 13:28:051575 ":transceiver_list",
1576 ":usage_pattern",
1577 ":video_rtp_receiver",
1578 "../api:libjingle_peerconnection_api",
1579 "../api:media_stream_interface",
1580 "../api:rtc_error",
1581 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161582 "../api:rtp_sender_interface",
Harald Alvestrande15fb152020-10-19 13:28:051583 "../api:rtp_transceiver_direction",
1584 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241585 "../api:sequence_checker",
Harald Alvestrand794d5992022-12-16 09:54:571586 "../media:media_channel",
Harald Alvestrande15fb152020-10-19 13:28:051587 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301588 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461589 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091590 "../rtc_base:ssl",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011591 "../rtc_base:threading",
Harald Alvestrand5761e7b2021-01-29 14:45:081592 "../rtc_base:weak_ptr",
Harald Alvestrande15fb152020-10-19 13:28:051593 ]
1594 absl_deps = [
1595 "//third_party/abseil-cpp/absl/algorithm:container",
1596 "//third_party/abseil-cpp/absl/strings",
1597 "//third_party/abseil-cpp/absl/types:optional",
1598 ]
1599}
1600
1601rtc_library("transceiver_list") {
Harald Alvestrande47493b2022-02-15 12:45:021602 visibility = [ ":*" ]
Harald Alvestrande15fb152020-10-19 13:28:051603 sources = [
1604 "transceiver_list.cc",
1605 "transceiver_list.h",
1606 ]
Harald Alvestrand5761e7b2021-01-29 14:45:081607 deps = [
1608 ":rtp_transceiver",
1609 "../api:libjingle_peerconnection_api",
1610 "../api:rtc_error",
1611 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161612 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081613 "../api:scoped_refptr",
Harald Alvestrand85466662021-04-19 21:21:361614 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081615 "../rtc_base:checks",
Harald Alvestrand85466662021-04-19 21:21:361616 "../rtc_base:macromagic",
1617 "../rtc_base/system:no_unique_address",
Harald Alvestrand5761e7b2021-01-29 14:45:081618 ]
1619 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrande15fb152020-10-19 13:28:051620}
1621
Harald Alvestrand445e6b02020-09-29 14:21:471622rtc_library("rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021623 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471624 sources = [
1625 "rtp_receiver.cc",
1626 "rtp_receiver.h",
1627 ]
1628 deps = [
1629 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511630 ":media_stream_proxy",
Harald Alvestrand445e6b02020-09-29 14:21:471631 ":video_track_source",
Mirko Bonadeid151cc62022-06-20 06:35:281632 "../api:dtls_transport_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471633 "../api:libjingle_peerconnection_api",
1634 "../api:media_stream_interface",
1635 "../api:rtp_parameters",
1636 "../api:scoped_refptr",
1637 "../api/crypto:frame_decryptor_interface",
1638 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:571639 "../media:media_channel",
Harald Alvestrandafaae4e2024-03-12 12:06:161640 "../media:video_broadcaster",
Harald Alvestrand445e6b02020-09-29 14:21:471641 "../rtc_base:checks",
1642 "../rtc_base:logging",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011643 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471644 ]
1645 absl_deps = [
1646 "//third_party/abseil-cpp/absl/algorithm:container",
1647 "//third_party/abseil-cpp/absl/strings",
1648 "//third_party/abseil-cpp/absl/types:optional",
1649 ]
1650}
1651
Harald Alvestrand7165f482020-10-12 07:37:311652rtc_library("audio_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021653 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311654 sources = [
1655 "audio_rtp_receiver.cc",
1656 "audio_rtp_receiver.h",
1657 ]
1658 deps = [
1659 ":audio_track",
1660 ":jitter_buffer_delay",
Harald Alvestrand7165f482020-10-12 07:37:311661 ":media_stream",
Harald Alvestrandd9f68462022-03-10 10:09:511662 ":media_stream_track_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311663 ":remote_audio_source",
1664 ":rtp_receiver",
Mirko Bonadeid151cc62022-06-20 06:35:281665 "../api:dtls_transport_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081666 "../api:frame_transformer_interface",
Harald Alvestrand7165f482020-10-12 07:37:311667 "../api:libjingle_peerconnection_api",
1668 "../api:media_stream_interface",
1669 "../api:rtp_parameters",
1670 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241671 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311672 "../api/crypto:frame_decryptor_interface",
Artem Titovc374d112022-06-16 19:27:451673 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand5761e7b2021-01-29 14:45:081674 "../api/transport/rtp:rtp_source",
Harald Alvestrand794d5992022-12-16 09:54:571675 "../media:media_channel",
Harald Alvestrand7165f482020-10-12 07:37:311676 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461677 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011678 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101679 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311680 ]
1681 absl_deps = [
1682 "//third_party/abseil-cpp/absl/algorithm:container",
1683 "//third_party/abseil-cpp/absl/strings",
1684 "//third_party/abseil-cpp/absl/types:optional",
1685 ]
1686}
1687
1688rtc_library("video_rtp_receiver") {
Harald Alvestrande47493b2022-02-15 12:45:021689 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311690 sources = [
1691 "video_rtp_receiver.cc",
1692 "video_rtp_receiver.h",
1693 ]
1694 deps = [
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 ":rtp_receiver",
1699 ":video_rtp_track_source",
1700 ":video_track",
Mirko Bonadeid151cc62022-06-20 06:35:281701 "../api:dtls_transport_interface",
Harald Alvestrand7165f482020-10-12 07:37:311702 "../api:frame_transformer_interface",
1703 "../api:libjingle_peerconnection_api",
1704 "../api:media_stream_interface",
1705 "../api:rtp_parameters",
1706 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241707 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311708 "../api/crypto:frame_decryptor_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081709 "../api/transport/rtp:rtp_source",
1710 "../api/video:recordable_encoded_frame",
Harald Alvestrand7165f482020-10-12 07:37:311711 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:571712 "../media:media_channel",
Harald Alvestrand7165f482020-10-12 07:37:311713 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301714 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461715 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011716 "../rtc_base:threading",
Tommi4ccdf9322021-05-17 12:50:101717 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311718 ]
1719 absl_deps = [
1720 "//third_party/abseil-cpp/absl/algorithm:container",
1721 "//third_party/abseil-cpp/absl/strings",
1722 "//third_party/abseil-cpp/absl/types:optional",
1723 ]
1724}
1725
1726rtc_library("video_rtp_track_source") {
Harald Alvestrande47493b2022-02-15 12:45:021727 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311728 sources = [
1729 "video_rtp_track_source.cc",
1730 "video_rtp_track_source.h",
1731 ]
1732 deps = [
1733 ":video_track_source",
Artem Titovd15a5752021-02-10 13:31:241734 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081735 "../api/video:recordable_encoded_frame",
1736 "../api/video:video_frame",
Harald Alvestrandafaae4e2024-03-12 12:06:161737 "../media:video_broadcaster",
Harald Alvestrand5761e7b2021-01-29 14:45:081738 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461739 "../rtc_base:macromagic",
Harald Alvestrand7165f482020-10-12 07:37:311740 "../rtc_base/synchronization:mutex",
Mirko Bonadei20e4c802020-11-23 10:07:421741 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311742 ]
1743}
1744
1745rtc_library("audio_track") {
Harald Alvestrande47493b2022-02-15 12:45:021746 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311747 sources = [
1748 "audio_track.cc",
1749 "audio_track.h",
1750 ]
1751 deps = [
1752 "../api:media_stream_interface",
1753 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241754 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311755 "../rtc_base:checks",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121756 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311757 ]
1758}
1759
1760rtc_library("video_track") {
Harald Alvestrande47493b2022-02-15 12:45:021761 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311762 sources = [
1763 "video_track.cc",
1764 "video_track.h",
1765 ]
1766 deps = [
Harald Alvestrande5a73f52022-03-28 12:06:341767 ":video_track_source_proxy",
Harald Alvestrand7165f482020-10-12 07:37:311768 "../api:media_stream_interface",
1769 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241770 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311771 "../api/video:video_frame",
Harald Alvestrandfb4ad292024-02-28 11:01:251772 "../media:video_source_base",
Harald Alvestrand7165f482020-10-12 07:37:311773 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461774 "../rtc_base:macromagic",
Mirko Bonadeie5f4c6b2021-01-15 09:41:011775 "../rtc_base:threading",
Tomas Gunnarssonfe328ca2022-02-16 19:02:121776 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311777 ]
Harald Alvestrandc24a2182022-02-23 13:44:591778 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311779}
1780
Harald Alvestrandf01bd6c2020-10-23 13:30:461781rtc_source_set("sdp_state_provider") {
Harald Alvestrande47493b2022-02-15 12:45:021782 visibility = [ ":*" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461783 sources = [ "sdp_state_provider.h" ]
Harald Alvestrand7b260372022-03-30 07:33:521784 deps = [ "../api:libjingle_peerconnection_api" ]
Harald Alvestrandf01bd6c2020-10-23 13:30:461785}
1786
Harald Alvestrand7165f482020-10-12 07:37:311787rtc_library("jitter_buffer_delay") {
Harald Alvestrande47493b2022-02-15 12:45:021788 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311789 sources = [
1790 "jitter_buffer_delay.cc",
1791 "jitter_buffer_delay.h",
1792 ]
1793 deps = [
Artem Titovd15a5752021-02-10 13:31:241794 "../api:sequence_checker",
Harald Alvestrand7165f482020-10-12 07:37:311795 "../rtc_base:checks",
Harald Alvestrandc24a2182022-02-23 13:44:591796 "../rtc_base:macromagic",
Tommi4ccdf9322021-05-17 12:50:101797 "../rtc_base:safe_conversions",
Harald Alvestrand7165f482020-10-12 07:37:311798 "../rtc_base:safe_minmax",
Tommi4ccdf9322021-05-17 12:50:101799 "../rtc_base/system:no_unique_address",
Harald Alvestrand7165f482020-10-12 07:37:311800 ]
Tommi4ccdf9322021-05-17 12:50:101801 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand7165f482020-10-12 07:37:311802}
1803
1804rtc_library("remote_audio_source") {
Harald Alvestrande47493b2022-02-15 12:45:021805 visibility = [ ":*" ]
Harald Alvestrand7165f482020-10-12 07:37:311806 sources = [
1807 "remote_audio_source.cc",
1808 "remote_audio_source.h",
1809 ]
1810 deps = [
Harald Alvestrand8e1ae8c2022-03-17 13:13:511811 ":channel",
Harald Alvestrand7165f482020-10-12 07:37:311812 "../api:call_api",
1813 "../api:media_stream_interface",
1814 "../api:scoped_refptr",
Artem Titovd15a5752021-02-10 13:31:241815 "../api:sequence_checker",
Danil Chapovalovc6c346d2022-08-22 08:22:401816 "../api/task_queue",
Harald Alvestrand794d5992022-12-16 09:54:571817 "../media:media_channel",
Harald Alvestrand7165f482020-10-12 07:37:311818 "../rtc_base:checks",
Olga Sharonova2d0ba282022-09-27 13:22:341819 "../rtc_base:event_tracer",
Harald Alvestrand7165f482020-10-12 07:37:311820 "../rtc_base:logging",
Harald Alvestrand7165f482020-10-12 07:37:311821 "../rtc_base:safe_conversions",
1822 "../rtc_base:stringutils",
1823 "../rtc_base/synchronization:mutex",
1824 ]
1825 absl_deps = [
1826 "//third_party/abseil-cpp/absl/algorithm:container",
1827 "//third_party/abseil-cpp/absl/strings",
1828 "//third_party/abseil-cpp/absl/types:optional",
1829 ]
1830}
1831
Harald Alvestrand445e6b02020-09-29 14:21:471832rtc_library("rtp_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021833 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471834 sources = [
1835 "rtp_sender.cc",
1836 "rtp_sender.h",
1837 ]
1838 deps = [
1839 ":dtmf_sender",
Henrik Boströmf7859892022-07-04 12:36:371840 ":legacy_stats_collector_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471841 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:281842 "../api:dtls_transport_interface",
Florent Castelliacabb362022-10-18 15:05:161843 "../api:dtmf_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081844 "../api:frame_transformer_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471845 "../api:libjingle_peerconnection_api",
1846 "../api:media_stream_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081847 "../api:priority",
1848 "../api:rtc_error",
1849 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:161850 "../api:rtp_sender_interface",
Harald Alvestrand5761e7b2021-01-29 14:45:081851 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211852 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081853 "../api/crypto:frame_encryptor_interface",
Harald Alvestrandfb4ad292024-02-28 11:01:251854 "../media:audio_source",
Harald Alvestrand794d5992022-12-16 09:54:571855 "../media:media_channel",
Harald Alvestrandfb4ad292024-02-28 11:01:251856 "../media:media_engine",
Harald Alvestrand445e6b02020-09-29 14:21:471857 "../rtc_base:checks",
Florent Castellia30aef32022-04-19 15:47:131858 "../rtc_base:event_tracer",
Florent Castelli0af55ba2022-04-04 13:06:301859 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461860 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:091861 "../rtc_base:ssl",
Harald Alvestrand5761e7b2021-01-29 14:45:081862 "../rtc_base:threading",
Harald Alvestrand445e6b02020-09-29 14:21:471863 "../rtc_base/synchronization:mutex",
Harald Alvestrand5761e7b2021-01-29 14:45:081864 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471865 ]
1866 absl_deps = [
1867 "//third_party/abseil-cpp/absl/algorithm:container",
1868 "//third_party/abseil-cpp/absl/strings",
1869 "//third_party/abseil-cpp/absl/types:optional",
1870 ]
1871}
1872
Harald Alvestrandbb02db22020-10-08 16:35:181873rtc_library("rtp_parameters_conversion") {
Harald Alvestrande47493b2022-02-15 12:45:021874 visibility = [ ":*" ]
Harald Alvestrandbb02db22020-10-08 16:35:181875 sources = [
1876 "rtp_parameters_conversion.cc",
1877 "rtp_parameters_conversion.h",
1878 ]
1879 deps = [
Harald Alvestrandc0a95862021-06-09 09:33:561880 ":session_description",
Harald Alvestrandbb02db22020-10-08 16:35:181881 "../api:array_view",
1882 "../api:libjingle_peerconnection_api",
1883 "../api:rtc_error",
1884 "../api:rtp_parameters",
Harald Alvestrand794d5992022-12-16 09:54:571885 "../media:codec",
1886 "../media:media_constants",
Harald Alvestrand794d5992022-12-16 09:54:571887 "../media:rtp_utils",
1888 "../media:stream_params",
Harald Alvestrandbb02db22020-10-08 16:35:181889 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301890 "../rtc_base:logging",
Florent Castelli57aa81b2022-04-04 15:14:021891 "../rtc_base:stringutils",
Harald Alvestrandbb02db22020-10-08 16:35:181892 ]
1893 absl_deps = [
1894 "//third_party/abseil-cpp/absl/algorithm:container",
1895 "//third_party/abseil-cpp/absl/strings",
1896 "//third_party/abseil-cpp/absl/types:optional",
1897 ]
1898}
1899
Harald Alvestrand445e6b02020-09-29 14:21:471900rtc_library("dtmf_sender") {
Harald Alvestrande47493b2022-02-15 12:45:021901 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471902 sources = [
1903 "dtmf_sender.cc",
1904 "dtmf_sender.h",
1905 ]
1906 deps = [
Markus Handella1b82012021-05-26 16:56:301907 ":proxy",
Florent Castelliacabb362022-10-18 15:05:161908 "../api:dtmf_sender_interface",
Harald Alvestrand445e6b02020-09-29 14:21:471909 "../api:libjingle_peerconnection_api",
Harald Alvestrand5761e7b2021-01-29 14:45:081910 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:211911 "../api:sequence_checker",
Danil Chapovalova30439b2022-07-07 08:08:491912 "../api/task_queue",
Artem Titovc374d112022-06-16 19:27:451913 "../api/task_queue:pending_task_safety_flag",
Danil Chapovalova30439b2022-07-07 08:08:491914 "../api/units:time_delta",
Harald Alvestrand445e6b02020-09-29 14:21:471915 "../rtc_base:checks",
Florent Castelli0af55ba2022-04-04 13:06:301916 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:461917 "../rtc_base:macromagic",
Florent Castellif86f6f92022-04-05 00:54:121918 "../rtc_base:refcount",
Harald Alvestrand5761e7b2021-01-29 14:45:081919 "../rtc_base/third_party/sigslot",
Harald Alvestrand445e6b02020-09-29 14:21:471920 ]
1921 absl_deps = [
1922 "//third_party/abseil-cpp/absl/algorithm:container",
1923 "//third_party/abseil-cpp/absl/strings",
1924 "//third_party/abseil-cpp/absl/types:optional",
1925 ]
1926}
1927
1928rtc_library("media_stream") {
Harald Alvestrande47493b2022-02-15 12:45:021929 visibility = [ ":*" ]
Harald Alvestrand445e6b02020-09-29 14:21:471930 sources = [
1931 "media_stream.cc",
1932 "media_stream.h",
1933 ]
1934 deps = [
1935 "../api:libjingle_peerconnection_api",
1936 "../api:media_stream_interface",
1937 "../api:scoped_refptr",
1938 "../rtc_base:checks",
Harald Alvestrand445e6b02020-09-29 14:21:471939 ]
1940 absl_deps = [
1941 "//third_party/abseil-cpp/absl/algorithm:container",
1942 "//third_party/abseil-cpp/absl/strings",
1943 "//third_party/abseil-cpp/absl/types:optional",
1944 ]
1945}
1946
1947rtc_library("video_track_source") {
1948 sources = [
1949 "video_track_source.cc",
1950 "video_track_source.h",
1951 ]
1952 deps = [
1953 "../api:media_stream_interface",
Artem Titovd15a5752021-02-10 13:31:241954 "../api:sequence_checker",
Harald Alvestrand5761e7b2021-01-29 14:45:081955 "../api/video:recordable_encoded_frame",
Harald Alvestrand445e6b02020-09-29 14:21:471956 "../api/video:video_frame",
Harald Alvestrand794d5992022-12-16 09:54:571957 "../media:media_channel",
Harald Alvestrand445e6b02020-09-29 14:21:471958 "../rtc_base:checks",
Florent Castelli4467ad72022-04-04 13:18:461959 "../rtc_base:macromagic",
Tommi20d8d912022-02-08 20:12:151960 "../rtc_base/system:no_unique_address",
Harald Alvestrand445e6b02020-09-29 14:21:471961 "../rtc_base/system:rtc_export",
1962 ]
Harald Alvestrand5761e7b2021-01-29 14:45:081963 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Harald Alvestrand445e6b02020-09-29 14:21:471964}
1965
Henrik Boströmf7859892022-07-04 12:36:371966rtc_source_set("legacy_stats_collector_interface") {
Harald Alvestrande47493b2022-02-15 12:45:021967 visibility = [ ":*" ]
Henrik Boströmf7859892022-07-04 12:36:371968 sources = [ "legacy_stats_collector_interface.h" ]
Harald Alvestrand1090e442020-10-05 07:01:091969 deps = [
1970 "../api:libjingle_peerconnection_api",
1971 "../api:media_stream_interface",
1972 ]
Harald Alvestrand445e6b02020-09-29 14:21:471973}
1974
Harald Alvestrand8f59f542023-12-15 14:39:181975# This target contains the libraries that are required in order to get an
1976# usable peerconnection-using binary.
zhihuang38ede132017-06-15 19:52:321977rtc_source_set("libjingle_peerconnection") {
Harald Alvestrande79f85c2022-02-07 08:39:521978 # TODO(bugs.webrtc.org/13661): Reduce visibility if possible
Harald Alvestrande47493b2022-02-15 12:45:021979 visibility = [ "*" ] # Used by Chrome and others
Danil Chapovalov9fdceb82023-11-27 09:57:221980 allow_poison = [ "environment_construction" ]
Harald Alvestrande47493b2022-02-15 12:45:021981
Mirko Bonadeie51f7852017-12-06 10:23:191982 deps = [
Harald Alvestrand8f59f542023-12-15 14:39:181983 ":jsep_session_description",
1984 ":peer_connection_factory",
1985 ":rtc_stats_collector",
zhihuang38ede132017-06-15 19:52:321986 "../api:libjingle_peerconnection_api",
Harald Alvestrand8f59f542023-12-15 14:39:181987 "../stats",
zhihuang38ede132017-06-15 19:52:321988 ]
ossu7bb87ee2017-01-23 12:56:251989}
1990
Andrey Logvine7c79fd2021-02-01 09:56:371991if (rtc_include_tests && !build_with_chromium) {
ehmaldonado38a21322016-09-02 11:10:341992 rtc_test("rtc_pc_unittests") {
kjellander142f8c52016-06-13 07:08:241993 testonly = true
1994
1995 sources = [
Tony Herree2044662021-11-29 10:33:421996 "audio_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:241997 "channel_unittest.cc",
Steve Anton10542f22019-01-11 17:11:001998 "dtls_srtp_transport_unittest.cc",
Benjamin Wright4f6ef182019-02-27 02:20:051999 "dtls_transport_unittest.cc",
Harald Alvestrand98462622019-01-30 13:57:032000 "ice_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002001 "jsep_transport_controller_unittest.cc",
2002 "jsep_transport_unittest.cc",
2003 "media_session_unittest.cc",
2004 "rtcp_mux_filter_unittest.cc",
2005 "rtp_transport_unittest.cc",
Harald Alvestrandc85328f2019-02-28 06:51:002006 "sctp_transport_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002007 "session_description_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002008 "srtp_session_unittest.cc",
2009 "srtp_transport_unittest.cc",
2010 "test/rtp_transport_test_util.h",
2011 "test/srtp_test_util.h",
Johannes Kron746dd0d2019-06-20 13:37:522012 "used_ids_unittest.cc",
Markus Handell9c27ed22019-12-04 11:57:582013 "video_rtp_receiver_unittest.cc",
kjellander142f8c52016-06-13 07:08:242014 ]
2015
2016 include_dirs = [ "//third_party/libsrtp/srtp" ]
2017
kjellander142f8c52016-06-13 07:08:242018 if (is_win) {
2019 libs = [ "strmiids.lib" ]
2020 }
2021
2022 deps = [
Tony Herree2044662021-11-29 10:33:422023 ":audio_rtp_receiver",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512024 ":channel",
2025 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402026 ":dtls_transport",
Harald Alvestrand7ee138e2022-03-10 13:21:282027 ":ice_transport",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512028 ":jsep_transport",
Harald Alvestrande5a73f52022-03-28 12:06:342029 ":jsep_transport_controller",
ossu7bb87ee2017-01-23 12:56:252030 ":libjingle_peerconnection",
Harald Alvestrandc24a2182022-02-23 13:44:592031 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342032 ":media_session",
Zhi Huangb5261582017-09-29 17:51:432033 ":pc_test_utils",
kjellander142f8c52016-06-13 07:08:242034 ":rtc_pc",
Harald Alvestrand7ee138e2022-03-10 13:21:282035 ":rtcp_mux_filter",
2036 ":rtp_media_utils",
Tomas Lundqvista26d6ed2023-10-27 12:25:572037 ":rtp_parameters_conversion",
Harald Alvestrand4bac0bb2022-03-15 13:21:592038 ":rtp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422039 ":rtp_transport_internal",
Harald Alvestrand7e539922022-03-17 06:26:032040 ":sctp_transport",
Harald Alvestrandc0a95862021-06-09 09:33:562041 ":session_description",
Harald Alvestrand4bac0bb2022-03-15 13:21:592042 ":srtp_session",
Harald Alvestrand7e539922022-03-17 06:26:032043 ":srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402044 ":used_ids",
Harald Alvestrand7165f482020-10-12 07:37:312045 ":video_rtp_receiver",
kwiberg529662a2017-09-04 12:43:172046 "../api:array_view",
Yves Gerey3e707812018-11-28 15:47:492047 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282048 "../api:candidate",
2049 "../api:dtls_transport_interface",
Harald Alvestrand98462622019-01-30 13:57:032050 "../api:ice_transport_factory",
Mirko Bonadeie51f7852017-12-06 10:23:192051 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262052 "../api:make_ref_counted",
2053 "../api:make_ref_counted",
Mirko Bonadeifcfeefe2019-09-10 08:51:232054 "../api:rtc_error",
Niels Mölleref1052a2019-03-20 07:40:232055 "../api:rtp_headers",
Niels Möller6dcd4dc2019-08-26 08:45:282056 "../api:rtp_parameters",
Harald Alvestrandc24a2182022-02-23 13:44:592057 "../api:scoped_refptr",
Florent Castelli8d4e9fb2022-04-04 15:18:212058 "../api:sequence_checker",
Victor Boiviecd54fd82024-02-28 11:16:152059 "../api/environment:environment_factory",
Artem Titovc374d112022-06-16 19:27:452060 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrandc24a2182022-02-23 13:44:592061 "../api/task_queue:task_queue",
2062 "../api/transport:datagram_transport_interface",
2063 "../api/transport:enums",
Jonas Orelanda3aa9bd2019-04-17 05:38:402064 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592065 "../api/video:recordable_encoded_frame",
Markus Handell9c27ed22019-12-04 11:57:582066 "../api/video/test:mock_recordable_encoded_frame",
Zhi Huang365381f2018-04-13 23:44:342067 "../call:rtp_interfaces",
Yves Gerey3e707812018-11-28 15:47:492068 "../call:rtp_receiver",
Harald Alvestrand794d5992022-12-16 09:54:572069 "../media:codec",
2070 "../media:media_channel",
2071 "../media:media_constants",
2072 "../media:rid_description",
Florent Castellia80c3e52021-04-15 13:02:562073 "../media:rtc_data_sctp_transport_internal",
mbonadei9087d492017-04-25 07:35:352074 "../media:rtc_media_tests_utils",
Zhi Huang365381f2018-04-13 23:44:342075 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestranda310d782024-01-25 12:27:182076 "../p2p:candidate_pair_interface",
Harald Alvestrand8bb54c12024-02-06 15:24:032077 "../p2p:dtls_transport_factory",
2078 "../p2p:dtls_transport_internal",
Piotr (Peter) Slatala4de17832019-01-29 21:35:052079 "../p2p:fake_ice_transport",
Qingsi Wang8af1f742019-04-22 05:08:262080 "../p2p:fake_port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182081 "../p2p:ice_transport_internal",
2082 "../p2p:p2p_constants",
mbonadei7d9a55b2017-06-01 20:01:482083 "../p2p:p2p_test_utils",
Harald Alvestranda310d782024-01-25 12:27:182084 "../p2p:packet_transport_internal",
mbonadei7d9a55b2017-06-01 20:01:482085 "../p2p:rtc_p2p",
Harald Alvestranda310d782024-01-25 12:27:182086 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:032087 "../p2p:transport_info",
Florent Castellia138c6c2023-01-04 11:01:092088 "../rtc_base:async_packet_socket",
Florent Castellif9c59842022-04-19 15:07:232089 "../rtc_base:buffer",
Florent Castellia876a922022-04-19 15:18:362090 "../rtc_base:byte_order",
Patrik Höglunda8005cf2017-12-13 15:05:422091 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462092 "../rtc_base:copy_on_write_buffer",
Mirko Bonadeie3abb812018-11-23 12:15:082093 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302094 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462095 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092096 "../rtc_base:net_helper",
ehmaldonadof6a861a2017-07-19 17:40:472097 "../rtc_base:rtc_base_tests_utils",
Harald Alvestrandc24a2182022-02-23 13:44:592098 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092099 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022100 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112101 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012102 "../rtc_base:threading",
Florent Castellia138c6c2023-01-04 11:01:092103 "../rtc_base:unique_id_generator",
Harald Alvestrandc24a2182022-02-23 13:44:592104 "../rtc_base/containers:flat_set",
Per Kf4aadf32024-02-27 08:01:152105 "../rtc_base/network:received_packet",
Artem Titove41c4332018-07-25 13:04:282106 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102107 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102108 "../test:explicit_key_value_config",
Niels Möller65b2d8a2022-05-19 14:06:232109 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102110 "../test:scoped_key_value_config",
Niels Möller04a3cc12019-05-21 11:01:582111 "../test:test_main",
zstein398c3fd2017-07-19 20:38:022112 "../test:test_support",
Danil Chapovalova30439b2022-07-07 08:08:492113 ]
2114 absl_deps = [
Steve Anton64b626b2019-01-29 01:25:262115 "//third_party/abseil-cpp/absl/algorithm:container",
Danil Chapovalova30439b2022-07-07 08:08:492116 "//third_party/abseil-cpp/absl/functional:any_invocable",
Karl Wiberg918f50c2018-07-05 09:40:332117 "//third_party/abseil-cpp/absl/memory",
Mirko Bonadei57cabed2020-04-01 10:03:112118 "//third_party/abseil-cpp/absl/strings",
Harald Alvestrandc24a2182022-02-23 13:44:592119 "//third_party/abseil-cpp/absl/types:optional",
kjellander142f8c52016-06-13 07:08:242120 ]
2121
2122 if (rtc_build_libsrtp) {
2123 deps += [ "//third_party/libsrtp" ]
2124 }
2125
2126 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372127 use_default_launcher = false
2128 deps += [
2129 "//build/android/gtest_apk:native_test_instrumentation_test_runner_java",
2130 "//testing/android/native_test:native_test_java",
2131 "//testing/android/native_test:native_test_support",
2132 ]
kjellander142f8c52016-06-13 07:08:242133 }
2134 }
ossu7bb87ee2017-01-23 12:56:252135
Mirko Bonadei86d053c2019-10-17 19:32:042136 rtc_library("peerconnection_perf_tests") {
Seth Hampsond1003d72018-06-22 22:40:162137 testonly = true
Danil Chapovalov64f1f3f2020-01-16 13:41:102138 sources = [ "peer_connection_rampup_tests.cc" ]
Seth Hampsond1003d72018-06-22 22:40:162139 deps = [
2140 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112141 ":peer_connection",
Artem Titoveb02ecd2018-12-17 13:22:062142 ":peerconnection_wrapper",
Yves Gerey3e707812018-11-28 15:47:492143 "../api:audio_options_api",
Mirko Bonadei2ff3f492018-11-22 08:00:132144 "../api:create_peerconnection_factory",
Seth Hampsond1003d72018-06-22 22:40:162145 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412146 "../api:media_stream_interface",
Harald Alvestrandc24a2182022-02-23 13:44:592147 "../api:rtc_error",
Seth Hampsond1003d72018-06-22 22:40:162148 "../api:rtc_stats_api",
Mirko Bonadeid9708072019-01-25 19:26:482149 "../api:scoped_refptr",
Florent Castellif4673f92024-04-19 19:46:032150 "../api/audio:audio_device",
Yves Gerey3e707812018-11-28 15:47:492151 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:082152 "../api/audio:audio_processing",
Yves Gerey3e707812018-11-28 15:47:492153 "../api/audio_codecs:audio_codecs_api",
Seth Hampsond1003d72018-06-22 22:40:162154 "../api/audio_codecs:builtin_audio_decoder_factory",
2155 "../api/audio_codecs:builtin_audio_encoder_factory",
Artem Titov2ae3f7b2022-09-24 23:13:102156 "../api/test/metrics:global_metrics_logger_and_exporter",
2157 "../api/test/metrics:metric",
Yves Gerey3e707812018-11-28 15:47:492158 "../api/video_codecs:video_codecs_api",
Åsa Perssondc806fd2023-03-31 13:42:382159 "../api/video_codecs:video_decoder_factory_template",
2160 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2161 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2162 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2163 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
2164 "../api/video_codecs:video_encoder_factory_template",
2165 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2166 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2167 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2168 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Seth Hampsond1003d72018-06-22 22:40:162169 "../media:rtc_media_tests_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252170 "../p2p:basic_port_allocator",
Harald Alvestrand9a953b22024-01-26 07:11:502171 "../p2p:connection",
Seth Hampsond1003d72018-06-22 22:40:162172 "../p2p:p2p_test_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252173 "../p2p:port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182174 "../p2p:port_interface",
Seth Hampsond1003d72018-06-22 22:40:162175 "../p2p:rtc_p2p",
Yves Gerey3e707812018-11-28 15:47:492176 "../rtc_base:checks",
Mirko Bonadeie3abb812018-11-23 12:15:082177 "../rtc_base:gunit_helpers",
Seth Hampsond1003d72018-06-22 22:40:162178 "../rtc_base:rtc_base_tests_utils",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012179 "../rtc_base:socket_address",
Harald Alvestrandc24a2182022-02-23 13:44:592180 "../rtc_base:socket_factory",
Florent Castellia138c6c2023-01-04 11:01:092181 "../rtc_base:ssl",
Danil Chapovalov2aaef452022-08-12 13:55:112182 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012183 "../rtc_base:threading",
Artem Titov94b57c02019-03-21 12:35:102184 "../system_wrappers",
Seth Hampsond1003d72018-06-22 22:40:162185 "../test:test_support",
2186 ]
Mirko Bonadei2dcf3482020-06-05 12:30:412187 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Seth Hampsond1003d72018-06-22 22:40:162188 }
2189
Mirko Bonadei86d053c2019-10-17 19:32:042190 rtc_library("peerconnection_wrapper") {
Artem Titoveb02ecd2018-12-17 13:22:062191 testonly = true
2192 sources = [
Steve Anton10542f22019-01-11 17:11:002193 "peer_connection_wrapper.cc",
2194 "peer_connection_wrapper.h",
Artem Titoveb02ecd2018-12-17 13:22:062195 ]
2196 deps = [
2197 ":pc_test_utils",
Harald Alvestrand63c3b132022-02-03 07:56:222198 ":sdp_utils",
Artem Titov741daaf2019-03-21 13:37:362199 "../api:function_view",
Artem Titoveb02ecd2018-12-17 13:22:062200 "../api:libjingle_peerconnection_api",
Niels Möllere942b142019-09-17 12:30:412201 "../api:media_stream_interface",
Mirko Bonadeifcfeefe2019-09-10 08:51:232202 "../api:rtc_error",
Artem Titoveb02ecd2018-12-17 13:22:062203 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282204 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:162205 "../api:rtp_sender_interface",
Mirko Bonadeid9708072019-01-25 19:26:482206 "../api:scoped_refptr",
Artem Titoveb02ecd2018-12-17 13:22:062207 "../rtc_base:checks",
2208 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302209 "../rtc_base:logging",
Artem Titoveb02ecd2018-12-17 13:22:062210 "../test:test_support",
2211 ]
Jeremy Leconteeccd93e2023-02-10 08:26:502212 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
Artem Titoveb02ecd2018-12-17 13:22:062213 }
2214
Harald Alvestrandf8f7b702022-05-05 13:21:192215 rtc_test("slow_peer_connection_unittests") {
2216 testonly = true
2217 sources = [ "slow_peer_connection_integration_test.cc" ]
2218 deps = [
2219 ":integration_test_helpers",
2220 ":pc_test_utils",
Florent Castelliacabb362022-10-18 15:05:162221 "../api:dtmf_sender_interface",
Harald Alvestrandf8f7b702022-05-05 13:21:192222 "../api:libjingle_peerconnection_api",
2223 "../api:scoped_refptr",
2224 "../api/units:time_delta",
Harald Alvestrand9a953b22024-01-26 07:11:502225 "../p2p:connection",
Harald Alvestrandf8f7b702022-05-05 13:21:192226 "../p2p:p2p_server_utils",
2227 "../p2p:p2p_test_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252228 "../p2p:port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182229 "../p2p:port_interface",
Harald Alvestrandf8f7b702022-05-05 13:21:192230 "../p2p:rtc_p2p",
Harald Alvestrandf8f7b702022-05-05 13:21:192231 "../rtc_base:gunit_helpers",
2232 "../rtc_base:logging",
2233 "../rtc_base:rtc_base_tests_utils",
2234 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092235 "../rtc_base:ssl",
Harald Alvestrandf8f7b702022-05-05 13:21:192236 "../test:test_main",
2237 "../test:test_support",
Tommicde4b672023-04-25 06:53:422238 "../test/time_controller:time_controller",
Harald Alvestrandf8f7b702022-05-05 13:21:192239 "//third_party/abseil-cpp/absl/algorithm:container",
2240 "//third_party/abseil-cpp/absl/strings",
2241 "//third_party/abseil-cpp/absl/types:optional",
2242 ]
2243 }
2244
ossu7bb87ee2017-01-23 12:56:252245 rtc_test("peerconnection_unittests") {
ossu7bb87ee2017-01-23 12:56:252246 testonly = true
2247 sources = [
Harald Alvestrand39993842021-02-17 09:05:312248 "data_channel_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002249 "data_channel_unittest.cc",
2250 "dtmf_sender_unittest.cc",
2251 "ice_server_parsing_unittest.cc",
Ruslan Burakov428dcb22019-04-18 15:49:492252 "jitter_buffer_delay_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002253 "jsep_session_description_unittest.cc",
Henrik Boströmf7859892022-07-04 12:36:372254 "legacy_stats_collector_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002255 "local_audio_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002256 "media_stream_unittest.cc",
Henrik Boström4c1e7cc2020-06-11 10:26:532257 "peer_connection_adaptation_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002258 "peer_connection_bundle_unittest.cc",
2259 "peer_connection_crypto_unittest.cc",
2260 "peer_connection_data_channel_unittest.cc",
Henrik Boströmda9e2842023-04-06 13:27:332261 "peer_connection_encodings_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002262 "peer_connection_end_to_end_unittest.cc",
2263 "peer_connection_factory_unittest.cc",
Byoungchan Lee8f17f732022-08-25 12:35:302264 "peer_connection_field_trial_tests.cc",
Markus Handell0357b3e2020-03-16 12:40:512265 "peer_connection_header_extension_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002266 "peer_connection_histogram_unittest.cc",
2267 "peer_connection_ice_unittest.cc",
2268 "peer_connection_integrationtest.cc",
2269 "peer_connection_interface_unittest.cc",
2270 "peer_connection_jsep_unittest.cc",
2271 "peer_connection_media_unittest.cc",
2272 "peer_connection_rtp_unittest.cc",
2273 "peer_connection_signaling_unittest.cc",
Amit Hilbuchaa584152019-02-07 01:09:522274 "peer_connection_simulcast_unittest.cc",
Florent Castelli725ee242022-10-18 15:05:582275 "peer_connection_svc_integrationtest.cc",
Steve Anton10542f22019-01-11 17:11:002276 "peer_connection_wrapper.cc",
2277 "peer_connection_wrapper.h",
ossu7bb87ee2017-01-23 12:56:252278 "proxy_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002279 "rtc_stats_collector_unittest.cc",
2280 "rtc_stats_integrationtest.cc",
2281 "rtc_stats_traversal_unittest.cc",
2282 "rtp_media_utils_unittest.cc",
2283 "rtp_parameters_conversion_unittest.cc",
2284 "rtp_sender_receiver_unittest.cc",
2285 "rtp_transceiver_unittest.cc",
2286 "sctp_utils_unittest.cc",
Harald Alvestrande61d4c82021-09-16 08:59:112287 "sdp_offer_answer_unittest.cc",
Philipp Hancke96bc0942023-09-14 15:23:592288 "simulcast_sdp_serializer_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002289 "test/fake_audio_capture_module_unittest.cc",
2290 "test/test_sdp_strings.h",
2291 "track_media_info_map_unittest.cc",
Markus Handell15f2ff42019-11-22 09:34:372292 "video_rtp_track_source_unittest.cc",
Steve Anton10542f22019-01-11 17:11:002293 "video_track_unittest.cc",
2294 "webrtc_sdp_unittest.cc",
ossu7bb87ee2017-01-23 12:56:252295 ]
2296
Mirko Bonadeie51f7852017-12-06 10:23:192297 deps = [
Harald Alvestrand7165f482020-10-12 07:37:312298 ":audio_rtp_receiver",
2299 ":audio_track",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512300 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402301 ":channel_interface",
Harald Alvestranda45c8f42022-05-10 08:44:482302 ":data_channel_controller_unittest",
Harald Alvestrand8e1ae8c2022-03-17 13:13:512303 ":dtls_srtp_transport",
Harald Alvestrandc5b9c952022-03-14 07:16:402304 ":dtls_transport",
Harald Alvestrand445e6b02020-09-29 14:21:472305 ":dtmf_sender",
Danil Chapovalovc63120a2023-11-03 10:32:242306 ":enable_fake_media",
Harald Alvestrandae940a52022-02-01 13:37:082307 ":ice_server_parsing",
Harald Alvestrand82a94122021-03-08 07:01:482308 ":integration_test_helpers",
Harald Alvestrand7165f482020-10-12 07:37:312309 ":jitter_buffer_delay",
Henrik Boströmf7859892022-07-04 12:36:372310 ":legacy_stats_collector",
Harald Alvestrand7766ab12022-02-02 11:26:032311 ":local_audio_source",
Harald Alvestrandc24a2182022-02-23 13:44:592312 ":media_protocol_names",
Harald Alvestrande5a73f52022-03-28 12:06:342313 ":media_session",
Harald Alvestrand445e6b02020-09-29 14:21:472314 ":media_stream",
Harald Alvestrand15ad4ed2022-02-09 05:52:112315 ":peer_connection",
2316 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512317 ":peer_connection_proxy",
Markus Handella1b82012021-05-26 16:56:302318 ":proxy",
Harald Alvestrandfd6c7442022-02-08 07:52:102319 ":rtc_stats_collector",
2320 ":rtc_stats_traversal",
Harald Alvestrand7ee138e2022-03-10 13:21:282321 ":rtp_media_utils",
Harald Alvestrandbb02db22020-10-08 16:35:182322 ":rtp_parameters_conversion",
Harald Alvestrand445e6b02020-09-29 14:21:472323 ":rtp_receiver",
2324 ":rtp_sender",
Harald Alvestrandd9f68462022-03-10 10:09:512325 ":rtp_sender_proxy",
Harald Alvestrandbb02db22020-10-08 16:35:182326 ":rtp_transceiver",
Harald Alvestrand2ea4d372022-03-10 22:15:422327 ":rtp_transport_internal",
Harald Alvestrandad3b3232022-02-07 02:59:362328 ":sctp_data_channel",
Harald Alvestrand7e539922022-03-17 06:26:032329 ":sctp_transport",
Harald Alvestrand2ea4d372022-03-10 22:15:422330 ":sctp_utils",
Harald Alvestrand63c3b132022-02-03 07:56:222331 ":sdp_utils",
Harald Alvestrandc0a95862021-06-09 09:33:562332 ":session_description",
Harald Alvestrandc24a2182022-02-23 13:44:592333 ":simulcast_description",
Philipp Hancke96bc0942023-09-14 15:23:592334 ":simulcast_sdp_serializer",
Harald Alvestrandab0152d2022-02-07 06:43:482335 ":stream_collection",
Harald Alvestrand59427ad2022-02-03 19:02:382336 ":track_media_info_map",
Harald Alvestrand2ea4d372022-03-10 22:15:422337 ":transport_stats",
Harald Alvestrand44d0dff2020-10-09 05:43:532338 ":usage_pattern",
Harald Alvestrand7165f482020-10-12 07:37:312339 ":video_rtp_receiver",
2340 ":video_rtp_track_source",
2341 ":video_track",
Harald Alvestrand445e6b02020-09-29 14:21:472342 ":video_track_source",
Harald Alvestrandb6f39162022-02-08 05:56:552343 ":webrtc_sdp",
Yves Gerey3e707812018-11-28 15:47:492344 "../api:array_view",
2345 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282346 "../api:candidate",
Mirko Bonadei2ff3f492018-11-22 08:00:132347 "../api:create_peerconnection_factory",
Mirko Bonadeid151cc62022-06-20 06:35:282348 "../api:dtls_transport_interface",
Florent Castelliacabb362022-10-18 15:05:162349 "../api:dtmf_sender_interface",
Danil Chapovalov082cb562023-10-31 12:51:162350 "../api:enable_media",
Danil Chapovalov554f7db2023-11-01 10:08:202351 "../api:enable_media_with_defaults",
Benjamin Wright78410ad2018-10-25 16:52:572352 "../api:fake_frame_decryptor",
2353 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482354 "../api:field_trials_view",
Artem Titov741daaf2019-03-21 13:37:362355 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282356 "../api:ice_transport_interface",
Yves Gerey3e707812018-11-28 15:47:492357 "../api:libjingle_logging_api",
Mirko Bonadei34814c72018-01-11 09:13:562358 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262359 "../api:make_ref_counted",
Niels Möllere942b142019-09-17 12:30:412360 "../api:media_stream_interface",
Harald Alvestrand4d25a772023-08-25 11:07:282361 "../api:mock_async_dns_resolver",
Jonas Oreland65455162022-06-08 09:25:462362 "../api:mock_encoder_selector",
Niels Möller573b1452022-06-21 09:37:292363 "../api:mock_packet_socket_factory",
Florent Castelli63cc46c2021-07-16 23:32:402364 "../api:mock_video_track",
Harald Alvestrand39993842021-02-17 09:05:312365 "../api:packet_socket_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592366 "../api:priority",
Mirko Bonadeifcfeefe2019-09-10 08:51:232367 "../api:rtc_error",
Florent Castelliacabb362022-10-18 15:05:162368 "../api:rtp_sender_interface",
Harald Alvestrand39993842021-02-17 09:05:312369 "../api:rtp_transceiver_direction",
Mirko Bonadeid9708072019-01-25 19:26:482370 "../api:scoped_refptr",
Harald Alvestrandc24a2182022-02-23 13:44:592371 "../api/adaptation:resource_adaptation_api",
Florent Castellif4673f92024-04-19 19:46:032372 "../api/audio:audio_device",
Yves Gerey3e707812018-11-28 15:47:492373 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:082374 "../api/audio:audio_processing",
2375 "../api/audio:audio_processing_statistics",
Mirko Bonadeieaaaf412019-09-13 12:42:152376 "../api/crypto:frame_decryptor_interface",
2377 "../api/crypto:frame_encryptor_interface",
2378 "../api/crypto:options",
Danil Chapovalov7eaa9dc2023-11-27 14:00:212379 "../api/environment:environment_factory",
Danil Chapovalov9da25bd2019-06-20 08:19:422380 "../api/rtc_event_log",
2381 "../api/rtc_event_log:rtc_event_log_factory",
Harald Alvestrand39993842021-02-17 09:05:312382 "../api/task_queue",
Danil Chapovalov9da25bd2019-06-20 08:19:422383 "../api/task_queue:default_task_queue_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592384 "../api/transport:datagram_transport_interface",
Erik Språngceb44952020-09-22 09:36:352385 "../api/transport:field_trial_based_config",
Harald Alvestrandc24a2182022-02-23 13:44:592386 "../api/transport:sctp_transport_factory_interface",
Niels Möllera8370302019-09-02 13:16:492387 "../api/transport/rtp:rtp_source",
Henrik Boström2fec6442023-06-15 10:49:262388 "../api/units:data_rate",
Sebastian Jansson5f83cf02018-05-08 12:52:222389 "../api/units:time_delta",
Harald Alvestrandc24a2182022-02-23 13:44:592390 "../api/units:timestamp",
Jonas Orelanda3aa9bd2019-04-17 05:38:402391 "../api/video:builtin_video_bitrate_allocator_factory",
Harald Alvestrandc24a2182022-02-23 13:44:592392 "../api/video:encoded_image",
2393 "../api/video:recordable_encoded_frame",
2394 "../api/video:video_bitrate_allocator_factory",
2395 "../api/video:video_codec_constants",
2396 "../api/video:video_frame",
Harald Alvestrand39993842021-02-17 09:05:312397 "../api/video:video_rtp_headers",
Evan Shrubsole9b235cd2022-12-06 10:09:102398 "../api/video_codecs:scalability_mode",
Henrik Boström4c1e7cc2020-06-11 10:26:532399 "../call/adaptation:resource_adaptation_test_utilities",
Harald Alvestrandc24a2182022-02-23 13:44:592400 "../common_video",
Qingsi Wang7685e862018-06-12 03:15:462401 "../logging:fake_rtc_event_log",
Harald Alvestrand794d5992022-12-16 09:54:572402 "../media:codec",
Harald Alvestrand794d5992022-12-16 09:54:572403 "../media:media_channel",
2404 "../media:media_constants",
Harald Alvestrandfb4ad292024-02-28 11:01:252405 "../media:media_engine",
Harald Alvestrand794d5992022-12-16 09:54:572406 "../media:rid_description",
Florent Castellia80c3e52021-04-15 13:02:562407 "../media:rtc_data_sctp_transport_internal",
Yves Gerey3e707812018-11-28 15:47:492408 "../media:rtc_media_config",
Harald Alvestrand794d5992022-12-16 09:54:572409 "../media:stream_params",
Henrik Boström883eefc2019-05-27 11:40:252410 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand3bddaed2024-02-06 22:54:252411 "../p2p:basic_port_allocator",
Harald Alvestrand9a953b22024-01-26 07:11:502412 "../p2p:connection",
Harald Alvestranda310d782024-01-25 12:27:182413 "../p2p:connection_info",
Harald Alvestrand8bb54c12024-02-06 15:24:032414 "../p2p:dtls_transport_internal",
Qingsi Wang8af1f742019-04-22 05:08:262415 "../p2p:fake_port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182416 "../p2p:ice_transport_internal",
2417 "../p2p:p2p_constants",
Harald Alvestrand39993842021-02-17 09:05:312418 "../p2p:p2p_server_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252419 "../p2p:port",
2420 "../p2p:port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182421 "../p2p:port_interface",
2422 "../p2p:transport_description",
Harald Alvestrand8bb54c12024-02-06 15:24:032423 "../p2p:transport_info",
Florent Castelliceb7b362022-04-19 15:35:042424 "../rtc_base:byte_buffer",
Patrik Höglunda8005cf2017-12-13 15:05:422425 "../rtc_base:checks",
Florent Castellied4aadc2022-04-19 15:40:462426 "../rtc_base:copy_on_write_buffer",
Florent Castellia30aef32022-04-19 15:47:132427 "../rtc_base:event_tracer",
Mirko Bonadeie3abb812018-11-23 12:15:082428 "../rtc_base:gunit_helpers",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012429 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302430 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462431 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092432 "../rtc_base:mdns_responder_interface",
2433 "../rtc_base:net_helper",
2434 "../rtc_base:network",
Harald Alvestrandc24a2182022-02-23 13:44:592435 "../rtc_base:network_constants",
Tommi55f72802023-03-27 10:39:332436 "../rtc_base:null_socket_server",
Florent Castellif86f6f92022-04-05 00:54:122437 "../rtc_base:refcount",
Mirko Bonadeie3abb812018-11-23 12:15:082438 "../rtc_base:rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092439 "../rtc_base:rtc_certificate_generator",
Harald Alvestrand910cdc22020-01-09 11:58:232440 "../rtc_base:rtc_json",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012441 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092442 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022443 "../rtc_base:stringutils",
Danil Chapovalov2aaef452022-08-12 13:55:112444 "../rtc_base:task_queue_for_test",
Mirko Bonadeie5f4c6b2021-01-15 09:41:012445 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152446 "../rtc_base:timeutils",
Florent Castellia138c6c2023-01-04 11:01:092447 "../rtc_base:unique_id_generator",
Markus Handell6fcd0f82020-07-07 17:08:532448 "../rtc_base/synchronization:mutex",
Artem Titova76af0c2018-07-23 15:38:122449 "../rtc_base/third_party/base64",
Artem Titov94b57c02019-03-21 12:35:102450 "../rtc_base/third_party/sigslot",
Mirko Bonadei17f48782018-09-28 06:51:102451 "../system_wrappers:metrics",
Henrik Boström9a5de952023-03-14 08:50:192452 "../test:field_trial",
Tommia50a81a2023-04-11 15:32:342453 "../test:rtc_expect_death",
Niels Möller65b2d8a2022-05-19 14:06:232454 "../test:run_loop",
Jonas Orelanded99dae2022-03-09 08:28:102455 "../test:scoped_key_value_config",
Per Kjellander2bca0082020-08-28 07:15:152456 "../test/pc/sctp:fake_sctp_transport",
Steve Anton64b626b2019-01-29 01:25:262457 "//third_party/abseil-cpp/absl/algorithm:container",
Karl Wiberg918f50c2018-07-05 09:40:332458 "//third_party/abseil-cpp/absl/memory",
Yves Gerey69807e82018-10-30 21:23:022459 "//third_party/abseil-cpp/absl/strings",
Mirko Bonadei2dcf3482020-06-05 12:30:412460 "//third_party/abseil-cpp/absl/types:optional",
Mirko Bonadeie51f7852017-12-06 10:23:192461 ]
Björn Terelius0c68a7a2022-04-19 13:32:372462
ossu7bb87ee2017-01-23 12:56:252463 if (is_android) {
Björn Terelius0c68a7a2022-04-19 13:32:372464 use_default_launcher = false
2465 deps += [
2466 ":android_black_magic",
2467
2468 # We need to depend on this one directly, or classloads will fail for
2469 # the voice engine BuildInfo, for instance.
2470 "//sdk/android:libjingle_peerconnection_java",
2471 "//sdk/android:native_test_jni_onload",
2472 ]
2473 shard_timeout = 900
ossu7bb87ee2017-01-23 12:56:252474 }
2475
2476 deps += [
2477 ":libjingle_peerconnection",
deadbeefe814a0d2017-02-26 02:15:092478 ":pc_test_utils",
Harald Alvestrand67a68d52022-02-07 05:07:032479 ":rtc_pc",
Niels Möllerd8b9ed72019-05-08 11:53:512480 "../api:rtc_event_log_output_file",
Patrik Höglund563934e2017-09-15 07:04:282481 "../api:rtc_stats_api",
Niels Möller6dcd4dc2019-08-26 08:45:282482 "../api:rtp_parameters",
Karl Wibergc5bb00b2017-10-10 21:17:172483 "../api/audio_codecs:audio_codecs_api",
Patrik Höglund563934e2017-09-15 07:04:282484 "../api/audio_codecs:builtin_audio_decoder_factory",
2485 "../api/audio_codecs:builtin_audio_encoder_factory",
Karl Wiberg44d7ec02019-11-26 13:00:412486 "../api/audio_codecs:opus_audio_decoder_factory",
2487 "../api/audio_codecs:opus_audio_encoder_factory",
Karl Wibergc5bb00b2017-10-10 21:17:172488 "../api/audio_codecs/L16:audio_decoder_L16",
2489 "../api/audio_codecs/L16:audio_encoder_L16",
Anders Carlsson67537952018-05-03 09:28:292490 "../api/video_codecs:builtin_video_decoder_factory",
2491 "../api/video_codecs:builtin_video_encoder_factory",
2492 "../api/video_codecs:video_codecs_api",
Åsa Persson0587aae2023-03-31 14:49:142493 "../api/video_codecs:video_decoder_factory_template",
2494 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2495 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2496 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2497 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
2498 "../api/video_codecs:video_encoder_factory_template",
2499 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2500 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2501 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2502 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Steve Anton8d3444d2017-10-20 22:30:512503 "../call:call_interfaces",
Patrik Höglund563934e2017-09-15 07:04:282504 "../media:rtc_audio_video",
mbonadei9087d492017-04-25 07:35:352505 "../media:rtc_media_tests_utils",
Artem Titov94b57c02019-03-21 12:35:102506 "../modules/audio_processing",
Patrik Höglund563934e2017-09-15 07:04:282507 "../p2p:p2p_test_utils",
2508 "../p2p:rtc_p2p",
Mirko Bonadeie12c1fe2018-07-03 10:53:232509 "../rtc_base:safe_conversions",
kwiberg2b3aa142017-06-14 10:31:172510 "../test:audio_codec_mocks",
Niels Möller04a3cc12019-05-21 11:01:582511 "../test:test_main",
Patrik Höglund563934e2017-09-15 07:04:282512 "../test:test_support",
ossu7bb87ee2017-01-23 12:56:252513 ]
ossu7bb87ee2017-01-23 12:56:252514 }
Patrik Höglund563934e2017-09-15 07:04:282515
Harald Alvestranda45c8f42022-05-10 08:44:482516 rtc_library("data_channel_controller_unittest") {
2517 testonly = true
2518 sources = [ "data_channel_controller_unittest.cc" ]
2519 deps = [
2520 ":data_channel_controller",
2521 ":pc_test_utils",
2522 ":peer_connection_internal",
Harald Alvestrand9e5aeb92022-05-11 09:35:362523 ":sctp_data_channel",
Tommi55f72802023-03-27 10:39:332524 "../rtc_base:null_socket_server",
Tommi2a448722023-03-09 22:52:432525 "../test:run_loop",
Harald Alvestranda45c8f42022-05-10 08:44:482526 "../test:test_support",
2527 ]
2528 }
2529
Patrik Höglund563934e2017-09-15 07:04:282530 if (is_android) {
Mirko Bonadei86d053c2019-10-17 19:32:042531 rtc_library("android_black_magic") {
Björn Terelius0c68a7a2022-04-19 13:32:372532 # The android code uses hacky includes to ssl code. Having this in a
2533 # separate target enables us to keep the peerconnection unit tests clean.
Patrik Höglund563934e2017-09-15 07:04:282534 testonly = true
2535 sources = [
Steve Anton10542f22019-01-11 17:11:002536 "test/android_test_initializer.cc",
2537 "test/android_test_initializer.h",
Patrik Höglund563934e2017-09-15 07:04:282538 ]
2539 deps = [
Florent Castellia138c6c2023-01-04 11:01:092540 "../rtc_base:ssl",
Björn Terelius0c68a7a2022-04-19 13:32:372541 "../sdk/android:internal_jni",
Patrik Höglund563934e2017-09-15 07:04:282542 "../sdk/android:libjingle_peerconnection_jni",
Björn Terelius0c68a7a2022-04-19 13:32:372543 "//modules/utility:utility",
2544 "//rtc_base:checks",
Patrik Höglund563934e2017-09-15 07:04:282545 "//testing/android/native_test:native_test_support",
2546 ]
2547 }
2548 }
Harald Alvestrand82a94122021-03-08 07:01:482549
2550 rtc_library("integration_test_helpers") {
2551 testonly = true
2552 sources = [
2553 "test/integration_test_helpers.cc",
2554 "test/integration_test_helpers.h",
2555 ]
2556 deps = [
2557 ":audio_rtp_receiver",
2558 ":audio_track",
2559 ":dtmf_sender",
2560 ":jitter_buffer_delay",
Harald Alvestrand7766ab12022-02-02 11:26:032561 ":local_audio_source",
Harald Alvestrande5a73f52022-03-28 12:06:342562 ":media_session",
Harald Alvestrand82a94122021-03-08 07:01:482563 ":media_stream",
2564 ":pc_test_utils",
Harald Alvestrand15ad4ed2022-02-09 05:52:112565 ":peer_connection",
2566 ":peer_connection_factory",
Harald Alvestrandd9f68462022-03-10 10:09:512567 ":peer_connection_proxy",
Harald Alvestrand82a94122021-03-08 07:01:482568 ":remote_audio_source",
Harald Alvestrand7ee138e2022-03-10 13:21:282569 ":rtp_media_utils",
Harald Alvestrand82a94122021-03-08 07:01:482570 ":rtp_parameters_conversion",
2571 ":rtp_receiver",
2572 ":rtp_sender",
2573 ":rtp_transceiver",
Harald Alvestrandc0a95862021-06-09 09:33:562574 ":session_description",
Harald Alvestrand82a94122021-03-08 07:01:482575 ":usage_pattern",
2576 ":video_rtp_receiver",
2577 ":video_rtp_track_source",
2578 ":video_track",
2579 ":video_track_source",
2580 "../api:array_view",
2581 "../api:audio_options_api",
Mirko Bonadeid151cc62022-06-20 06:35:282582 "../api:candidate",
Harald Alvestrand82a94122021-03-08 07:01:482583 "../api:create_peerconnection_factory",
Danil Chapovalov166111d2023-11-01 13:43:072584 "../api:enable_media_with_defaults",
Harald Alvestrand82a94122021-03-08 07:01:482585 "../api:fake_frame_decryptor",
2586 "../api:fake_frame_encryptor",
Jonas Orelande62c2f22022-03-29 09:04:482587 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482588 "../api:function_view",
Mirko Bonadeid151cc62022-06-20 06:35:282589 "../api:ice_transport_interface",
Harald Alvestrand82a94122021-03-08 07:01:482590 "../api:libjingle_logging_api",
2591 "../api:libjingle_peerconnection_api",
2592 "../api:media_stream_interface",
Harald Alvestrand4d25a772023-08-25 11:07:282593 "../api:mock_async_dns_resolver",
Harald Alvestrand82a94122021-03-08 07:01:482594 "../api:mock_rtp",
2595 "../api:packet_socket_factory",
2596 "../api:rtc_error",
2597 "../api:rtc_stats_api",
2598 "../api:rtp_parameters",
Florent Castelliacabb362022-10-18 15:05:162599 "../api:rtp_sender_interface",
Harald Alvestrand82a94122021-03-08 07:01:482600 "../api:rtp_transceiver_direction",
2601 "../api:scoped_refptr",
Florent Castellif4673f92024-04-19 19:46:032602 "../api/audio:audio_device",
Harald Alvestrand82a94122021-03-08 07:01:482603 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:082604 "../api/audio:audio_processing",
Harald Alvestrand82a94122021-03-08 07:01:482605 "../api/crypto:frame_decryptor_interface",
2606 "../api/crypto:frame_encryptor_interface",
2607 "../api/crypto:options",
2608 "../api/rtc_event_log",
2609 "../api/rtc_event_log:rtc_event_log_factory",
2610 "../api/task_queue",
2611 "../api/task_queue:default_task_queue_factory",
Artem Titovc374d112022-06-16 19:27:452612 "../api/task_queue:pending_task_safety_flag",
Harald Alvestrand82a94122021-03-08 07:01:482613 "../api/transport:field_trial_based_config",
Harald Alvestrand82a94122021-03-08 07:01:482614 "../api/transport/rtp:rtp_source",
2615 "../api/units:time_delta",
2616 "../api/video:builtin_video_bitrate_allocator_factory",
2617 "../api/video:video_rtp_headers",
2618 "../api/video_codecs:video_codecs_api",
2619 "../call:call_interfaces",
2620 "../call/adaptation:resource_adaptation_test_utilities",
2621 "../logging:fake_rtc_event_log",
Harald Alvestrandfb4ad292024-02-28 11:01:252622 "../media:media_engine",
Harald Alvestrand82a94122021-03-08 07:01:482623 "../media:rtc_media_config",
Harald Alvestrand82a94122021-03-08 07:01:482624 "../media:rtc_media_tests_utils",
Harald Alvestrand794d5992022-12-16 09:54:572625 "../media:stream_params",
Harald Alvestrand82a94122021-03-08 07:01:482626 "../modules/audio_processing:audioproc_test_utils",
2627 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand3bddaed2024-02-06 22:54:252628 "../p2p:basic_port_allocator",
Harald Alvestrand9a953b22024-01-26 07:11:502629 "../p2p:connection",
Harald Alvestrand82a94122021-03-08 07:01:482630 "../p2p:fake_ice_transport",
2631 "../p2p:fake_port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182632 "../p2p:ice_transport_internal",
2633 "../p2p:p2p_constants",
Harald Alvestrand82a94122021-03-08 07:01:482634 "../p2p:p2p_server_utils",
2635 "../p2p:p2p_test_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252636 "../p2p:port",
2637 "../p2p:port_allocator",
Harald Alvestranda310d782024-01-25 12:27:182638 "../p2p:port_interface",
Harald Alvestrand82a94122021-03-08 07:01:482639 "../p2p:rtc_p2p",
Harald Alvestrand82a94122021-03-08 07:01:482640 "../rtc_base:checks",
2641 "../rtc_base:gunit_helpers",
2642 "../rtc_base:ip_address",
Florent Castelli0af55ba2022-04-04 13:06:302643 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462644 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092645 "../rtc_base:mdns_responder_interface",
Tommicde4b672023-04-25 06:53:422646 "../rtc_base:null_socket_server",
Harald Alvestrand82a94122021-03-08 07:01:482647 "../rtc_base:rtc_base_tests_utils",
Florent Castellia138c6c2023-01-04 11:01:092648 "../rtc_base:rtc_certificate_generator",
Florent Castelli33d31fb2022-04-04 14:57:522649 "../rtc_base:rtc_event",
Harald Alvestrand82a94122021-03-08 07:01:482650 "../rtc_base:rtc_json",
Florent Castellie10a9f62022-04-04 15:04:372651 "../rtc_base:safe_conversions",
Harald Alvestrand82a94122021-03-08 07:01:482652 "../rtc_base:socket_address",
Florent Castellia138c6c2023-01-04 11:01:092653 "../rtc_base:ssl",
Danil Chapovalov2aaef452022-08-12 13:55:112654 "../rtc_base:task_queue_for_test",
Harald Alvestrand82a94122021-03-08 07:01:482655 "../rtc_base:threading",
2656 "../rtc_base:timeutils",
2657 "../rtc_base/synchronization:mutex",
Evan Shrubsole7619b7c2022-03-01 09:42:442658 "../rtc_base/task_utils:repeating_task",
Harald Alvestrand82a94122021-03-08 07:01:482659 "../rtc_base/third_party/base64",
2660 "../rtc_base/third_party/sigslot",
2661 "../system_wrappers:metrics",
Jonas Orelanded99dae2022-03-09 08:28:102662 "../test:explicit_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482663 "../test:fileutils",
2664 "../test:rtp_test_utils",
Jonas Orelanded99dae2022-03-09 08:28:102665 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482666 "../test:test_support",
2667 "../test/pc/sctp:fake_sctp_transport",
Tommicde4b672023-04-25 06:53:422668 "../test/time_controller",
Harald Alvestrand82a94122021-03-08 07:01:482669 ]
2670 absl_deps = [
2671 "//third_party/abseil-cpp/absl/algorithm:container",
2672 "//third_party/abseil-cpp/absl/memory",
2673 "//third_party/abseil-cpp/absl/strings",
2674 "//third_party/abseil-cpp/absl/types:optional",
2675 ]
2676 }
2677
Danil Chapovalovc63120a2023-11-03 10:32:242678 rtc_library("enable_fake_media") {
2679 testonly = true
2680 visibility = [ ":*" ]
2681 sources = [
2682 "test/enable_fake_media.cc",
2683 "test/enable_fake_media.h",
2684 ]
2685 deps = [
2686 ":media_factory",
2687 "../api:libjingle_peerconnection_api",
Danil Chapovalov680f1032023-11-27 16:56:492688 "../api/environment",
Danil Chapovalovc63120a2023-11-03 10:32:242689 "../call:call_interfaces",
2690 "../media:rtc_media_tests_utils",
2691 "../rtc_base:checks",
2692 ]
2693 absl_deps = [ "//third_party/abseil-cpp/absl/base:nullability" ]
2694 }
2695
Harald Alvestrand82a94122021-03-08 07:01:482696 rtc_library("pc_test_utils") {
2697 testonly = true
2698 sources = [
2699 "test/fake_audio_capture_module.cc",
2700 "test/fake_audio_capture_module.h",
Harald Alvestrand9e5aeb92022-05-11 09:35:362701 "test/fake_data_channel_controller.h",
Harald Alvestrand82a94122021-03-08 07:01:482702 "test/fake_peer_connection_base.h",
2703 "test/fake_peer_connection_for_stats.h",
2704 "test/fake_periodic_video_source.h",
2705 "test/fake_periodic_video_track_source.h",
2706 "test/fake_rtc_certificate_generator.h",
2707 "test/fake_video_track_renderer.h",
2708 "test/fake_video_track_source.h",
2709 "test/frame_generator_capturer_video_track_source.h",
2710 "test/mock_channel_interface.h",
2711 "test/mock_data_channel.h",
Harald Alvestranda45c8f42022-05-10 08:44:482712 "test/mock_peer_connection_internal.h",
Harald Alvestrand82a94122021-03-08 07:01:482713 "test/mock_peer_connection_observers.h",
2714 "test/mock_rtp_receiver_internal.h",
2715 "test/mock_rtp_sender_internal.h",
Florent Castellid797cb62023-06-27 20:07:092716 "test/mock_voice_media_receive_channel_interface.h",
Harald Alvestrand82a94122021-03-08 07:01:482717 "test/peer_connection_test_wrapper.cc",
2718 "test/peer_connection_test_wrapper.h",
2719 "test/rtc_stats_obtainer.h",
Henrik Boströmda9e2842023-04-06 13:27:332720 "test/simulcast_layer_util.cc",
2721 "test/simulcast_layer_util.h",
Harald Alvestrand82a94122021-03-08 07:01:482722 "test/test_sdp_strings.h",
2723 ]
2724
2725 deps = [
Harald Alvestrand65685a62022-04-27 12:15:492726 ":channel",
Harald Alvestrandc5b9c952022-03-14 07:16:402727 ":channel_interface",
Danil Chapovalovc63120a2023-11-03 10:32:242728 ":enable_fake_media",
Harald Alvestrand82a94122021-03-08 07:01:482729 ":jitter_buffer_delay",
Harald Alvestrand82a94122021-03-08 07:01:482730 ":libjingle_peerconnection",
Harald Alvestrand67a68d52022-02-07 05:07:032731 ":peer_connection_internal",
Harald Alvestrand82a94122021-03-08 07:01:482732 ":rtp_receiver",
2733 ":rtp_sender",
Harald Alvestrandad3b3232022-02-07 02:59:362734 ":sctp_data_channel",
Henrik Boströmda9e2842023-04-06 13:27:332735 ":session_description",
2736 ":simulcast_description",
Harald Alvestrandab0152d2022-02-07 06:43:482737 ":stream_collection",
Harald Alvestrand82a94122021-03-08 07:01:482738 ":video_track_source",
2739 "../api:audio_options_api",
Mirko Bonadei9d9c2d52022-10-07 21:47:492740 "../api:call_api",
Harald Alvestrand82a94122021-03-08 07:01:482741 "../api:create_frame_generator",
2742 "../api:create_peerconnection_factory",
Jonas Orelande62c2f22022-03-29 09:04:482743 "../api:field_trials_view",
2744 "../api:field_trials_view",
Harald Alvestrand82a94122021-03-08 07:01:482745 "../api:libjingle_peerconnection_api",
Niels Möller105711e2022-06-14 13:48:262746 "../api:make_ref_counted",
Harald Alvestrand82a94122021-03-08 07:01:482747 "../api:media_stream_interface",
2748 "../api:rtc_error",
2749 "../api:rtc_stats_api",
Florent Castelli43a5dd82023-04-12 10:45:072750 "../api:rtp_parameters",
Harald Alvestrand82a94122021-03-08 07:01:482751 "../api:scoped_refptr",
2752 "../api:sequence_checker",
Florent Castellif4673f92024-04-19 19:46:032753 "../api/audio:audio_device",
Harald Alvestrand82a94122021-03-08 07:01:482754 "../api/audio:audio_mixer_api",
Florent Castelli0afde762024-04-19 15:07:082755 "../api/audio:audio_processing",
Harald Alvestrand82a94122021-03-08 07:01:482756 "../api/audio_codecs:audio_codecs_api",
Danil Chapovalov27253172024-03-12 15:58:182757 "../api/environment",
Danil Chapovalov7eaa9dc2023-11-27 14:00:212758 "../api/environment:environment_factory",
Harald Alvestrand82a94122021-03-08 07:01:482759 "../api/task_queue",
2760 "../api/task_queue:default_task_queue_factory",
Danil Chapovalov372ecc32022-08-19 16:22:152761 "../api/units:time_delta",
Harald Alvestrand82a94122021-03-08 07:01:482762 "../api/video:builtin_video_bitrate_allocator_factory",
Henrik Boströmfd4ddd12023-02-08 10:29:202763 "../api/video:resolution",
Harald Alvestrand82a94122021-03-08 07:01:482764 "../api/video:video_frame",
2765 "../api/video:video_rtp_headers",
Harald Alvestrand82a94122021-03-08 07:01:482766 "../api/video_codecs:video_codecs_api",
Åsa Persson13fffbb2023-03-31 11:13:372767 "../api/video_codecs:video_decoder_factory_template",
2768 "../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
2769 "../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
2770 "../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
2771 "../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
philipel2cafacf2023-04-03 13:17:172772 "../api/video_codecs:video_encoder_factory_template",
2773 "../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
2774 "../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
2775 "../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
2776 "../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
Harald Alvestrand82a94122021-03-08 07:01:482777 "../call:call_interfaces",
Harald Alvestrand794d5992022-12-16 09:54:572778 "../media:media_channel",
2779 "../media:media_channel_impl",
Harald Alvestrand82a94122021-03-08 07:01:482780 "../media:rtc_media",
Harald Alvestrand82a94122021-03-08 07:01:482781 "../media:rtc_media_tests_utils",
philipel2cafacf2023-04-03 13:17:172782 "../media:rtc_simulcast_encoder_adapter",
Harald Alvestrandafaae4e2024-03-12 12:06:162783 "../media:video_broadcaster",
Harald Alvestrand82a94122021-03-08 07:01:482784 "../modules/audio_device",
2785 "../modules/audio_processing",
Per K89ca2992023-01-10 13:28:252786 "../modules/rtp_rtcp:rtp_rtcp_format",
Harald Alvestrand9a953b22024-01-26 07:11:502787 "../p2p:connection",
Harald Alvestrand82a94122021-03-08 07:01:482788 "../p2p:fake_port_allocator",
2789 "../p2p:p2p_test_utils",
Harald Alvestrand3bddaed2024-02-06 22:54:252790 "../p2p:port_allocator",
Harald Alvestrand82a94122021-03-08 07:01:482791 "../p2p:rtc_p2p",
Harald Alvestrand82a94122021-03-08 07:01:482792 "../rtc_base:checks",
2793 "../rtc_base:gunit_helpers",
Florent Castelli0af55ba2022-04-04 13:06:302794 "../rtc_base:logging",
Florent Castelli4467ad72022-04-04 13:18:462795 "../rtc_base:macromagic",
Florent Castellia138c6c2023-01-04 11:01:092796 "../rtc_base:rtc_certificate_generator",
Florent Castellia138c6c2023-01-04 11:01:092797 "../rtc_base:ssl",
Florent Castelli57aa81b2022-04-04 15:14:022798 "../rtc_base:stringutils",
Harald Alvestrand82a94122021-03-08 07:01:482799 "../rtc_base:task_queue_for_test",
2800 "../rtc_base:threading",
Florent Castellidd837e22022-04-04 15:16:152801 "../rtc_base:timeutils",
Tommi1c0d91f2023-03-02 14:42:062802 "../rtc_base:weak_ptr",
Harald Alvestrand82a94122021-03-08 07:01:482803 "../rtc_base/synchronization:mutex",
2804 "../rtc_base/task_utils:repeating_task",
2805 "../rtc_base/third_party/sigslot",
Artem Titovd12582a2023-04-12 13:29:072806 "../test:frame_generator_capturer",
Jonas Orelanded99dae2022-03-09 08:28:102807 "../test:scoped_key_value_config",
Harald Alvestrand82a94122021-03-08 07:01:482808 "../test:test_support",
Harald Alvestrand82a94122021-03-08 07:01:482809 ]
Henrik Boströmda9e2842023-04-06 13:27:332810 absl_deps = [
2811 "//third_party/abseil-cpp/absl/algorithm:container",
Florent Castelli43a5dd82023-04-12 10:45:072812 "//third_party/abseil-cpp/absl/strings",
Henrik Boströmda9e2842023-04-06 13:27:332813 "//third_party/abseil-cpp/absl/types:optional",
2814 ]
Harald Alvestrand82a94122021-03-08 07:01:482815 }
Florent Castelli90b74382022-04-25 15:28:002816
2817 svc_tests_resources = [
2818 "../resources/difficult_photo_1850_1110.yuv",
2819 "../resources/photo_1850_1110.yuv",
2820 "../resources/presentation_1850_1110.yuv",
2821 "../resources/web_screenshot_1850_1110.yuv",
2822 ]
2823
2824 if (is_ios) {
2825 bundle_data("svc_tests_bundle_data") {
2826 testonly = true
2827 sources = svc_tests_resources
2828 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
2829 }
2830 }
2831
2832 rtc_test("svc_tests") {
2833 sources = [ "test/svc_e2e_tests.cc" ]
2834 data = svc_tests_resources
2835 deps = [
2836 "../api:create_network_emulation_manager",
2837 "../api:create_peer_connection_quality_test_frame_generator",
2838 "../api:create_peerconnection_quality_test_fixture",
2839 "../api:frame_generator_api",
2840 "../api:media_stream_interface",
2841 "../api:network_emulation_manager_api",
2842 "../api:peer_connection_quality_test_fixture_api",
Evan Shrubsole9b235cd2022-12-06 10:09:102843 "../api:rtc_stats_api",
Florent Castelli90b74382022-04-25 15:28:002844 "../api:simulated_network_api",
2845 "../api:time_controller",
Artem Titovc45f4e42022-09-24 14:56:072846 "../api/test/metrics:global_metrics_logger_and_exporter",
Jeremy Lecontea3e51df2022-11-10 14:42:532847 "../api/test/pclf:media_configuration",
2848 "../api/test/pclf:media_quality_test_params",
2849 "../api/test/pclf:peer_configurer",
Florent Castelli90b74382022-04-25 15:28:002850 "../api/video_codecs:video_codecs_api",
2851 "../call:simulated_network",
2852 "../modules/video_coding:webrtc_vp9",
Byoungchan Leef22c6b42022-09-20 23:56:402853 "../modules/video_coding/svc:scalability_mode_util",
Florent Castelli90b74382022-04-25 15:28:002854 "../rtc_base/containers:flat_map",
2855 "../system_wrappers:field_trial",
2856 "../test:field_trial",
2857 "../test:fileutils",
2858 "../test:test_main",
2859 "../test:test_support",
Florent Castelli90b74382022-04-25 15:28:002860 "../test/pc/e2e:network_quality_metrics_reporter",
Ilya Nikolaevskiy6eb1e702022-11-18 09:47:402861 "../test/pc/e2e/analyzer/video:default_video_quality_analyzer",
Florent Castelli90b74382022-04-25 15:28:002862 ]
2863
2864 if (is_ios) {
2865 deps += [ ":svc_tests_bundle_data" ]
2866 }
2867 }
kjellander142f8c52016-06-13 07:08:242868}