1# Copyright (c) 2014 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")
10
11rtc_library("rtp_rtcp_format") {
12  visibility = [ "*" ]
13  public = [
14    "include/report_block_data.h",
15    "include/rtcp_statistics.h",
16    "include/rtp_cvo.h",
17    "include/rtp_header_extension_map.h",
18    "include/rtp_packet_sender.h",
19    "include/rtp_rtcp_defines.h",
20    "source/byte_io.h",
21    "source/rtcp_packet.h",
22    "source/rtcp_packet/app.h",
23    "source/rtcp_packet/bye.h",
24    "source/rtcp_packet/common_header.h",
25    "source/rtcp_packet/compound_packet.h",
26    "source/rtcp_packet/dlrr.h",
27    "source/rtcp_packet/extended_jitter_report.h",
28    "source/rtcp_packet/extended_reports.h",
29    "source/rtcp_packet/fir.h",
30    "source/rtcp_packet/loss_notification.h",
31    "source/rtcp_packet/nack.h",
32    "source/rtcp_packet/pli.h",
33    "source/rtcp_packet/psfb.h",
34    "source/rtcp_packet/rapid_resync_request.h",
35    "source/rtcp_packet/receiver_report.h",
36    "source/rtcp_packet/remb.h",
37    "source/rtcp_packet/remote_estimate.h",
38    "source/rtcp_packet/report_block.h",
39    "source/rtcp_packet/rrtr.h",
40    "source/rtcp_packet/rtpfb.h",
41    "source/rtcp_packet/sdes.h",
42    "source/rtcp_packet/sender_report.h",
43    "source/rtcp_packet/target_bitrate.h",
44    "source/rtcp_packet/tmmb_item.h",
45    "source/rtcp_packet/tmmbn.h",
46    "source/rtcp_packet/tmmbr.h",
47    "source/rtcp_packet/transport_feedback.h",
48    "source/rtp_dependency_descriptor_extension.h",
49    "source/rtp_generic_frame_descriptor.h",
50    "source/rtp_generic_frame_descriptor_extension.h",
51    "source/rtp_header_extensions.h",
52    "source/rtp_packet.h",
53    "source/rtp_packet_received.h",
54    "source/rtp_packet_to_send.h",
55  ]
56  sources = [
57    "include/report_block_data.cc",
58    "include/rtp_rtcp_defines.cc",
59    "source/rtcp_packet.cc",
60    "source/rtcp_packet/app.cc",
61    "source/rtcp_packet/bye.cc",
62    "source/rtcp_packet/common_header.cc",
63    "source/rtcp_packet/compound_packet.cc",
64    "source/rtcp_packet/dlrr.cc",
65    "source/rtcp_packet/extended_jitter_report.cc",
66    "source/rtcp_packet/extended_reports.cc",
67    "source/rtcp_packet/fir.cc",
68    "source/rtcp_packet/loss_notification.cc",
69    "source/rtcp_packet/nack.cc",
70    "source/rtcp_packet/pli.cc",
71    "source/rtcp_packet/psfb.cc",
72    "source/rtcp_packet/rapid_resync_request.cc",
73    "source/rtcp_packet/receiver_report.cc",
74    "source/rtcp_packet/remb.cc",
75    "source/rtcp_packet/remote_estimate.cc",
76    "source/rtcp_packet/report_block.cc",
77    "source/rtcp_packet/rrtr.cc",
78    "source/rtcp_packet/rtpfb.cc",
79    "source/rtcp_packet/sdes.cc",
80    "source/rtcp_packet/sender_report.cc",
81    "source/rtcp_packet/target_bitrate.cc",
82    "source/rtcp_packet/tmmb_item.cc",
83    "source/rtcp_packet/tmmbn.cc",
84    "source/rtcp_packet/tmmbr.cc",
85    "source/rtcp_packet/transport_feedback.cc",
86    "source/rtp_dependency_descriptor_extension.cc",
87    "source/rtp_dependency_descriptor_reader.cc",
88    "source/rtp_dependency_descriptor_reader.h",
89    "source/rtp_dependency_descriptor_writer.cc",
90    "source/rtp_dependency_descriptor_writer.h",
91    "source/rtp_generic_frame_descriptor.cc",
92    "source/rtp_generic_frame_descriptor_extension.cc",
93    "source/rtp_header_extension_map.cc",
94    "source/rtp_header_extensions.cc",
95    "source/rtp_packet.cc",
96    "source/rtp_packet_received.cc",
97    "source/rtp_packet_to_send.cc",
98  ]
99
100  deps = [
101    "..:module_api",
102    "..:module_api_public",
103    "../../api:array_view",
104    "../../api:function_view",
105    "../../api:rtp_headers",
106    "../../api:rtp_parameters",
107    "../../api/audio_codecs:audio_codecs_api",
108    "../../api/transport:network_control",
109    "../../api/transport/rtp:dependency_descriptor",
110    "../../api/units:time_delta",
111    "../../api/video:video_frame",
112    "../../api/video:video_rtp_headers",
113    "../../common_video",
114    "../../rtc_base:checks",
115    "../../rtc_base:deprecation",
116    "../../rtc_base:divide_round",
117    "../../rtc_base:rtc_base_approved",
118    "../../rtc_base/system:unused",
119    "../../system_wrappers",
120    "../video_coding:codec_globals_headers",
121  ]
122  absl_deps = [
123    "//third_party/abseil-cpp/absl/algorithm:container",
124    "//third_party/abseil-cpp/absl/strings",
125    "//third_party/abseil-cpp/absl/types:optional",
126    "//third_party/abseil-cpp/absl/types:variant",
127  ]
128}
129
130rtc_library("rtp_rtcp") {
131  visibility = [ "*" ]
132  sources = [
133    "include/flexfec_receiver.h",
134    "include/flexfec_sender.h",
135    "include/receive_statistics.h",
136    "include/remote_ntp_time_estimator.h",
137    "include/rtp_rtcp.h",  # deprecated
138    "include/ulpfec_receiver.h",
139    "source/absolute_capture_time_receiver.cc",
140    "source/absolute_capture_time_receiver.h",
141    "source/absolute_capture_time_sender.cc",
142    "source/absolute_capture_time_sender.h",
143    "source/active_decode_targets_helper.cc",
144    "source/active_decode_targets_helper.h",
145    "source/create_video_rtp_depacketizer.cc",
146    "source/create_video_rtp_depacketizer.h",
147    "source/deprecated/deprecated_rtp_sender_egress.cc",
148    "source/deprecated/deprecated_rtp_sender_egress.h",
149    "source/dtmf_queue.cc",
150    "source/dtmf_queue.h",
151    "source/fec_private_tables_bursty.cc",
152    "source/fec_private_tables_bursty.h",
153    "source/fec_private_tables_random.cc",
154    "source/fec_private_tables_random.h",
155    "source/flexfec_header_reader_writer.cc",
156    "source/flexfec_header_reader_writer.h",
157    "source/flexfec_receiver.cc",
158    "source/flexfec_sender.cc",
159    "source/forward_error_correction.cc",
160    "source/forward_error_correction.h",
161    "source/forward_error_correction_internal.cc",
162    "source/forward_error_correction_internal.h",
163    "source/packet_loss_stats.cc",
164    "source/packet_loss_stats.h",
165    "source/receive_statistics_impl.cc",
166    "source/receive_statistics_impl.h",
167    "source/remote_ntp_time_estimator.cc",
168    "source/rtcp_nack_stats.cc",
169    "source/rtcp_nack_stats.h",
170    "source/rtcp_receiver.cc",
171    "source/rtcp_receiver.h",
172    "source/rtcp_sender.cc",
173    "source/rtcp_sender.h",
174    "source/rtp_descriptor_authentication.cc",
175    "source/rtp_descriptor_authentication.h",
176    "source/rtp_format.cc",
177    "source/rtp_format.h",
178    "source/rtp_format_h264.cc",
179    "source/rtp_format_h264.h",
180    "source/rtp_format_video_generic.cc",
181    "source/rtp_format_video_generic.h",
182    "source/rtp_format_vp8.cc",
183    "source/rtp_format_vp8.h",
184    "source/rtp_format_vp9.cc",
185    "source/rtp_format_vp9.h",
186    "source/rtp_header_extension_size.cc",
187    "source/rtp_header_extension_size.h",
188    "source/rtp_packet_history.cc",
189    "source/rtp_packet_history.h",
190    "source/rtp_packetizer_av1.cc",
191    "source/rtp_packetizer_av1.h",
192    "source/rtp_rtcp_config.h",
193    "source/rtp_rtcp_impl.cc",
194    "source/rtp_rtcp_impl.h",
195    "source/rtp_rtcp_impl2.cc",
196    "source/rtp_rtcp_impl2.h",
197    "source/rtp_rtcp_interface.h",
198    "source/rtp_sender.cc",
199    "source/rtp_sender.h",
200    "source/rtp_sender_audio.cc",
201    "source/rtp_sender_audio.h",
202    "source/rtp_sender_egress.cc",
203    "source/rtp_sender_egress.h",
204    "source/rtp_sender_video.cc",
205    "source/rtp_sender_video.h",
206    "source/rtp_sender_video_frame_transformer_delegate.cc",
207    "source/rtp_sender_video_frame_transformer_delegate.h",
208    "source/rtp_sequence_number_map.cc",
209    "source/rtp_sequence_number_map.h",
210    "source/rtp_utility.cc",
211    "source/rtp_utility.h",
212    "source/source_tracker.cc",
213    "source/source_tracker.h",
214    "source/time_util.cc",
215    "source/time_util.h",
216    "source/tmmbr_help.cc",
217    "source/tmmbr_help.h",
218    "source/ulpfec_generator.cc",
219    "source/ulpfec_generator.h",
220    "source/ulpfec_header_reader_writer.cc",
221    "source/ulpfec_header_reader_writer.h",
222    "source/ulpfec_receiver_impl.cc",
223    "source/ulpfec_receiver_impl.h",
224    "source/video_fec_generator.h",
225    "source/video_rtp_depacketizer.cc",
226    "source/video_rtp_depacketizer.h",
227    "source/video_rtp_depacketizer_av1.cc",
228    "source/video_rtp_depacketizer_av1.h",
229    "source/video_rtp_depacketizer_generic.cc",
230    "source/video_rtp_depacketizer_generic.h",
231    "source/video_rtp_depacketizer_h264.cc",
232    "source/video_rtp_depacketizer_h264.h",
233    "source/video_rtp_depacketizer_raw.cc",
234    "source/video_rtp_depacketizer_raw.h",
235    "source/video_rtp_depacketizer_vp8.cc",
236    "source/video_rtp_depacketizer_vp8.h",
237    "source/video_rtp_depacketizer_vp9.cc",
238    "source/video_rtp_depacketizer_vp9.h",
239  ]
240
241  if (rtc_enable_bwe_test_logging) {
242    defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ]
243  } else {
244    defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ]
245  }
246
247  deps = [
248    ":rtp_rtcp_format",
249    ":rtp_video_header",
250    "..:module_api",
251    "..:module_api_public",
252    "..:module_fec_api",
253    "../..:webrtc_common",
254    "../../api:array_view",
255    "../../api:frame_transformer_interface",
256    "../../api:function_view",
257    "../../api:libjingle_peerconnection_api",
258    "../../api:rtp_headers",
259    "../../api:rtp_packet_info",
260    "../../api:rtp_parameters",
261    "../../api:scoped_refptr",
262    "../../api:transport_api",
263    "../../api/audio_codecs:audio_codecs_api",
264    "../../api/crypto:frame_encryptor_interface",
265    "../../api/rtc_event_log",
266    "../../api/task_queue:task_queue",
267    "../../api/transport:field_trial_based_config",
268    "../../api/transport:webrtc_key_value_config",
269    "../../api/transport/rtp:dependency_descriptor",
270    "../../api/transport/rtp:rtp_source",
271    "../../api/units:data_rate",
272    "../../api/units:time_delta",
273    "../../api/units:timestamp",
274    "../../api/video:encoded_frame",
275    "../../api/video:encoded_image",
276    "../../api/video:video_bitrate_allocation",
277    "../../api/video:video_bitrate_allocator",
278    "../../api/video:video_codec_constants",
279    "../../api/video:video_frame",
280    "../../api/video:video_frame_type",
281    "../../api/video:video_rtp_headers",
282    "../../api/video_codecs:video_codecs_api",
283    "../../call:rtp_interfaces",
284    "../../common_video",
285    "../../logging:rtc_event_audio",
286    "../../logging:rtc_event_rtp_rtcp",
287    "../../modules/audio_coding:audio_coding_module_typedefs",
288    "../../rtc_base:checks",
289    "../../rtc_base:deprecation",
290    "../../rtc_base:divide_round",
291    "../../rtc_base:gtest_prod",
292    "../../rtc_base:rate_limiter",
293    "../../rtc_base:rtc_base_approved",
294    "../../rtc_base:rtc_numerics",
295    "../../rtc_base:safe_minmax",
296    "../../rtc_base/experiments:field_trial_parser",
297    "../../rtc_base/synchronization:mutex",
298    "../../rtc_base/synchronization:sequence_checker",
299    "../../rtc_base/task_utils:pending_task_safety_flag",
300    "../../rtc_base/task_utils:repeating_task",
301    "../../rtc_base/task_utils:to_queued_task",
302    "../../rtc_base/time:timestamp_extrapolator",
303    "../../system_wrappers",
304    "../../system_wrappers:metrics",
305    "../remote_bitrate_estimator",
306    "../video_coding:codec_globals_headers",
307  ]
308  absl_deps = [
309    "//third_party/abseil-cpp/absl/algorithm:container",
310    "//third_party/abseil-cpp/absl/base:core_headers",
311    "//third_party/abseil-cpp/absl/container:inlined_vector",
312    "//third_party/abseil-cpp/absl/memory",
313    "//third_party/abseil-cpp/absl/strings",
314    "//third_party/abseil-cpp/absl/types:optional",
315    "//third_party/abseil-cpp/absl/types:variant",
316  ]
317}
318
319rtc_library("rtcp_transceiver") {
320  visibility = [ "*" ]
321  public = [
322    "source/rtcp_transceiver.h",
323    "source/rtcp_transceiver_config.h",
324    "source/rtcp_transceiver_impl.h",
325  ]
326  sources = [
327    "source/rtcp_transceiver.cc",
328    "source/rtcp_transceiver_config.cc",
329    "source/rtcp_transceiver_impl.cc",
330  ]
331  deps = [
332    ":rtp_rtcp",
333    ":rtp_rtcp_format",
334    "../../:webrtc_common",
335    "../../api:array_view",
336    "../../api:rtp_headers",
337    "../../api:transport_api",
338    "../../api/task_queue",
339    "../../api/video:video_bitrate_allocation",
340    "../../rtc_base:checks",
341    "../../rtc_base:rtc_base_approved",
342    "../../rtc_base/task_utils:repeating_task",
343    "../../rtc_base/task_utils:to_queued_task",
344    "../../system_wrappers",
345  ]
346  absl_deps = [
347    "//third_party/abseil-cpp/absl/algorithm:container",
348    "//third_party/abseil-cpp/absl/memory",
349    "//third_party/abseil-cpp/absl/types:optional",
350  ]
351}
352
353rtc_library("rtp_video_header") {
354  visibility = [ "*" ]
355  sources = [
356    "source/rtp_video_header.cc",
357    "source/rtp_video_header.h",
358  ]
359  deps = [
360    "../../:webrtc_common",
361    "../../api/transport/rtp:dependency_descriptor",
362    "../../api/video:video_frame",
363    "../../api/video:video_frame_type",
364    "../../api/video:video_rtp_headers",
365    "../../modules/video_coding:codec_globals_headers",
366  ]
367  absl_deps = [
368    "//third_party/abseil-cpp/absl/container:inlined_vector",
369    "//third_party/abseil-cpp/absl/types:optional",
370    "//third_party/abseil-cpp/absl/types:variant",
371  ]
372}
373
374rtc_library("fec_test_helper") {
375  testonly = true
376  sources = [
377    "source/fec_test_helper.cc",
378    "source/fec_test_helper.h",
379  ]
380  deps = [
381    ":rtp_rtcp",
382    ":rtp_rtcp_format",
383    "..:module_api",
384    "../../rtc_base:checks",
385    "../../rtc_base:rtc_base_approved",
386  ]
387}
388
389rtc_library("mock_rtp_rtcp") {
390  testonly = true
391  public = [
392    "mocks/mock_recovered_packet_receiver.h",
393    "mocks/mock_rtcp_bandwidth_observer.h",
394    "mocks/mock_rtcp_rtt_stats.h",
395    "mocks/mock_rtp_rtcp.h",
396  ]
397  deps = [
398    ":rtp_rtcp",
399    ":rtp_rtcp_format",
400    "..:module_api",
401    "../../api/video:video_bitrate_allocation",
402    "../../rtc_base:checks",
403    "../../rtc_base:rtc_base_approved",
404    "../../test:test_support",
405  ]
406  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
407}
408
409if (rtc_include_tests) {
410  rtc_executable("test_packet_masks_metrics") {
411    testonly = true
412
413    sources = [
414      "test/testFec/average_residual_loss_xor_codes.h",
415      "test/testFec/test_packet_masks_metrics.cc",
416    ]
417
418    deps = [
419      ":rtp_rtcp",
420      "../../test:fileutils",
421      "../../test:test_main",
422      "../../test:test_support",
423      "//testing/gtest",
424    ]
425  }  # test_packet_masks_metrics
426
427  rtc_library("rtp_rtcp_modules_tests") {
428    testonly = true
429
430    sources = [ "test/testFec/test_fec.cc" ]
431    deps = [
432      ":rtp_rtcp",
433      ":rtp_rtcp_format",
434      "../../rtc_base:rtc_base_approved",
435      "../../test:fileutils",
436      "../../test:test_support",
437    ]
438  }
439
440  rtc_library("rtp_rtcp_unittests") {
441    testonly = true
442
443    sources = [
444      "source/absolute_capture_time_receiver_unittest.cc",
445      "source/absolute_capture_time_sender_unittest.cc",
446      "source/active_decode_targets_helper_unittest.cc",
447      "source/byte_io_unittest.cc",
448      "source/fec_private_tables_bursty_unittest.cc",
449      "source/flexfec_header_reader_writer_unittest.cc",
450      "source/flexfec_receiver_unittest.cc",
451      "source/flexfec_sender_unittest.cc",
452      "source/nack_rtx_unittest.cc",
453      "source/packet_loss_stats_unittest.cc",
454      "source/receive_statistics_unittest.cc",
455      "source/remote_ntp_time_estimator_unittest.cc",
456      "source/rtcp_nack_stats_unittest.cc",
457      "source/rtcp_packet/app_unittest.cc",
458      "source/rtcp_packet/bye_unittest.cc",
459      "source/rtcp_packet/common_header_unittest.cc",
460      "source/rtcp_packet/compound_packet_unittest.cc",
461      "source/rtcp_packet/dlrr_unittest.cc",
462      "source/rtcp_packet/extended_jitter_report_unittest.cc",
463      "source/rtcp_packet/extended_reports_unittest.cc",
464      "source/rtcp_packet/fir_unittest.cc",
465      "source/rtcp_packet/loss_notification_unittest.cc",
466      "source/rtcp_packet/nack_unittest.cc",
467      "source/rtcp_packet/pli_unittest.cc",
468      "source/rtcp_packet/rapid_resync_request_unittest.cc",
469      "source/rtcp_packet/receiver_report_unittest.cc",
470      "source/rtcp_packet/remb_unittest.cc",
471      "source/rtcp_packet/remote_estimate_unittest.cc",
472      "source/rtcp_packet/report_block_unittest.cc",
473      "source/rtcp_packet/rrtr_unittest.cc",
474      "source/rtcp_packet/sdes_unittest.cc",
475      "source/rtcp_packet/sender_report_unittest.cc",
476      "source/rtcp_packet/target_bitrate_unittest.cc",
477      "source/rtcp_packet/tmmbn_unittest.cc",
478      "source/rtcp_packet/tmmbr_unittest.cc",
479      "source/rtcp_packet/transport_feedback_unittest.cc",
480      "source/rtcp_packet_unittest.cc",
481      "source/rtcp_receiver_unittest.cc",
482      "source/rtcp_sender_unittest.cc",
483      "source/rtcp_transceiver_impl_unittest.cc",
484      "source/rtcp_transceiver_unittest.cc",
485      "source/rtp_dependency_descriptor_extension_unittest.cc",
486      "source/rtp_fec_unittest.cc",
487      "source/rtp_format_h264_unittest.cc",
488      "source/rtp_format_unittest.cc",
489      "source/rtp_format_video_generic_unittest.cc",
490      "source/rtp_format_vp8_test_helper.cc",
491      "source/rtp_format_vp8_test_helper.h",
492      "source/rtp_format_vp8_unittest.cc",
493      "source/rtp_format_vp9_unittest.cc",
494      "source/rtp_generic_frame_descriptor_extension_unittest.cc",
495      "source/rtp_header_extension_map_unittest.cc",
496      "source/rtp_header_extension_size_unittest.cc",
497      "source/rtp_packet_history_unittest.cc",
498      "source/rtp_packet_unittest.cc",
499      "source/rtp_packetizer_av1_unittest.cc",
500      "source/rtp_rtcp_impl2_unittest.cc",
501      "source/rtp_rtcp_impl_unittest.cc",
502      "source/rtp_sender_audio_unittest.cc",
503      "source/rtp_sender_unittest.cc",
504      "source/rtp_sender_video_unittest.cc",
505      "source/rtp_sequence_number_map_unittest.cc",
506      "source/rtp_utility_unittest.cc",
507      "source/source_tracker_unittest.cc",
508      "source/time_util_unittest.cc",
509      "source/ulpfec_generator_unittest.cc",
510      "source/ulpfec_header_reader_writer_unittest.cc",
511      "source/ulpfec_receiver_unittest.cc",
512      "source/video_rtp_depacketizer_av1_unittest.cc",
513      "source/video_rtp_depacketizer_generic_unittest.cc",
514      "source/video_rtp_depacketizer_h264_unittest.cc",
515      "source/video_rtp_depacketizer_raw_unittest.cc",
516      "source/video_rtp_depacketizer_vp8_unittest.cc",
517      "source/video_rtp_depacketizer_vp9_unittest.cc",
518    ]
519    deps = [
520      ":fec_test_helper",
521      ":mock_rtp_rtcp",
522      ":rtcp_transceiver",
523      ":rtp_rtcp",
524      ":rtp_rtcp_format",
525      "..:module_api",
526      "../..:webrtc_common",
527      "../../api:array_view",
528      "../../api:libjingle_peerconnection_api",
529      "../../api:mock_frame_encryptor",
530      "../../api:rtp_headers",
531      "../../api:rtp_packet_info",
532      "../../api:rtp_parameters",
533      "../../api:scoped_refptr",
534      "../../api:transport_api",
535      "../../api/rtc_event_log",
536      "../../api/transport:field_trial_based_config",
537      "../../api/transport/rtp:dependency_descriptor",
538      "../../api/units:timestamp",
539      "../../api/video:encoded_image",
540      "../../api/video:video_bitrate_allocation",
541      "../../api/video:video_bitrate_allocator",
542      "../../api/video:video_codec_constants",
543      "../../api/video:video_frame",
544      "../../api/video:video_rtp_headers",
545      "../../api/video_codecs:video_codecs_api",
546      "../../call:rtp_receiver",
547      "../../common_video",
548      "../../common_video/generic_frame_descriptor",
549      "../../common_video/test:utilities",
550      "../../logging:mocks",
551      "../../rtc_base:checks",
552      "../../rtc_base:rate_limiter",
553      "../../rtc_base:rtc_base_approved",
554      "../../rtc_base:rtc_base_tests_utils",
555      "../../rtc_base:rtc_numerics",
556      "../../rtc_base:task_queue_for_test",
557      "../../rtc_base/task_utils:to_queued_task",
558      "../../system_wrappers",
559      "../../test:field_trial",
560      "../../test:mock_frame_transformer",
561      "../../test:mock_transport",
562      "../../test:rtp_test_utils",
563      "../../test:test_common",
564      "../../test:test_support",
565      "../../test/time_controller:time_controller",
566      "../video_coding:codec_globals_headers",
567    ]
568    absl_deps = [
569      "//third_party/abseil-cpp/absl/algorithm:container",
570      "//third_party/abseil-cpp/absl/base:core_headers",
571      "//third_party/abseil-cpp/absl/memory",
572      "//third_party/abseil-cpp/absl/types:optional",
573    ]
574  }
575}
576