• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../webrtc.gni")
10if (is_android) {
11  import("//build/config/android/config.gni")
12  import("//build/config/android/rules.gni")
13}
14
15group("api") {
16  visibility = [ "*" ]
17  deps = []
18
19  if (!build_with_mozilla) {
20    deps += [ ":libjingle_peerconnection_api" ]
21  }
22}
23
24rtc_source_set("call_api") {
25  visibility = [ "*" ]
26  sources = [ "call/audio_sink.h" ]
27}
28
29rtc_source_set("callfactory_api") {
30  visibility = [ "*" ]
31  sources = [ "call/call_factory_interface.h" ]
32  deps = [ "../rtc_base/system:rtc_export" ]
33}
34
35if (!build_with_chromium) {
36  rtc_library("create_peerconnection_factory") {
37    visibility = [ "*" ]
38    allow_poison = [ "default_task_queue" ]
39    sources = [
40      "create_peerconnection_factory.cc",
41      "create_peerconnection_factory.h",
42    ]
43    deps = [
44      ":callfactory_api",
45      ":libjingle_peerconnection_api",
46      ":scoped_refptr",
47      "../api/rtc_event_log:rtc_event_log_factory",
48      "../media:rtc_audio_video",
49      "../media:rtc_media_base",
50      "../modules/audio_device:audio_device_api",
51      "../modules/audio_processing:api",
52      "../pc:peerconnection",
53      "../rtc_base",
54      "../rtc_base:rtc_base_approved",
55      "audio:audio_mixer_api",
56      "audio_codecs:audio_codecs_api",
57      "task_queue:default_task_queue_factory",
58      "video_codecs:video_codecs_api",
59    ]
60  }
61}
62
63rtc_library("rtp_headers") {
64  visibility = [ "*" ]
65  sources = [
66    "rtp_headers.cc",
67    "rtp_headers.h",
68  ]
69  deps = [
70    ":array_view",
71    "..:webrtc_common",
72    "units:timestamp",
73    "video:video_rtp_headers",
74  ]
75  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
76}
77
78rtc_library("rtp_packet_info") {
79  visibility = [ "*" ]
80  sources = [
81    "rtp_packet_info.cc",
82    "rtp_packet_info.h",
83    "rtp_packet_infos.h",
84  ]
85  deps = [
86    ":array_view",
87    ":refcountedbase",
88    ":rtp_headers",
89    ":scoped_refptr",
90    "..:webrtc_common",
91    "../rtc_base:rtc_base_approved",
92    "../rtc_base/system:rtc_export",
93  ]
94  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
95}
96
97rtc_library("media_stream_interface") {
98  visibility = [ "*" ]
99  sources = [
100    "media_stream_interface.cc",
101    "media_stream_interface.h",
102    "notifier.h",
103  ]
104  deps = [
105    ":audio_options_api",
106    ":rtp_parameters",
107    ":scoped_refptr",
108    "../modules/audio_processing:audio_processing_statistics",
109    "../rtc_base:checks",
110    "../rtc_base:refcount",
111    "../rtc_base/system:rtc_export",
112    "video:recordable_encoded_frame",
113    "video:video_frame",
114  ]
115  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
116}
117
118rtc_library("libjingle_peerconnection_api") {
119  visibility = [ "*" ]
120  cflags = []
121  sources = [
122    "candidate.cc",
123    "candidate.h",
124    "crypto_params.h",
125    "data_channel_interface.cc",
126    "data_channel_interface.h",
127    "dtls_transport_interface.cc",
128    "dtls_transport_interface.h",
129    "dtmf_sender_interface.h",
130    "ice_transport_interface.h",
131    "jsep.cc",
132    "jsep.h",
133    "jsep_ice_candidate.cc",
134    "jsep_ice_candidate.h",
135    "jsep_session_description.h",
136    "media_stream_proxy.h",
137    "media_stream_track_proxy.h",
138    "peer_connection_factory_proxy.h",
139    "peer_connection_interface.cc",
140    "peer_connection_interface.h",
141    "peer_connection_proxy.h",
142    "proxy.cc",
143    "proxy.h",
144    "rtp_receiver_interface.cc",
145    "rtp_receiver_interface.h",
146    "rtp_sender_interface.cc",
147    "rtp_sender_interface.h",
148    "rtp_transceiver_interface.cc",
149    "rtp_transceiver_interface.h",
150    "sctp_transport_interface.cc",
151    "sctp_transport_interface.h",
152    "set_remote_description_observer_interface.h",
153    "stats_types.cc",
154    "stats_types.h",
155    "turn_customizer.h",
156    "uma_metrics.h",
157    "video_track_source_proxy.h",
158  ]
159  deps = [
160    ":array_view",
161    ":audio_options_api",
162    ":callfactory_api",
163    ":fec_controller_api",
164    ":frame_transformer_interface",
165    ":libjingle_logging_api",
166    ":media_stream_interface",
167    ":network_state_predictor_api",
168    ":packet_socket_factory",
169    ":priority",
170    ":rtc_error",
171    ":rtc_stats_api",
172    ":rtp_packet_info",
173    ":rtp_parameters",
174    ":rtp_transceiver_direction",
175    ":scoped_refptr",
176    "adaptation:resource_adaptation_api",
177    "audio:audio_mixer_api",
178    "audio_codecs:audio_codecs_api",
179    "crypto:frame_decryptor_interface",
180    "crypto:frame_encryptor_interface",
181    "crypto:options",
182    "neteq:neteq_api",
183    "rtc_event_log",
184    "task_queue",
185    "transport:bitrate_settings",
186    "transport:enums",
187    "transport:network_control",
188    "transport:webrtc_key_value_config",
189    "transport/rtp:rtp_source",
190    "units:data_rate",
191    "units:timestamp",
192    "video:encoded_image",
193    "video:video_frame",
194    "video:video_rtp_headers",
195
196    # Basically, don't add stuff here. You might break sensitive downstream
197    # targets like pnacl. API should not depend on anything outside of this
198    # file, really. All these should arguably go away in time.
199    "..:webrtc_common",
200    "../media:rtc_media_base",
201    "../media:rtc_media_config",
202    "../modules/audio_processing:audio_processing_statistics",
203    "../rtc_base",
204    "../rtc_base:checks",
205    "../rtc_base:deprecation",
206    "../rtc_base:rtc_base_approved",
207    "../rtc_base/system:rtc_export",
208  ]
209  absl_deps = [
210    "//third_party/abseil-cpp/absl/algorithm:container",
211    "//third_party/abseil-cpp/absl/memory",
212    "//third_party/abseil-cpp/absl/strings",
213    "//third_party/abseil-cpp/absl/types:optional",
214  ]
215}
216
217rtc_source_set("frame_transformer_interface") {
218  visibility = [ "*" ]
219  sources = [ "frame_transformer_interface.h" ]
220  deps = [
221    ":scoped_refptr",
222    "../rtc_base:refcount",
223    "video:encoded_frame",
224    "video:video_frame_metadata",
225  ]
226}
227
228rtc_library("rtc_error") {
229  visibility = [ "*" ]
230  sources = [
231    "rtc_error.cc",
232    "rtc_error.h",
233  ]
234  deps = [
235    "../rtc_base:checks",
236    "../rtc_base:logging",
237    "../rtc_base:macromagic",
238    "../rtc_base/system:rtc_export",
239  ]
240  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
241}
242
243rtc_source_set("packet_socket_factory") {
244  visibility = [ "*" ]
245  sources = [
246    "async_resolver_factory.h",
247    "packet_socket_factory.h",
248  ]
249  deps = [
250    "../rtc_base:rtc_base",
251    "../rtc_base/system:rtc_export",
252  ]
253}
254
255rtc_source_set("scoped_refptr") {
256  visibility = [ "*" ]
257  sources = [ "scoped_refptr.h" ]
258}
259
260rtc_source_set("video_quality_test_fixture_api") {
261  visibility = [ "*" ]
262  testonly = true
263  sources = [ "test/video_quality_test_fixture.h" ]
264  deps = [
265    ":fec_controller_api",
266    ":libjingle_peerconnection_api",
267    ":network_state_predictor_api",
268    ":rtp_parameters",
269    ":simulated_network_api",
270    "../call:fake_network",
271    "../call:rtp_interfaces",
272    "../test:test_common",
273    "../test:video_test_common",
274    "transport:bitrate_settings",
275    "transport:network_control",
276    "video_codecs:video_codecs_api",
277  ]
278}
279
280rtc_source_set("video_quality_analyzer_api") {
281  visibility = [ "*" ]
282  testonly = true
283  sources = [ "test/video_quality_analyzer_interface.h" ]
284
285  deps = [
286    ":array_view",
287    ":stats_observer_interface",
288    "video:encoded_image",
289    "video:video_frame",
290    "video:video_rtp_headers",
291    "video_codecs:video_codecs_api",
292  ]
293  absl_deps = [
294    "//third_party/abseil-cpp/absl/strings",
295    "//third_party/abseil-cpp/absl/types:optional",
296  ]
297}
298
299rtc_source_set("track_id_stream_info_map") {
300  visibility = [ "*" ]
301  sources = [ "test/track_id_stream_info_map.h" ]
302  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
303}
304
305rtc_source_set("rtp_transceiver_direction") {
306  visibility = [ "*" ]
307  sources = [ "rtp_transceiver_direction.h" ]
308}
309
310rtc_source_set("priority") {
311  sources = [ "priority.h" ]
312}
313
314rtc_library("rtp_parameters") {
315  visibility = [ "*" ]
316  sources = [
317    "media_types.cc",
318    "media_types.h",
319    "rtp_parameters.cc",
320    "rtp_parameters.h",
321  ]
322  deps = [
323    ":array_view",
324    ":priority",
325    ":rtp_transceiver_direction",
326    "../rtc_base:checks",
327    "../rtc_base:stringutils",
328    "../rtc_base/system:rtc_export",
329  ]
330  absl_deps = [
331    "//third_party/abseil-cpp/absl/strings",
332    "//third_party/abseil-cpp/absl/types:optional",
333  ]
334}
335
336if (is_android) {
337  java_cpp_enum("priority_enums") {
338    sources = [ "priority.h" ]
339  }
340}
341
342rtc_source_set("audio_quality_analyzer_api") {
343  visibility = [ "*" ]
344  testonly = true
345  sources = [ "test/audio_quality_analyzer_interface.h" ]
346
347  deps = [
348    ":stats_observer_interface",
349    ":track_id_stream_info_map",
350  ]
351}
352
353rtc_source_set("stats_observer_interface") {
354  visibility = [ "*" ]
355  testonly = true
356  sources = [ "test/stats_observer_interface.h" ]
357
358  deps = [ ":rtc_stats_api" ]
359
360  absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
361}
362
363rtc_source_set("peer_connection_quality_test_fixture_api") {
364  visibility = [ "*" ]
365  testonly = true
366  sources = [ "test/peerconnection_quality_test_fixture.h" ]
367
368  deps = [
369    ":audio_quality_analyzer_api",
370    ":callfactory_api",
371    ":fec_controller_api",
372    ":frame_generator_api",
373    ":function_view",
374    ":libjingle_peerconnection_api",
375    ":media_stream_interface",
376    ":network_state_predictor_api",
377    ":packet_socket_factory",
378    ":rtp_parameters",
379    ":simulated_network_api",
380    ":stats_observer_interface",
381    ":track_id_stream_info_map",
382    ":video_quality_analyzer_api",
383    "../media:rtc_media_base",
384    "../rtc_base:rtc_base",
385    "rtc_event_log",
386    "task_queue",
387    "transport:network_control",
388    "units:time_delta",
389    "video:video_frame",
390    "video_codecs:video_codecs_api",
391  ]
392  absl_deps = [
393    "//third_party/abseil-cpp/absl/memory",
394    "//third_party/abseil-cpp/absl/strings",
395    "//third_party/abseil-cpp/absl/types:optional",
396  ]
397}
398
399rtc_source_set("frame_generator_api") {
400  visibility = [ "*" ]
401  testonly = true
402  sources = [ "test/frame_generator_interface.h" ]
403
404  deps = [
405    ":scoped_refptr",
406    "video:video_frame",
407  ]
408  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
409}
410
411rtc_library("test_dependency_factory") {
412  visibility = [ "*" ]
413  testonly = true
414  sources = [
415    "test/test_dependency_factory.cc",
416    "test/test_dependency_factory.h",
417  ]
418  deps = [
419    ":video_quality_test_fixture_api",
420    "../rtc_base:checks",
421    "../rtc_base:platform_thread_types",
422  ]
423}
424
425if (rtc_include_tests) {
426  rtc_library("create_video_quality_test_fixture_api") {
427    visibility = [ "*" ]
428    testonly = true
429    sources = [
430      "test/create_video_quality_test_fixture.cc",
431      "test/create_video_quality_test_fixture.h",
432    ]
433    deps = [
434      ":fec_controller_api",
435      ":network_state_predictor_api",
436      ":scoped_refptr",
437      ":video_quality_test_fixture_api",
438      "../video:video_quality_test",
439    ]
440  }
441
442  # TODO(srte): Move to network_emulation sub directory.
443  rtc_library("create_network_emulation_manager") {
444    visibility = [ "*" ]
445    testonly = true
446    sources = [
447      "test/create_network_emulation_manager.cc",
448      "test/create_network_emulation_manager.h",
449    ]
450    deps = [
451      ":network_emulation_manager_api",
452      "../test/network:emulated_network",
453    ]
454  }
455
456  rtc_library("create_peerconnection_quality_test_fixture") {
457    visibility = [ "*" ]
458    testonly = true
459    sources = [
460      "test/create_peerconnection_quality_test_fixture.cc",
461      "test/create_peerconnection_quality_test_fixture.h",
462    ]
463
464    deps = [
465      ":audio_quality_analyzer_api",
466      ":peer_connection_quality_test_fixture_api",
467      ":time_controller",
468      ":video_quality_analyzer_api",
469      "../test/pc/e2e:peerconnection_quality_test",
470    ]
471  }
472}
473
474rtc_library("create_frame_generator") {
475  visibility = [ "*" ]
476  testonly = true
477  sources = [
478    "test/create_frame_generator.cc",
479    "test/create_frame_generator.h",
480  ]
481  deps = [
482    ":frame_generator_api",
483    "../rtc_base:checks",
484    "../system_wrappers",
485    "../test:frame_generator_impl",
486  ]
487  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
488}
489
490rtc_library("create_peer_connection_quality_test_frame_generator") {
491  visibility = [ "*" ]
492  testonly = true
493  sources = [
494    "test/create_peer_connection_quality_test_frame_generator.cc",
495    "test/create_peer_connection_quality_test_frame_generator.h",
496  ]
497  deps = [
498    ":create_frame_generator",
499    ":frame_generator_api",
500    ":peer_connection_quality_test_fixture_api",
501    "../rtc_base:checks",
502    "../test:fileutils",
503  ]
504  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
505}
506
507rtc_source_set("libjingle_logging_api") {
508  visibility = [ "*" ]
509  sources = [ "rtc_event_log_output.h" ]
510}
511
512rtc_library("rtc_event_log_output_file") {
513  visibility = [ "*" ]
514  sources = [
515    "rtc_event_log_output_file.cc",
516    "rtc_event_log_output_file.h",
517  ]
518
519  deps = [
520    ":libjingle_logging_api",
521    "../rtc_base:checks",
522    "../rtc_base:rtc_base_approved",
523    "../rtc_base/system:file_wrapper",
524    "rtc_event_log",
525  ]
526}
527
528rtc_source_set("rtc_stats_api") {
529  visibility = [ "*" ]
530  cflags = []
531  sources = [
532    "stats/rtc_stats.h",
533    "stats/rtc_stats_collector_callback.h",
534    "stats/rtc_stats_report.h",
535    "stats/rtcstats_objects.h",
536  ]
537
538  deps = [
539    ":scoped_refptr",
540    "../rtc_base:checks",
541    "../rtc_base:rtc_base_approved",
542    "../rtc_base/system:rtc_export",
543  ]
544}
545
546rtc_library("audio_options_api") {
547  visibility = [ "*" ]
548  sources = [
549    "audio_options.cc",
550    "audio_options.h",
551  ]
552
553  deps = [
554    ":array_view",
555    "../rtc_base:stringutils",
556    "../rtc_base/system:rtc_export",
557  ]
558  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
559}
560
561rtc_library("transport_api") {
562  visibility = [ "*" ]
563  sources = [
564    "call/transport.cc",
565    "call/transport.h",
566  ]
567}
568
569rtc_source_set("bitrate_allocation") {
570  visibility = [ "*" ]
571  sources = [ "call/bitrate_allocation.h" ]
572  deps = [
573    "units:data_rate",
574    "units:time_delta",
575  ]
576}
577
578# TODO(srte): Move to network_emulation sub directory.
579rtc_source_set("simulated_network_api") {
580  visibility = [ "*" ]
581  sources = [ "test/simulated_network.h" ]
582  deps = [ "../rtc_base" ]
583  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
584}
585
586# TODO(srte): Move to network_emulation sub directory.
587rtc_source_set("network_emulation_manager_api") {
588  visibility = [ "*" ]
589  sources = [
590    "test/network_emulation_manager.cc",
591    "test/network_emulation_manager.h",
592  ]
593  deps = [
594    ":simulated_network_api",
595    ":time_controller",
596    "../call:simulated_network",
597    "../rtc_base",
598    "test/network_emulation",
599    "units:data_rate",
600    "units:data_size",
601    "units:timestamp",
602  ]
603}
604
605rtc_source_set("time_controller") {
606  visibility = [ "*" ]
607  sources = [
608    "test/time_controller.cc",
609    "test/time_controller.h",
610  ]
611
612  deps = [
613    "../modules/utility",
614    "../rtc_base",
615    "../rtc_base/synchronization:yield_policy",
616    "../system_wrappers",
617    "task_queue",
618    "units:time_delta",
619    "units:timestamp",
620  ]
621}
622
623rtc_source_set("fec_controller_api") {
624  visibility = [ "*" ]
625  sources = [
626    "fec_controller.h",
627    "fec_controller_override.h",
628  ]
629
630  deps = [
631    "../modules:module_fec_api",
632    "video:video_frame_type",
633  ]
634}
635
636rtc_source_set("network_state_predictor_api") {
637  visibility = [ "*" ]
638  sources = [ "network_state_predictor.h" ]
639}
640
641rtc_source_set("array_view") {
642  visibility = [ "*" ]
643  sources = [ "array_view.h" ]
644  deps = [
645    "../rtc_base:checks",
646    "../rtc_base:type_traits",
647  ]
648}
649
650rtc_source_set("refcountedbase") {
651  visibility = [ "*" ]
652  sources = [ "ref_counted_base.h" ]
653  deps = [ "../rtc_base:rtc_base_approved" ]
654}
655
656rtc_library("ice_transport_factory") {
657  visibility = [ "*" ]
658  sources = [
659    "ice_transport_factory.cc",
660    "ice_transport_factory.h",
661  ]
662  deps = [
663    ":libjingle_peerconnection_api",
664    ":packet_socket_factory",
665    ":scoped_refptr",
666    "../p2p:rtc_p2p",
667    "../rtc_base",
668    "../rtc_base/system:rtc_export",
669    "rtc_event_log:rtc_event_log",
670  ]
671}
672
673rtc_library("neteq_simulator_api") {
674  visibility = [ "*" ]
675  sources = [
676    "test/neteq_simulator.cc",
677    "test/neteq_simulator.h",
678  ]
679}
680
681rtc_source_set("function_view") {
682  visibility = [ "*" ]
683  sources = [ "function_view.h" ]
684  deps = [ "../rtc_base:checks" ]
685}
686
687if (rtc_include_tests) {
688  if (rtc_enable_protobuf) {
689    rtc_library("audioproc_f_api") {
690      visibility = [ "*" ]
691      testonly = true
692      sources = [
693        "test/audioproc_float.cc",
694        "test/audioproc_float.h",
695      ]
696
697      deps = [
698        "../modules/audio_processing",
699        "../modules/audio_processing:api",
700        "../modules/audio_processing:audioproc_f_impl",
701      ]
702    }
703
704    rtc_library("neteq_simulator_factory") {
705      visibility = [ "*" ]
706      testonly = true
707      sources = [
708        "test/neteq_simulator_factory.cc",
709        "test/neteq_simulator_factory.h",
710      ]
711      deps = [
712        ":neteq_simulator_api",
713        "../modules/audio_coding:neteq_test_factory",
714        "../rtc_base:checks",
715        "neteq:neteq_api",
716      ]
717      absl_deps = [
718        "//third_party/abseil-cpp/absl/flags:flag",
719        "//third_party/abseil-cpp/absl/flags:parse",
720        "//third_party/abseil-cpp/absl/strings",
721        "//third_party/abseil-cpp/absl/types:optional",
722      ]
723    }
724  }
725
726  rtc_source_set("simulcast_test_fixture_api") {
727    visibility = [ "*" ]
728    testonly = true
729    sources = [ "test/simulcast_test_fixture.h" ]
730  }
731
732  rtc_library("create_simulcast_test_fixture_api") {
733    visibility = [ "*" ]
734    testonly = true
735    sources = [
736      "test/create_simulcast_test_fixture.cc",
737      "test/create_simulcast_test_fixture.h",
738    ]
739    deps = [
740      ":simulcast_test_fixture_api",
741      "../modules/video_coding:simulcast_test_fixture_impl",
742      "../rtc_base:rtc_base_approved",
743      "video_codecs:video_codecs_api",
744    ]
745  }
746
747  rtc_library("videocodec_test_fixture_api") {
748    visibility = [ "*" ]
749    testonly = true
750    sources = [
751      "test/videocodec_test_fixture.h",
752      "test/videocodec_test_stats.cc",
753      "test/videocodec_test_stats.h",
754    ]
755    deps = [
756      "..:webrtc_common",
757      "../modules/video_coding:video_codec_interface",
758      "../rtc_base:stringutils",
759      "video:video_frame_type",
760      "video_codecs:video_codecs_api",
761    ]
762  }
763
764  rtc_library("create_videocodec_test_fixture_api") {
765    visibility = [ "*" ]
766    testonly = true
767    sources = [
768      "test/create_videocodec_test_fixture.cc",
769      "test/create_videocodec_test_fixture.h",
770    ]
771    deps = [
772      ":videocodec_test_fixture_api",
773      "../modules/video_coding:video_codecs_test_framework",
774      "../modules/video_coding:videocodec_test_impl",
775      "../rtc_base:rtc_base_approved",
776      "video_codecs:video_codecs_api",
777    ]
778  }
779
780  rtc_source_set("mock_audio_mixer") {
781    testonly = true
782    sources = [ "test/mock_audio_mixer.h" ]
783
784    deps = [
785      "../test:test_support",
786      "audio:audio_mixer_api",
787    ]
788  }
789
790  rtc_source_set("mock_fec_controller_override") {
791    testonly = true
792    sources = [ "test/mock_fec_controller_override.h" ]
793    deps = [
794      ":fec_controller_api",
795      "../test:test_support",
796    ]
797  }
798
799  rtc_library("mock_frame_encryptor") {
800    testonly = true
801    sources = [ "test/mock_frame_encryptor.h" ]
802    deps = [
803      # For api/crypto/frame_encryptor_interface.h
804      ":libjingle_peerconnection_api",
805      "../test:test_support",
806      "crypto:frame_encryptor_interface",
807    ]
808  }
809
810  rtc_library("mock_frame_decryptor") {
811    testonly = true
812    sources = [ "test/mock_frame_decryptor.h" ]
813    deps = [
814      ":libjingle_peerconnection_api",
815      "../test:test_support",
816      "crypto:frame_decryptor_interface",
817    ]
818  }
819
820  rtc_library("fake_frame_encryptor") {
821    testonly = true
822    sources = [
823      "test/fake_frame_encryptor.cc",
824      "test/fake_frame_encryptor.h",
825    ]
826    deps = [
827      ":array_view",
828      ":libjingle_peerconnection_api",
829      ":rtp_parameters",
830      "..:webrtc_common",
831      "../rtc_base:checks",
832      "../rtc_base:rtc_base_approved",
833      "crypto:frame_encryptor_interface",
834    ]
835  }
836
837  rtc_library("fake_frame_decryptor") {
838    testonly = true
839    sources = [
840      "test/fake_frame_decryptor.cc",
841      "test/fake_frame_decryptor.h",
842    ]
843    deps = [
844      ":array_view",
845      ":libjingle_peerconnection_api",
846      ":rtp_parameters",
847      "..:webrtc_common",
848      "../rtc_base:checks",
849      "../rtc_base:rtc_base_approved",
850      "crypto:frame_decryptor_interface",
851    ]
852  }
853
854  rtc_source_set("dummy_peer_connection") {
855    visibility = [ "*" ]
856    testonly = true
857    sources = [ "test/dummy_peer_connection.h" ]
858
859    deps = [
860      ":libjingle_peerconnection_api",
861      ":rtc_error",
862      "../rtc_base:checks",
863      "../rtc_base:refcount",
864    ]
865  }
866
867  rtc_source_set("mock_peerconnectioninterface") {
868    visibility = [ "*" ]
869    testonly = true
870    sources = [ "test/mock_peerconnectioninterface.h" ]
871
872    deps = [
873      ":libjingle_peerconnection_api",
874      "../test:test_support",
875    ]
876  }
877
878  rtc_source_set("mock_peer_connection_factory_interface") {
879    visibility = [ "*" ]
880    testonly = true
881    sources = [ "test/mock_peer_connection_factory_interface.h" ]
882
883    deps = [
884      ":libjingle_peerconnection_api",
885      "../test:test_support",
886    ]
887  }
888
889  rtc_source_set("mock_rtp") {
890    testonly = true
891    sources = [
892      "test/mock_rtpreceiver.h",
893      "test/mock_rtpsender.h",
894    ]
895
896    deps = [
897      ":libjingle_peerconnection_api",
898      "../test:test_support",
899    ]
900  }
901
902  rtc_source_set("mock_transformable_video_frame") {
903    testonly = true
904    sources = [ "test/mock_transformable_video_frame.h" ]
905
906    deps = [
907      ":frame_transformer_interface",
908      "../test:test_support",
909    ]
910  }
911
912  rtc_source_set("mock_video_bitrate_allocator") {
913    testonly = true
914    sources = [ "test/mock_video_bitrate_allocator.h" ]
915
916    deps = [
917      "../api/video:video_bitrate_allocator",
918      "../test:test_support",
919    ]
920  }
921
922  rtc_source_set("mock_video_bitrate_allocator_factory") {
923    testonly = true
924    sources = [ "test/mock_video_bitrate_allocator_factory.h" ]
925
926    deps = [
927      "../api/video:video_bitrate_allocator_factory",
928      "../test:test_support",
929    ]
930  }
931
932  rtc_source_set("mock_video_codec_factory") {
933    testonly = true
934    sources = [
935      "test/mock_video_decoder_factory.h",
936      "test/mock_video_encoder_factory.h",
937    ]
938
939    deps = [
940      "../api/video_codecs:video_codecs_api",
941      "../test:test_support",
942    ]
943  }
944
945  rtc_library("mock_video_decoder") {
946    visibility = [ "*" ]
947
948    testonly = true
949    sources = [ "test/mock_video_decoder.h" ]
950
951    deps = [
952      "../api/video_codecs:video_codecs_api",
953      "../test:test_support",
954    ]
955  }
956
957  rtc_library("mock_video_encoder") {
958    visibility = [ "*" ]
959
960    testonly = true
961    sources = [ "test/mock_video_encoder.h" ]
962
963    deps = [
964      "../api/video_codecs:video_codecs_api",
965      "../test:test_support",
966    ]
967  }
968
969  rtc_library("create_time_controller") {
970    visibility = [ "*" ]
971    testonly = true
972    sources = [
973      "test/create_time_controller.cc",
974      "test/create_time_controller.h",
975    ]
976
977    deps = [
978      ":callfactory_api",
979      ":time_controller",
980      "../call",
981      "../call:call_interfaces",
982      "../test/time_controller",
983    ]
984  }
985
986  rtc_library("rtc_api_unittests") {
987    testonly = true
988
989    sources = [
990      "array_view_unittest.cc",
991      "function_view_unittest.cc",
992      "rtc_error_unittest.cc",
993      "rtc_event_log_output_file_unittest.cc",
994      "rtp_packet_info_unittest.cc",
995      "rtp_packet_infos_unittest.cc",
996      "rtp_parameters_unittest.cc",
997      "scoped_refptr_unittest.cc",
998      "test/create_time_controller_unittest.cc",
999    ]
1000
1001    deps = [
1002      ":array_view",
1003      ":create_time_controller",
1004      ":function_view",
1005      ":libjingle_peerconnection_api",
1006      ":rtc_error",
1007      ":rtc_event_log_output_file",
1008      ":rtp_packet_info",
1009      ":rtp_parameters",
1010      ":scoped_refptr",
1011      ":time_controller",
1012      "../rtc_base:checks",
1013      "../rtc_base:gunit_helpers",
1014      "../rtc_base:rtc_base_approved",
1015      "../rtc_base:rtc_task_queue",
1016      "../rtc_base/task_utils:repeating_task",
1017      "../test:fileutils",
1018      "../test:test_support",
1019      "task_queue:task_queue_default_factory_unittests",
1020      "units:time_delta",
1021      "units:timestamp",
1022      "units:units_unittests",
1023      "video:video_unittests",
1024    ]
1025  }
1026
1027  rtc_library("compile_all_headers") {
1028    testonly = true
1029
1030    sources = [ "test/compile_all_headers.cc" ]
1031
1032    deps = [
1033      ":dummy_peer_connection",
1034      ":fake_frame_decryptor",
1035      ":fake_frame_encryptor",
1036      ":mock_audio_mixer",
1037      ":mock_frame_decryptor",
1038      ":mock_frame_encryptor",
1039      ":mock_peer_connection_factory_interface",
1040      ":mock_peerconnectioninterface",
1041      ":mock_rtp",
1042      ":mock_transformable_video_frame",
1043      ":mock_video_bitrate_allocator",
1044      ":mock_video_bitrate_allocator_factory",
1045      ":mock_video_codec_factory",
1046      ":mock_video_decoder",
1047      ":mock_video_encoder",
1048      ":rtc_api_unittests",
1049      "units:units_unittests",
1050    ]
1051  }
1052}
1053