1# 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
9import("//build/config/linux/pkg_config.gni")
10import("../webrtc.gni")
11
12group("media") {
13  deps = []
14  if (!build_with_mozilla) {
15    deps += [
16      ":rtc_media",
17      ":rtc_media_base",
18    ]
19  }
20}
21
22config("rtc_media_defines_config") {
23  defines = [ "HAVE_WEBRTC_VIDEO" ]
24}
25
26rtc_library("rtc_h264_profile_id") {
27  visibility = [ "*" ]
28  sources = [
29    "base/h264_profile_level_id.cc",
30    "base/h264_profile_level_id.h",
31  ]
32
33  deps = [
34    "..:webrtc_common",
35    "../rtc_base",
36    "../rtc_base:checks",
37    "../rtc_base:rtc_base_approved",
38    "../rtc_base/system:rtc_export",
39  ]
40  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
41}
42
43rtc_source_set("rtc_media_config") {
44  visibility = [ "*" ]
45  sources = [ "base/media_config.h" ]
46}
47
48rtc_library("rtc_vp9_profile") {
49  visibility = [ "*" ]
50  sources = [
51    "base/vp9_profile.cc",
52    "base/vp9_profile.h",
53  ]
54
55  deps = [
56    "..:webrtc_common",
57    "../api/video_codecs:video_codecs_api",
58    "../rtc_base:rtc_base_approved",
59    "../rtc_base/system:rtc_export",
60  ]
61  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
62}
63
64rtc_library("rtc_sdp_fmtp_utils") {
65  visibility = [ "*" ]
66  sources = [
67    "base/sdp_fmtp_utils.cc",
68    "base/sdp_fmtp_utils.h",
69  ]
70
71  deps = [
72    "../api/video_codecs:video_codecs_api",
73    "../rtc_base:stringutils",
74  ]
75  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
76}
77
78rtc_library("rtc_media_base") {
79  visibility = [ "*" ]
80  defines = []
81  libs = []
82  deps = [
83    ":rtc_h264_profile_id",
84    ":rtc_media_config",
85    ":rtc_vp9_profile",
86    "..:webrtc_common",
87    "../api:array_view",
88    "../api:audio_options_api",
89    "../api:frame_transformer_interface",
90    "../api:media_stream_interface",
91    "../api:rtc_error",
92    "../api:rtp_parameters",
93    "../api:scoped_refptr",
94    "../api/audio_codecs:audio_codecs_api",
95    "../api/crypto:frame_decryptor_interface",
96    "../api/crypto:frame_encryptor_interface",
97    "../api/crypto:options",
98    "../api/transport:stun_types",
99    "../api/transport/rtp:rtp_source",
100    "../api/video:video_bitrate_allocation",
101    "../api/video:video_bitrate_allocator_factory",
102    "../api/video:video_frame",
103    "../api/video:video_frame_i420",
104    "../api/video:video_rtp_headers",
105    "../api/video_codecs:video_codecs_api",
106    "../call:call_interfaces",
107    "../call:video_stream_api",
108    "../common_video",
109    "../modules/audio_processing:audio_processing_statistics",
110    "../modules/rtp_rtcp:rtp_rtcp_format",
111    "../rtc_base",
112    "../rtc_base:checks",
113    "../rtc_base:rtc_base_approved",
114    "../rtc_base:rtc_base_approved",
115    "../rtc_base:rtc_task_queue",
116    "../rtc_base:sanitizer",
117    "../rtc_base:stringutils",
118    "../rtc_base/synchronization:mutex",
119    "../rtc_base/synchronization:sequence_checker",
120    "../rtc_base/system:file_wrapper",
121    "../rtc_base/system:rtc_export",
122    "../rtc_base/third_party/sigslot",
123    "../system_wrappers:field_trial",
124  ]
125  absl_deps = [
126    "//third_party/abseil-cpp/absl/algorithm:container",
127    "//third_party/abseil-cpp/absl/strings",
128    "//third_party/abseil-cpp/absl/types:optional",
129  ]
130  sources = [
131    "base/adapted_video_track_source.cc",
132    "base/adapted_video_track_source.h",
133    "base/audio_source.h",
134    "base/codec.cc",
135    "base/codec.h",
136    "base/delayable.h",
137    "base/media_channel.cc",
138    "base/media_channel.h",
139    "base/media_constants.cc",
140    "base/media_constants.h",
141    "base/media_engine.cc",
142    "base/media_engine.h",
143    "base/rid_description.cc",
144    "base/rid_description.h",
145    "base/rtp_data_engine.cc",
146    "base/rtp_data_engine.h",
147    "base/rtp_utils.cc",
148    "base/rtp_utils.h",
149    "base/stream_params.cc",
150    "base/stream_params.h",
151    "base/turn_utils.cc",
152    "base/turn_utils.h",
153    "base/video_adapter.cc",
154    "base/video_adapter.h",
155    "base/video_broadcaster.cc",
156    "base/video_broadcaster.h",
157    "base/video_common.cc",
158    "base/video_common.h",
159    "base/video_source_base.cc",
160    "base/video_source_base.h",
161  ]
162}
163
164rtc_library("rtc_constants") {
165  defines = []
166  libs = []
167  deps = []
168  sources = [
169    "engine/constants.cc",
170    "engine/constants.h",
171  ]
172}
173
174rtc_library("rtc_simulcast_encoder_adapter") {
175  visibility = [ "*" ]
176  defines = []
177  libs = []
178  sources = [
179    "engine/simulcast_encoder_adapter.cc",
180    "engine/simulcast_encoder_adapter.h",
181  ]
182  deps = [
183    ":rtc_media_base",
184    "../api:fec_controller_api",
185    "../api:scoped_refptr",
186    "../api/video:video_codec_constants",
187    "../api/video:video_frame",
188    "../api/video:video_frame_i420",
189    "../api/video:video_rtp_headers",
190    "../api/video_codecs:rtc_software_fallback_wrappers",
191    "../api/video_codecs:video_codecs_api",
192    "../call:video_stream_api",
193    "../modules/video_coding:video_codec_interface",
194    "../modules/video_coding:video_coding_utility",
195    "../rtc_base:checks",
196    "../rtc_base:rtc_base_approved",
197    "../rtc_base/experiments:rate_control_settings",
198    "../rtc_base/synchronization:sequence_checker",
199    "../rtc_base/system:rtc_export",
200    "../system_wrappers",
201    "../system_wrappers:field_trial",
202  ]
203  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
204}
205
206rtc_library("rtc_encoder_simulcast_proxy") {
207  visibility = [ "*" ]
208  defines = []
209  libs = []
210  sources = [
211    "engine/encoder_simulcast_proxy.cc",
212    "engine/encoder_simulcast_proxy.h",
213  ]
214  deps = [
215    ":rtc_simulcast_encoder_adapter",
216    "../api/video:video_bitrate_allocation",
217    "../api/video:video_frame",
218    "../api/video:video_rtp_headers",
219    "../api/video_codecs:video_codecs_api",
220    "../modules/video_coding:video_codec_interface",
221    "../rtc_base/system:rtc_export",
222  ]
223}
224
225rtc_library("rtc_internal_video_codecs") {
226  visibility = [ "*" ]
227  allow_poison = [ "software_video_codecs" ]
228  defines = []
229  libs = []
230  deps = [
231    ":rtc_constants",
232    ":rtc_encoder_simulcast_proxy",
233    ":rtc_h264_profile_id",
234    ":rtc_media_base",
235    ":rtc_simulcast_encoder_adapter",
236    "../:webrtc_common",
237    "../api/video:encoded_image",
238    "../api/video:video_bitrate_allocation",
239    "../api/video:video_frame",
240    "../api/video:video_rtp_headers",
241    "../api/video_codecs:rtc_software_fallback_wrappers",
242    "../api/video_codecs:video_codecs_api",
243    "../call:call_interfaces",
244    "../call:video_stream_api",
245    "../modules:module_api",
246    "../modules/video_coding:video_codec_interface",
247    "../modules/video_coding:webrtc_h264",
248    "../modules/video_coding:webrtc_multiplex",
249    "../modules/video_coding:webrtc_vp8",
250    "../modules/video_coding:webrtc_vp9",
251    "../modules/video_coding/codecs/av1:libaom_av1_decoder",
252    "../modules/video_coding/codecs/av1:libaom_av1_encoder",
253    "../rtc_base:checks",
254    "../rtc_base:deprecation",
255    "../rtc_base:rtc_base_approved",
256    "../rtc_base/system:rtc_export",
257    "../test:fake_video_codecs",
258  ]
259  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
260  sources = [
261    "engine/fake_video_codec_factory.cc",
262    "engine/fake_video_codec_factory.h",
263    "engine/internal_decoder_factory.cc",
264    "engine/internal_decoder_factory.h",
265    "engine/internal_encoder_factory.cc",
266    "engine/internal_encoder_factory.h",
267    "engine/multiplex_codec_factory.cc",
268    "engine/multiplex_codec_factory.h",
269
270    # TODO(bugs.webrtc.org/7925): stop exporting this header once downstream
271    # targets depend on :rtc_encoder_simulcast_proxy directly.
272    "engine/encoder_simulcast_proxy.h",
273  ]
274}
275
276rtc_library("rtc_audio_video") {
277  visibility = [ "*" ]
278  allow_poison = [ "audio_codecs" ]  # TODO(bugs.webrtc.org/8396): Remove.
279  defines = []
280  libs = []
281  deps = [
282    ":rtc_constants",
283    ":rtc_media_base",
284    "..:webrtc_common",
285    "../api:call_api",
286    "../api:libjingle_peerconnection_api",
287    "../api:media_stream_interface",
288    "../api:rtp_parameters",
289    "../api:scoped_refptr",
290    "../api:transport_api",
291    "../api/audio:audio_mixer_api",
292    "../api/audio_codecs:audio_codecs_api",
293    "../api/task_queue",
294    "../api/transport:bitrate_settings",
295    "../api/transport/rtp:rtp_source",
296    "../api/units:data_rate",
297    "../api/video:video_bitrate_allocation",
298    "../api/video:video_bitrate_allocator_factory",
299    "../api/video:video_codec_constants",
300    "../api/video:video_frame",
301    "../api/video:video_frame_i420",
302    "../api/video:video_rtp_headers",
303    "../api/video_codecs:rtc_software_fallback_wrappers",
304    "../api/video_codecs:video_codecs_api",
305    "../call",
306    "../call:call_interfaces",
307    "../call:video_stream_api",
308    "../common_video",
309    "../modules/audio_device",
310    "../modules/audio_device:audio_device_impl",
311    "../modules/audio_mixer:audio_mixer_impl",
312    "../modules/audio_processing:api",
313    "../modules/audio_processing/aec_dump",
314    "../modules/audio_processing/agc:gain_control_interface",
315    "../modules/video_coding",
316    "../modules/video_coding:video_codec_interface",
317    "../modules/video_coding:video_coding_utility",
318    "../rtc_base",
319    "../rtc_base:audio_format_to_string",
320    "../rtc_base:checks",
321    "../rtc_base:ignore_wundef",
322    "../rtc_base:rtc_task_queue",
323    "../rtc_base:stringutils",
324    "../rtc_base/experiments:field_trial_parser",
325    "../rtc_base/experiments:min_video_bitrate_experiment",
326    "../rtc_base/experiments:normalize_simulcast_size_experiment",
327    "../rtc_base/experiments:rate_control_settings",
328    "../rtc_base/synchronization:mutex",
329    "../rtc_base/system:rtc_export",
330    "../rtc_base/third_party/base64",
331    "../system_wrappers",
332    "../system_wrappers:field_trial",
333    "../system_wrappers:metrics",
334  ]
335  absl_deps = [
336    "//third_party/abseil-cpp/absl/algorithm:container",
337    "//third_party/abseil-cpp/absl/strings",
338    "//third_party/abseil-cpp/absl/types:optional",
339  ]
340
341  sources = [
342    "engine/adm_helpers.cc",
343    "engine/adm_helpers.h",
344    "engine/null_webrtc_video_engine.h",
345    "engine/payload_type_mapper.cc",
346    "engine/payload_type_mapper.h",
347    "engine/simulcast.cc",
348    "engine/simulcast.h",
349    "engine/unhandled_packets_buffer.cc",
350    "engine/unhandled_packets_buffer.h",
351    "engine/webrtc_media_engine.cc",
352    "engine/webrtc_media_engine.h",
353    "engine/webrtc_video_engine.cc",
354    "engine/webrtc_video_engine.h",
355    "engine/webrtc_voice_engine.cc",
356    "engine/webrtc_voice_engine.h",
357  ]
358
359  public_configs = []
360  if (!build_with_chromium) {
361    public_configs += [ ":rtc_media_defines_config" ]
362    deps += [ "../modules/video_capture:video_capture_internal_impl" ]
363  }
364  if (rtc_enable_protobuf) {
365    deps += [
366      "../modules/audio_coding:ana_config_proto",
367      "../modules/audio_processing/aec_dump:aec_dump_impl",
368    ]
369  } else {
370    deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ]
371  }
372}
373
374# Heavy but optional helper for unittests and webrtc users who prefer to use
375# defaults factories or do not worry about extra dependencies and binary size.
376rtc_library("rtc_media_engine_defaults") {
377  visibility = [ "*" ]
378  allow_poison = [
379    "audio_codecs",
380    "default_task_queue",
381    "software_video_codecs",
382  ]
383  sources = [
384    "engine/webrtc_media_engine_defaults.cc",
385    "engine/webrtc_media_engine_defaults.h",
386  ]
387  deps = [
388    ":rtc_audio_video",
389    "../api/audio_codecs:builtin_audio_decoder_factory",
390    "../api/audio_codecs:builtin_audio_encoder_factory",
391    "../api/task_queue:default_task_queue_factory",
392    "../api/video:builtin_video_bitrate_allocator_factory",
393    "../api/video_codecs:builtin_video_decoder_factory",
394    "../api/video_codecs:builtin_video_encoder_factory",
395    "../modules/audio_processing:api",
396    "../rtc_base:checks",
397    "../rtc_base/system:rtc_export",
398  ]
399}
400
401rtc_library("rtc_data") {
402  defines = [
403    # "SCTP_DEBUG" # Uncomment for SCTP debugging.
404  ]
405  deps = [
406    ":rtc_media_base",
407    "..:webrtc_common",
408    "../api:call_api",
409    "../api:transport_api",
410    "../p2p:rtc_p2p",
411    "../rtc_base",
412    "../rtc_base:rtc_base_approved",
413    "../rtc_base/synchronization:mutex",
414    "../rtc_base/third_party/sigslot",
415    "../system_wrappers",
416  ]
417  absl_deps = [
418    "//third_party/abseil-cpp/absl/algorithm:container",
419    "//third_party/abseil-cpp/absl/base:core_headers",
420    "//third_party/abseil-cpp/absl/types:optional",
421  ]
422
423  if (rtc_enable_sctp) {
424    sources = [
425      "sctp/sctp_transport.cc",
426      "sctp/sctp_transport.h",
427      "sctp/sctp_transport_internal.h",
428    ]
429  } else {
430    # libtool on mac does not like empty targets.
431    sources = [ "sctp/noop.cc" ]
432  }
433
434  if (rtc_enable_sctp && rtc_build_usrsctp) {
435    deps += [ "//third_party/usrsctp" ]
436  }
437}
438
439rtc_source_set("rtc_media") {
440  visibility = [ "*" ]
441  allow_poison = [ "audio_codecs" ]  # TODO(bugs.webrtc.org/8396): Remove.
442  deps = [
443    ":rtc_audio_video",
444    ":rtc_data",
445  ]
446}
447
448if (rtc_include_tests) {
449  rtc_library("rtc_media_tests_utils") {
450    testonly = true
451
452    defines = []
453    deps = [
454      ":rtc_audio_video",
455      ":rtc_internal_video_codecs",
456      ":rtc_media",
457      ":rtc_media_base",
458      ":rtc_simulcast_encoder_adapter",
459      "../api:call_api",
460      "../api:fec_controller_api",
461      "../api:scoped_refptr",
462      "../api/video:encoded_image",
463      "../api/video:video_bitrate_allocation",
464      "../api/video:video_frame",
465      "../api/video:video_frame_i420",
466      "../api/video:video_rtp_headers",
467      "../api/video_codecs:video_codecs_api",
468      "../call:call_interfaces",
469      "../call:mock_rtp_interfaces",
470      "../call:video_stream_api",
471      "../common_video",
472      "../modules/audio_processing",
473      "../modules/audio_processing:api",
474      "../modules/rtp_rtcp:rtp_rtcp_format",
475      "../modules/video_coding:video_codec_interface",
476      "../modules/video_coding:video_coding_utility",
477      "../p2p:rtc_p2p",
478      "../rtc_base",
479      "../rtc_base:checks",
480      "../rtc_base:gunit_helpers",
481      "../rtc_base:rtc_base_approved",
482      "../rtc_base:rtc_task_queue",
483      "../rtc_base:stringutils",
484      "../rtc_base/synchronization:mutex",
485      "../rtc_base/third_party/sigslot",
486      "../test:test_support",
487      "//testing/gtest",
488    ]
489    absl_deps = [
490      "//third_party/abseil-cpp/absl/algorithm:container",
491      "//third_party/abseil-cpp/absl/strings",
492    ]
493    sources = [
494      "base/fake_frame_source.cc",
495      "base/fake_frame_source.h",
496      "base/fake_media_engine.cc",
497      "base/fake_media_engine.h",
498      "base/fake_network_interface.h",
499      "base/fake_rtp.cc",
500      "base/fake_rtp.h",
501      "base/fake_video_renderer.cc",
502      "base/fake_video_renderer.h",
503      "base/test_utils.cc",
504      "base/test_utils.h",
505      "engine/fake_webrtc_call.cc",
506      "engine/fake_webrtc_call.h",
507      "engine/fake_webrtc_video_engine.cc",
508      "engine/fake_webrtc_video_engine.h",
509    ]
510  }
511
512  rtc_media_unittests_resources = [
513    "../resources/media/captured-320x240-2s-48.frames",
514    "../resources/media/faces.1280x720_P420.yuv",
515    "../resources/media/faces_I400.jpg",
516    "../resources/media/faces_I411.jpg",
517    "../resources/media/faces_I420.jpg",
518    "../resources/media/faces_I422.jpg",
519    "../resources/media/faces_I444.jpg",
520  ]
521
522  if (is_ios) {
523    bundle_data("rtc_media_unittests_bundle_data") {
524      testonly = true
525      sources = rtc_media_unittests_resources
526      outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
527    }
528  }
529
530  rtc_test("rtc_media_unittests") {
531    testonly = true
532
533    defines = []
534    deps = [
535      ":rtc_audio_video",
536      ":rtc_constants",
537      ":rtc_data",
538      ":rtc_encoder_simulcast_proxy",
539      ":rtc_internal_video_codecs",
540      ":rtc_media",
541      ":rtc_media_base",
542      ":rtc_media_engine_defaults",
543      ":rtc_media_tests_utils",
544      ":rtc_sdp_fmtp_utils",
545      ":rtc_simulcast_encoder_adapter",
546      ":rtc_vp9_profile",
547      "../:webrtc_common",
548      "../api:create_simulcast_test_fixture_api",
549      "../api:libjingle_peerconnection_api",
550      "../api:mock_video_bitrate_allocator",
551      "../api:mock_video_bitrate_allocator_factory",
552      "../api:mock_video_codec_factory",
553      "../api:mock_video_encoder",
554      "../api:rtp_parameters",
555      "../api:scoped_refptr",
556      "../api:simulcast_test_fixture_api",
557      "../api/audio_codecs:builtin_audio_decoder_factory",
558      "../api/audio_codecs:builtin_audio_encoder_factory",
559      "../api/rtc_event_log",
560      "../api/task_queue",
561      "../api/task_queue:default_task_queue_factory",
562      "../api/test/video:function_video_factory",
563      "../api/transport:field_trial_based_config",
564      "../api/units:time_delta",
565      "../api/video:builtin_video_bitrate_allocator_factory",
566      "../api/video:video_bitrate_allocation",
567      "../api/video:video_frame",
568      "../api/video:video_frame_i420",
569      "../api/video:video_rtp_headers",
570      "../api/video_codecs:builtin_video_decoder_factory",
571      "../api/video_codecs:builtin_video_encoder_factory",
572      "../api/video_codecs:video_codecs_api",
573      "../audio",
574      "../call:call_interfaces",
575      "../common_video",
576      "../media:rtc_h264_profile_id",
577      "../modules/audio_device:mock_audio_device",
578      "../modules/audio_processing",
579      "../modules/audio_processing:api",
580      "../modules/audio_processing:mocks",
581      "../modules/rtp_rtcp",
582      "../modules/video_coding:simulcast_test_fixture_impl",
583      "../modules/video_coding:video_codec_interface",
584      "../modules/video_coding:webrtc_h264",
585      "../modules/video_coding:webrtc_vp8",
586      "../modules/video_coding/codecs/av1:libaom_av1_decoder",
587      "../p2p:p2p_test_utils",
588      "../rtc_base",
589      "../rtc_base:checks",
590      "../rtc_base:gunit_helpers",
591      "../rtc_base:rtc_base_approved",
592      "../rtc_base:rtc_base_tests_utils",
593      "../rtc_base:rtc_task_queue",
594      "../rtc_base:stringutils",
595      "../rtc_base/experiments:min_video_bitrate_experiment",
596      "../rtc_base/synchronization:mutex",
597      "../rtc_base/third_party/sigslot",
598      "../test:audio_codec_mocks",
599      "../test:fake_video_codecs",
600      "../test:field_trial",
601      "../test:rtp_test_utils",
602      "../test:test_main",
603      "../test:test_support",
604      "../test:video_test_common",
605      "//third_party/abseil-cpp/absl/algorithm:container",
606      "//third_party/abseil-cpp/absl/memory",
607      "//third_party/abseil-cpp/absl/strings",
608      "//third_party/abseil-cpp/absl/types:optional",
609    ]
610    sources = [
611      "base/codec_unittest.cc",
612      "base/media_engine_unittest.cc",
613      "base/rtp_data_engine_unittest.cc",
614      "base/rtp_utils_unittest.cc",
615      "base/sdp_fmtp_utils_unittest.cc",
616      "base/stream_params_unittest.cc",
617      "base/turn_utils_unittest.cc",
618      "base/video_adapter_unittest.cc",
619      "base/video_broadcaster_unittest.cc",
620      "base/video_common_unittest.cc",
621      "engine/encoder_simulcast_proxy_unittest.cc",
622      "engine/internal_decoder_factory_unittest.cc",
623      "engine/multiplex_codec_factory_unittest.cc",
624      "engine/null_webrtc_video_engine_unittest.cc",
625      "engine/payload_type_mapper_unittest.cc",
626      "engine/simulcast_encoder_adapter_unittest.cc",
627      "engine/simulcast_unittest.cc",
628      "engine/unhandled_packets_buffer_unittest.cc",
629      "engine/webrtc_media_engine_unittest.cc",
630      "engine/webrtc_video_engine_unittest.cc",
631    ]
632
633    # TODO(kthelgason): Reenable this test on iOS.
634    # See bugs.webrtc.org/5569
635    if (!is_ios) {
636      sources += [ "engine/webrtc_voice_engine_unittest.cc" ]
637    }
638
639    if (rtc_enable_sctp) {
640      sources += [
641        "sctp/sctp_transport_reliability_unittest.cc",
642        "sctp/sctp_transport_unittest.cc",
643      ]
644    }
645
646    if (rtc_opus_support_120ms_ptime) {
647      defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=1" ]
648    } else {
649      defines += [ "WEBRTC_OPUS_SUPPORT_120MS_PTIME=0" ]
650    }
651
652    data = rtc_media_unittests_resources
653
654    if (is_android) {
655      deps += [ "//testing/android/native_test:native_test_support" ]
656      shard_timeout = 900
657    }
658
659    if (is_ios) {
660      deps += [ ":rtc_media_unittests_bundle_data" ]
661    }
662
663    if (rtc_enable_sctp && rtc_build_usrsctp) {
664      deps += [ "//third_party/usrsctp" ]
665    }
666  }
667}
668