| # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 
 | # | 
 | # Use of this source code is governed by a BSD-style license | 
 | # that can be found in the LICENSE file in the root of the source | 
 | # tree. An additional intellectual property rights grant can be found | 
 | # in the file PATENTS.  All contributing project authors may | 
 | # be found in the AUTHORS file in the root of the source tree. | 
 |  | 
 | import("../../webrtc.gni") | 
 |  | 
 | rtc_library("leb128") { | 
 |   public = [ "source/leb128.h" ] | 
 |   sources = [ "source/leb128.cc" ] | 
 | } | 
 |  | 
 | rtc_library("rtp_rtcp_format") { | 
 |   visibility = [ "*" ] | 
 |   public = [ | 
 |     "include/recovered_packet_receiver.h", | 
 |     "include/report_block_data.h", | 
 |     "include/rtcp_statistics.h", | 
 |     "include/rtp_cvo.h", | 
 |     "include/rtp_header_extension_map.h", | 
 |     "include/rtp_packet_sender.h", | 
 |     "include/rtp_rtcp_defines.h", | 
 |     "source/byte_io.h", | 
 |     "source/rtcp_packet.h", | 
 |     "source/rtcp_packet/app.h", | 
 |     "source/rtcp_packet/bye.h", | 
 |     "source/rtcp_packet/common_header.h", | 
 |     "source/rtcp_packet/compound_packet.h", | 
 |     "source/rtcp_packet/dlrr.h", | 
 |     "source/rtcp_packet/extended_reports.h", | 
 |     "source/rtcp_packet/fir.h", | 
 |     "source/rtcp_packet/loss_notification.h", | 
 |     "source/rtcp_packet/nack.h", | 
 |     "source/rtcp_packet/pli.h", | 
 |     "source/rtcp_packet/psfb.h", | 
 |     "source/rtcp_packet/rapid_resync_request.h", | 
 |     "source/rtcp_packet/receiver_report.h", | 
 |     "source/rtcp_packet/remb.h", | 
 |     "source/rtcp_packet/remote_estimate.h", | 
 |     "source/rtcp_packet/report_block.h", | 
 |     "source/rtcp_packet/rrtr.h", | 
 |     "source/rtcp_packet/rtpfb.h", | 
 |     "source/rtcp_packet/sdes.h", | 
 |     "source/rtcp_packet/sender_report.h", | 
 |     "source/rtcp_packet/target_bitrate.h", | 
 |     "source/rtcp_packet/tmmb_item.h", | 
 |     "source/rtcp_packet/tmmbn.h", | 
 |     "source/rtcp_packet/tmmbr.h", | 
 |     "source/rtcp_packet/transport_feedback.h", | 
 |     "source/rtp_dependency_descriptor_extension.h", | 
 |     "source/rtp_generic_frame_descriptor.h", | 
 |     "source/rtp_generic_frame_descriptor_extension.h", | 
 |     "source/rtp_header_extensions.h", | 
 |     "source/rtp_packet.h", | 
 |     "source/rtp_packet_received.h", | 
 |     "source/rtp_packet_to_send.h", | 
 |     "source/rtp_util.h", | 
 |     "source/rtp_video_layers_allocation_extension.h", | 
 |   ] | 
 |   sources = [ | 
 |     "include/report_block_data.cc", | 
 |     "include/rtp_rtcp_defines.cc", | 
 |     "source/rtcp_packet.cc", | 
 |     "source/rtcp_packet/app.cc", | 
 |     "source/rtcp_packet/bye.cc", | 
 |     "source/rtcp_packet/common_header.cc", | 
 |     "source/rtcp_packet/compound_packet.cc", | 
 |     "source/rtcp_packet/dlrr.cc", | 
 |     "source/rtcp_packet/extended_reports.cc", | 
 |     "source/rtcp_packet/fir.cc", | 
 |     "source/rtcp_packet/loss_notification.cc", | 
 |     "source/rtcp_packet/nack.cc", | 
 |     "source/rtcp_packet/pli.cc", | 
 |     "source/rtcp_packet/psfb.cc", | 
 |     "source/rtcp_packet/rapid_resync_request.cc", | 
 |     "source/rtcp_packet/receiver_report.cc", | 
 |     "source/rtcp_packet/remb.cc", | 
 |     "source/rtcp_packet/remote_estimate.cc", | 
 |     "source/rtcp_packet/report_block.cc", | 
 |     "source/rtcp_packet/rrtr.cc", | 
 |     "source/rtcp_packet/rtpfb.cc", | 
 |     "source/rtcp_packet/sdes.cc", | 
 |     "source/rtcp_packet/sender_report.cc", | 
 |     "source/rtcp_packet/target_bitrate.cc", | 
 |     "source/rtcp_packet/tmmb_item.cc", | 
 |     "source/rtcp_packet/tmmbn.cc", | 
 |     "source/rtcp_packet/tmmbr.cc", | 
 |     "source/rtcp_packet/transport_feedback.cc", | 
 |     "source/rtp_dependency_descriptor_extension.cc", | 
 |     "source/rtp_dependency_descriptor_reader.cc", | 
 |     "source/rtp_dependency_descriptor_reader.h", | 
 |     "source/rtp_dependency_descriptor_writer.cc", | 
 |     "source/rtp_dependency_descriptor_writer.h", | 
 |     "source/rtp_generic_frame_descriptor.cc", | 
 |     "source/rtp_generic_frame_descriptor_extension.cc", | 
 |     "source/rtp_header_extension_map.cc", | 
 |     "source/rtp_header_extensions.cc", | 
 |     "source/rtp_packet.cc", | 
 |     "source/rtp_packet_received.cc", | 
 |     "source/rtp_packet_to_send.cc", | 
 |     "source/rtp_util.cc", | 
 |     "source/rtp_video_layers_allocation_extension.cc", | 
 |   ] | 
 |  | 
 |   deps = [ | 
 |     ":leb128", | 
 |     "..:module_api_public", | 
 |     "../../api:array_view", | 
 |     "../../api:function_view", | 
 |     "../../api:refcountedbase", | 
 |     "../../api:rtp_headers", | 
 |     "../../api:rtp_parameters", | 
 |     "../../api:scoped_refptr", | 
 |     "../../api/audio_codecs:audio_codecs_api", | 
 |     "../../api/transport:network_control", | 
 |     "../../api/transport/rtp:dependency_descriptor", | 
 |     "../../api/units:time_delta", | 
 |     "../../api/units:timestamp", | 
 |     "../../api/video:video_frame", | 
 |     "../../api/video:video_layers_allocation", | 
 |     "../../api/video:video_rtp_headers", | 
 |     "../../common_video", | 
 |     "../../rtc_base:bit_buffer", | 
 |     "../../rtc_base:bitstream_reader", | 
 |     "../../rtc_base:buffer", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:copy_on_write_buffer", | 
 |     "../../rtc_base:divide_round", | 
 |     "../../rtc_base:event_tracer", | 
 |     "../../rtc_base:logging", | 
 |     "../../rtc_base:macromagic", | 
 |     "../../rtc_base:safe_conversions", | 
 |     "../../rtc_base:stringutils", | 
 |     "../../system_wrappers", | 
 |     "../video_coding:codec_globals_headers", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |     "//third_party/abseil-cpp/absl/types:variant", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("rtp_rtcp") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "include/flexfec_receiver.h", | 
 |     "include/flexfec_sender.h", | 
 |     "include/receive_statistics.h", | 
 |     "include/remote_ntp_time_estimator.h", | 
 |     "source/absolute_capture_time_interpolator.cc", | 
 |     "source/absolute_capture_time_interpolator.h", | 
 |     "source/absolute_capture_time_sender.cc", | 
 |     "source/absolute_capture_time_sender.h", | 
 |     "source/active_decode_targets_helper.cc", | 
 |     "source/active_decode_targets_helper.h", | 
 |     "source/capture_clock_offset_updater.cc", | 
 |     "source/capture_clock_offset_updater.h", | 
 |     "source/create_video_rtp_depacketizer.cc", | 
 |     "source/create_video_rtp_depacketizer.h", | 
 |     "source/dtmf_queue.cc", | 
 |     "source/dtmf_queue.h", | 
 |     "source/fec_private_tables_bursty.cc", | 
 |     "source/fec_private_tables_bursty.h", | 
 |     "source/fec_private_tables_random.cc", | 
 |     "source/fec_private_tables_random.h", | 
 |     "source/flexfec_header_reader_writer.cc", | 
 |     "source/flexfec_header_reader_writer.h", | 
 |     "source/flexfec_receiver.cc", | 
 |     "source/flexfec_sender.cc", | 
 |     "source/forward_error_correction.cc", | 
 |     "source/forward_error_correction.h", | 
 |     "source/forward_error_correction_internal.cc", | 
 |     "source/forward_error_correction_internal.h", | 
 |     "source/frame_object.cc", | 
 |     "source/frame_object.h", | 
 |     "source/packet_loss_stats.cc", | 
 |     "source/packet_loss_stats.h", | 
 |     "source/packet_sequencer.cc", | 
 |     "source/packet_sequencer.h", | 
 |     "source/receive_statistics_impl.cc", | 
 |     "source/receive_statistics_impl.h", | 
 |     "source/remote_ntp_time_estimator.cc", | 
 |     "source/rtcp_nack_stats.cc", | 
 |     "source/rtcp_nack_stats.h", | 
 |     "source/rtcp_receiver.cc", | 
 |     "source/rtcp_receiver.h", | 
 |     "source/rtcp_sender.cc", | 
 |     "source/rtcp_sender.h", | 
 |     "source/rtp_descriptor_authentication.cc", | 
 |     "source/rtp_descriptor_authentication.h", | 
 |     "source/rtp_format.cc", | 
 |     "source/rtp_format.h", | 
 |     "source/rtp_format_h264.cc", | 
 |     "source/rtp_format_h264.h", | 
 |     "source/rtp_format_video_generic.cc", | 
 |     "source/rtp_format_video_generic.h", | 
 |     "source/rtp_format_vp8.cc", | 
 |     "source/rtp_format_vp8.h", | 
 |     "source/rtp_format_vp9.cc", | 
 |     "source/rtp_format_vp9.h", | 
 |     "source/rtp_header_extension_size.cc", | 
 |     "source/rtp_header_extension_size.h", | 
 |     "source/rtp_packet_history.cc", | 
 |     "source/rtp_packet_history.h", | 
 |     "source/rtp_packetizer_av1.cc", | 
 |     "source/rtp_packetizer_av1.h", | 
 |     "source/rtp_rtcp_config.h", | 
 |     "source/rtp_rtcp_impl2.cc", | 
 |     "source/rtp_rtcp_impl2.h", | 
 |     "source/rtp_rtcp_interface.h", | 
 |     "source/rtp_sender.cc", | 
 |     "source/rtp_sender.h", | 
 |     "source/rtp_sender_audio.cc", | 
 |     "source/rtp_sender_audio.h", | 
 |     "source/rtp_sender_egress.cc", | 
 |     "source/rtp_sender_egress.h", | 
 |     "source/rtp_sender_video.cc", | 
 |     "source/rtp_sender_video.h", | 
 |     "source/rtp_sender_video_frame_transformer_delegate.cc", | 
 |     "source/rtp_sender_video_frame_transformer_delegate.h", | 
 |     "source/rtp_sequence_number_map.cc", | 
 |     "source/rtp_sequence_number_map.h", | 
 |     "source/rtp_video_stream_receiver_frame_transformer_delegate.cc", | 
 |     "source/rtp_video_stream_receiver_frame_transformer_delegate.h", | 
 |     "source/source_tracker.cc", | 
 |     "source/source_tracker.h", | 
 |     "source/time_util.cc", | 
 |     "source/time_util.h", | 
 |     "source/tmmbr_help.cc", | 
 |     "source/tmmbr_help.h", | 
 |     "source/ulpfec_generator.cc", | 
 |     "source/ulpfec_generator.h", | 
 |     "source/ulpfec_header_reader_writer.cc", | 
 |     "source/ulpfec_header_reader_writer.h", | 
 |     "source/ulpfec_receiver.cc", | 
 |     "source/ulpfec_receiver.h", | 
 |     "source/video_fec_generator.h", | 
 |     "source/video_rtp_depacketizer.cc", | 
 |     "source/video_rtp_depacketizer.h", | 
 |     "source/video_rtp_depacketizer_av1.cc", | 
 |     "source/video_rtp_depacketizer_av1.h", | 
 |     "source/video_rtp_depacketizer_generic.cc", | 
 |     "source/video_rtp_depacketizer_generic.h", | 
 |     "source/video_rtp_depacketizer_h264.cc", | 
 |     "source/video_rtp_depacketizer_h264.h", | 
 |     "source/video_rtp_depacketizer_raw.cc", | 
 |     "source/video_rtp_depacketizer_raw.h", | 
 |     "source/video_rtp_depacketizer_vp8.cc", | 
 |     "source/video_rtp_depacketizer_vp8.h", | 
 |     "source/video_rtp_depacketizer_vp9.cc", | 
 |     "source/video_rtp_depacketizer_vp9.h", | 
 |   ] | 
 |  | 
 |   if (rtc_enable_bwe_test_logging) { | 
 |     defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=1" ] | 
 |   } else { | 
 |     defines = [ "BWE_TEST_LOGGING_COMPILE_TIME_ENABLE=0" ] | 
 |   } | 
 |  | 
 |   deps = [ | 
 |     ":leb128", | 
 |     ":rtp_rtcp_format", | 
 |     ":rtp_video_header", | 
 |     "..:module_api_public", | 
 |     "..:module_fec_api", | 
 |     "../../api:array_view", | 
 |     "../../api:field_trials_view", | 
 |     "../../api:frame_transformer_interface", | 
 |     "../../api:function_view", | 
 |     "../../api:libjingle_peerconnection_api", | 
 |     "../../api:rtp_headers", | 
 |     "../../api:rtp_packet_info", | 
 |     "../../api:rtp_parameters", | 
 |     "../../api:scoped_refptr", | 
 |     "../../api:sequence_checker", | 
 |     "../../api:transport_api", | 
 |     "../../api/audio_codecs:audio_codecs_api", | 
 |     "../../api/crypto:frame_encryptor_interface", | 
 |     "../../api/rtc_event_log", | 
 |     "../../api/task_queue:pending_task_safety_flag", | 
 |     "../../api/task_queue:task_queue", | 
 |     "../../api/transport/rtp:dependency_descriptor", | 
 |     "../../api/transport/rtp:rtp_source", | 
 |     "../../api/units:data_rate", | 
 |     "../../api/units:time_delta", | 
 |     "../../api/units:timestamp", | 
 |     "../../api/video:encoded_frame", | 
 |     "../../api/video:encoded_image", | 
 |     "../../api/video:video_bitrate_allocation", | 
 |     "../../api/video:video_bitrate_allocator", | 
 |     "../../api/video:video_codec_constants", | 
 |     "../../api/video:video_frame", | 
 |     "../../api/video:video_frame_type", | 
 |     "../../api/video:video_layers_allocation", | 
 |     "../../api/video:video_rtp_headers", | 
 |     "../../api/video_codecs:video_codecs_api", | 
 |     "../../call:rtp_interfaces", | 
 |     "../../call:video_stream_api", | 
 |     "../../common_video", | 
 |     "../../logging:rtc_event_audio", | 
 |     "../../logging:rtc_event_rtp_rtcp", | 
 |     "../../modules/audio_coding:audio_coding_module_typedefs", | 
 |     "../../rtc_base:bit_buffer", | 
 |     "../../rtc_base:bitstream_reader", | 
 |     "../../rtc_base:buffer", | 
 |     "../../rtc_base:byte_buffer", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:copy_on_write_buffer", | 
 |     "../../rtc_base:divide_round", | 
 |     "../../rtc_base:event_tracer", | 
 |     "../../rtc_base:gtest_prod", | 
 |     "../../rtc_base:logging", | 
 |     "../../rtc_base:macromagic", | 
 |     "../../rtc_base:mod_ops", | 
 |     "../../rtc_base:one_time_event", | 
 |     "../../rtc_base:race_checker", | 
 |     "../../rtc_base:random", | 
 |     "../../rtc_base:rate_limiter", | 
 |     "../../rtc_base:rate_statistics", | 
 |     "../../rtc_base:rtc_numerics", | 
 |     "../../rtc_base:safe_conversions", | 
 |     "../../rtc_base:safe_minmax", | 
 |     "../../rtc_base:threading", | 
 |     "../../rtc_base:timeutils", | 
 |     "../../rtc_base/containers:flat_map", | 
 |     "../../rtc_base/experiments:field_trial_parser", | 
 |     "../../rtc_base/synchronization:mutex", | 
 |     "../../rtc_base/system:no_unique_address", | 
 |     "../../rtc_base/task_utils:repeating_task", | 
 |     "../../system_wrappers", | 
 |     "../../system_wrappers:metrics", | 
 |     "../remote_bitrate_estimator", | 
 |     "../video_coding:codec_globals_headers", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/container:inlined_vector", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |     "//third_party/abseil-cpp/absl/types:variant", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("rtp_rtcp_legacy") { | 
 |   sources = [ | 
 |     "include/rtp_rtcp.h", | 
 |     "source/deprecated/deprecated_rtp_sender_egress.cc", | 
 |     "source/deprecated/deprecated_rtp_sender_egress.h", | 
 |     "source/rtp_rtcp_impl.cc", | 
 |     "source/rtp_rtcp_impl.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":rtp_rtcp", | 
 |     ":rtp_rtcp_format", | 
 |     "..:module_fec_api", | 
 |     "../../api:rtp_headers", | 
 |     "../../api:transport_api", | 
 |     "../../api/rtc_event_log", | 
 |     "../../api/units:data_rate", | 
 |     "../../api/units:timestamp", | 
 |     "../../api/video:video_bitrate_allocation", | 
 |     "../../logging:rtc_event_rtp_rtcp", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:gtest_prod", | 
 |     "../../rtc_base:logging", | 
 |     "../../rtc_base:macromagic", | 
 |     "../../rtc_base:rate_statistics", | 
 |     "../../rtc_base/synchronization:mutex", | 
 |     "../../system_wrappers", | 
 |     "../remote_bitrate_estimator", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("rtcp_transceiver") { | 
 |   visibility = [ "*" ] | 
 |   public = [ | 
 |     "source/rtcp_transceiver.h", | 
 |     "source/rtcp_transceiver_config.h", | 
 |     "source/rtcp_transceiver_impl.h", | 
 |   ] | 
 |   sources = [ | 
 |     "source/rtcp_transceiver.cc", | 
 |     "source/rtcp_transceiver_config.cc", | 
 |     "source/rtcp_transceiver_impl.cc", | 
 |   ] | 
 |   deps = [ | 
 |     ":rtp_rtcp", | 
 |     ":rtp_rtcp_format", | 
 |     "../../api:array_view", | 
 |     "../../api:rtp_headers", | 
 |     "../../api:transport_api", | 
 |     "../../api/task_queue", | 
 |     "../../api/units:data_rate", | 
 |     "../../api/units:time_delta", | 
 |     "../../api/units:timestamp", | 
 |     "../../api/video:video_bitrate_allocation", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:copy_on_write_buffer", | 
 |     "../../rtc_base:divide_round", | 
 |     "../../rtc_base:logging", | 
 |     "../../rtc_base:rtc_event", | 
 |     "../../rtc_base:timeutils", | 
 |     "../../rtc_base/containers:flat_map", | 
 |     "../../rtc_base/task_utils:repeating_task", | 
 |     "../../system_wrappers", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/algorithm:container", | 
 |     "//third_party/abseil-cpp/absl/base:core_headers", | 
 |     "//third_party/abseil-cpp/absl/cleanup", | 
 |     "//third_party/abseil-cpp/absl/functional:any_invocable", | 
 |     "//third_party/abseil-cpp/absl/memory", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("rtp_video_header") { | 
 |   visibility = [ "*" ] | 
 |   sources = [ | 
 |     "source/rtp_video_header.cc", | 
 |     "source/rtp_video_header.h", | 
 |   ] | 
 |   deps = [ | 
 |     "../../api:rtp_headers", | 
 |     "../../api/transport/rtp:dependency_descriptor", | 
 |     "../../api/video:video_frame", | 
 |     "../../api/video:video_frame_metadata", | 
 |     "../../api/video:video_frame_type", | 
 |     "../../api/video:video_rtp_headers", | 
 |     "../../modules/video_coding:codec_globals_headers", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/container:inlined_vector", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |     "//third_party/abseil-cpp/absl/types:variant", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_source_set("rtp_video_header_unittest") { | 
 |   testonly = true | 
 |   sources = [ "source/rtp_video_header_unittest.cc" ] | 
 |   deps = [ | 
 |     ":rtp_video_header", | 
 |     "../../api/video:video_frame_metadata", | 
 |     "../../api/video:video_frame_type", | 
 |     "../../test:test_support", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("fec_test_helper") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "source/fec_test_helper.cc", | 
 |     "source/fec_test_helper.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":rtp_rtcp", | 
 |     ":rtp_rtcp_format", | 
 |     "../../rtc_base:checks", | 
 |     "../../rtc_base:random", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("mock_rtp_rtcp") { | 
 |   testonly = true | 
 |   public = [ | 
 |     "mocks/mock_recovered_packet_receiver.h", | 
 |     "mocks/mock_rtcp_bandwidth_observer.h", | 
 |     "mocks/mock_rtcp_rtt_stats.h", | 
 |     "mocks/mock_rtp_rtcp.h", | 
 |   ] | 
 |   deps = [ | 
 |     ":rtp_rtcp", | 
 |     ":rtp_rtcp_format", | 
 |     "../../api/video:video_bitrate_allocation", | 
 |     "../../rtc_base:checks", | 
 |     "../../test:test_support", | 
 |   ] | 
 |   absl_deps = [ | 
 |     "//third_party/abseil-cpp/absl/strings", | 
 |     "//third_party/abseil-cpp/absl/types:optional", | 
 |   ] | 
 | } | 
 |  | 
 | rtc_library("rtp_packetizer_av1_test_helper") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "source/rtp_packetizer_av1_test_helper.cc", | 
 |     "source/rtp_packetizer_av1_test_helper.h", | 
 |   ] | 
 | } | 
 |  | 
 | if (rtc_include_tests) { | 
 |   if (!build_with_chromium) { | 
 |     rtc_executable("test_packet_masks_metrics") { | 
 |       testonly = true | 
 |  | 
 |       sources = [ | 
 |         "test/testFec/average_residual_loss_xor_codes.h", | 
 |         "test/testFec/test_packet_masks_metrics.cc", | 
 |       ] | 
 |  | 
 |       deps = [ | 
 |         ":rtp_rtcp", | 
 |         "../../test:fileutils", | 
 |         "../../test:test_main", | 
 |         "../../test:test_support", | 
 |         "//testing/gtest", | 
 |       ] | 
 |     }  # test_packet_masks_metrics | 
 |   } | 
 |  | 
 |   rtc_library("rtp_rtcp_modules_tests") { | 
 |     testonly = true | 
 |  | 
 |     sources = [ "test/testFec/test_fec.cc" ] | 
 |     deps = [ | 
 |       ":rtp_rtcp", | 
 |       ":rtp_rtcp_format", | 
 |       "../../rtc_base:random", | 
 |       "../../test:fileutils", | 
 |       "../../test:test_support", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_library("rtp_rtcp_unittests") { | 
 |     testonly = true | 
 |  | 
 |     sources = [ | 
 |       "source/absolute_capture_time_interpolator_unittest.cc", | 
 |       "source/absolute_capture_time_sender_unittest.cc", | 
 |       "source/active_decode_targets_helper_unittest.cc", | 
 |       "source/byte_io_unittest.cc", | 
 |       "source/capture_clock_offset_updater_unittest.cc", | 
 |       "source/fec_private_tables_bursty_unittest.cc", | 
 |       "source/flexfec_header_reader_writer_unittest.cc", | 
 |       "source/flexfec_receiver_unittest.cc", | 
 |       "source/flexfec_sender_unittest.cc", | 
 |       "source/leb128_unittest.cc", | 
 |       "source/nack_rtx_unittest.cc", | 
 |       "source/packet_loss_stats_unittest.cc", | 
 |       "source/packet_sequencer_unittest.cc", | 
 |       "source/receive_statistics_unittest.cc", | 
 |       "source/remote_ntp_time_estimator_unittest.cc", | 
 |       "source/rtcp_nack_stats_unittest.cc", | 
 |       "source/rtcp_packet/app_unittest.cc", | 
 |       "source/rtcp_packet/bye_unittest.cc", | 
 |       "source/rtcp_packet/common_header_unittest.cc", | 
 |       "source/rtcp_packet/compound_packet_unittest.cc", | 
 |       "source/rtcp_packet/dlrr_unittest.cc", | 
 |       "source/rtcp_packet/extended_reports_unittest.cc", | 
 |       "source/rtcp_packet/fir_unittest.cc", | 
 |       "source/rtcp_packet/loss_notification_unittest.cc", | 
 |       "source/rtcp_packet/nack_unittest.cc", | 
 |       "source/rtcp_packet/pli_unittest.cc", | 
 |       "source/rtcp_packet/rapid_resync_request_unittest.cc", | 
 |       "source/rtcp_packet/receiver_report_unittest.cc", | 
 |       "source/rtcp_packet/remb_unittest.cc", | 
 |       "source/rtcp_packet/remote_estimate_unittest.cc", | 
 |       "source/rtcp_packet/report_block_unittest.cc", | 
 |       "source/rtcp_packet/rrtr_unittest.cc", | 
 |       "source/rtcp_packet/sdes_unittest.cc", | 
 |       "source/rtcp_packet/sender_report_unittest.cc", | 
 |       "source/rtcp_packet/target_bitrate_unittest.cc", | 
 |       "source/rtcp_packet/tmmbn_unittest.cc", | 
 |       "source/rtcp_packet/tmmbr_unittest.cc", | 
 |       "source/rtcp_packet/transport_feedback_unittest.cc", | 
 |       "source/rtcp_packet_unittest.cc", | 
 |       "source/rtcp_receiver_unittest.cc", | 
 |       "source/rtcp_sender_unittest.cc", | 
 |       "source/rtcp_transceiver_impl_unittest.cc", | 
 |       "source/rtcp_transceiver_unittest.cc", | 
 |       "source/rtp_dependency_descriptor_extension_unittest.cc", | 
 |       "source/rtp_fec_unittest.cc", | 
 |       "source/rtp_format_h264_unittest.cc", | 
 |       "source/rtp_format_unittest.cc", | 
 |       "source/rtp_format_video_generic_unittest.cc", | 
 |       "source/rtp_format_vp8_test_helper.cc", | 
 |       "source/rtp_format_vp8_test_helper.h", | 
 |       "source/rtp_format_vp8_unittest.cc", | 
 |       "source/rtp_format_vp9_unittest.cc", | 
 |       "source/rtp_generic_frame_descriptor_extension_unittest.cc", | 
 |       "source/rtp_header_extension_map_unittest.cc", | 
 |       "source/rtp_header_extension_size_unittest.cc", | 
 |       "source/rtp_packet_history_unittest.cc", | 
 |       "source/rtp_packet_unittest.cc", | 
 |       "source/rtp_packetizer_av1_unittest.cc", | 
 |       "source/rtp_rtcp_impl2_unittest.cc", | 
 |       "source/rtp_rtcp_impl_unittest.cc", | 
 |       "source/rtp_sender_audio_unittest.cc", | 
 |       "source/rtp_sender_egress_unittest.cc", | 
 |       "source/rtp_sender_unittest.cc", | 
 |       "source/rtp_sender_video_frame_transformer_delegate_unittest.cc", | 
 |       "source/rtp_sender_video_unittest.cc", | 
 |       "source/rtp_sequence_number_map_unittest.cc", | 
 |       "source/rtp_util_unittest.cc", | 
 |       "source/rtp_video_layers_allocation_extension_unittest.cc", | 
 |       "source/rtp_video_stream_receiver_frame_transformer_delegate_unittest.cc", | 
 |       "source/source_tracker_unittest.cc", | 
 |       "source/time_util_unittest.cc", | 
 |       "source/ulpfec_generator_unittest.cc", | 
 |       "source/ulpfec_header_reader_writer_unittest.cc", | 
 |       "source/ulpfec_receiver_unittest.cc", | 
 |       "source/video_rtp_depacketizer_av1_unittest.cc", | 
 |       "source/video_rtp_depacketizer_generic_unittest.cc", | 
 |       "source/video_rtp_depacketizer_h264_unittest.cc", | 
 |       "source/video_rtp_depacketizer_raw_unittest.cc", | 
 |       "source/video_rtp_depacketizer_vp8_unittest.cc", | 
 |       "source/video_rtp_depacketizer_vp9_unittest.cc", | 
 |     ] | 
 |     deps = [ | 
 |       ":fec_test_helper", | 
 |       ":frame_transformer_factory_unittest", | 
 |       ":leb128", | 
 |       ":mock_rtp_rtcp", | 
 |       ":rtcp_transceiver", | 
 |       ":rtp_packetizer_av1_test_helper", | 
 |       ":rtp_rtcp", | 
 |       ":rtp_rtcp_format", | 
 |       ":rtp_rtcp_legacy", | 
 |       ":rtp_video_header_unittest", | 
 |       "../../api:array_view", | 
 |       "../../api:create_time_controller", | 
 |       "../../api:field_trials_registry", | 
 |       "../../api:frame_transformer_factory", | 
 |       "../../api:libjingle_peerconnection_api", | 
 |       "../../api:mock_frame_encryptor", | 
 |       "../../api:rtp_headers", | 
 |       "../../api:rtp_packet_info", | 
 |       "../../api:rtp_parameters", | 
 |       "../../api:scoped_refptr", | 
 |       "../../api:time_controller", | 
 |       "../../api:transport_api", | 
 |       "../../api/rtc_event_log", | 
 |       "../../api/task_queue", | 
 |       "../../api/transport/rtp:dependency_descriptor", | 
 |       "../../api/units:data_rate", | 
 |       "../../api/units:data_size", | 
 |       "../../api/units:time_delta", | 
 |       "../../api/units:timestamp", | 
 |       "../../api/video:encoded_image", | 
 |       "../../api/video:video_bitrate_allocation", | 
 |       "../../api/video:video_bitrate_allocator", | 
 |       "../../api/video:video_codec_constants", | 
 |       "../../api/video:video_frame", | 
 |       "../../api/video:video_layers_allocation", | 
 |       "../../api/video:video_rtp_headers", | 
 |       "../../api/video_codecs:video_codecs_api", | 
 |       "../../call:rtp_receiver", | 
 |       "../../call:video_stream_api", | 
 |       "../../common_video", | 
 |       "../../common_video/generic_frame_descriptor", | 
 |       "../../common_video/test:utilities", | 
 |       "../../logging:mocks", | 
 |       "../../rtc_base:bit_buffer", | 
 |       "../../rtc_base:buffer", | 
 |       "../../rtc_base:checks", | 
 |       "../../rtc_base:copy_on_write_buffer", | 
 |       "../../rtc_base:logging", | 
 |       "../../rtc_base:macromagic", | 
 |       "../../rtc_base:random", | 
 |       "../../rtc_base:rate_limiter", | 
 |       "../../rtc_base:rtc_base_tests_utils", | 
 |       "../../rtc_base:rtc_event", | 
 |       "../../rtc_base:rtc_numerics", | 
 |       "../../rtc_base:stringutils", | 
 |       "../../rtc_base:task_queue_for_test", | 
 |       "../../rtc_base:threading", | 
 |       "../../rtc_base:timeutils", | 
 |       "../../system_wrappers", | 
 |       "../../test:explicit_key_value_config", | 
 |       "../../test:mock_frame_transformer", | 
 |       "../../test:mock_transport", | 
 |       "../../test:rtp_test_utils", | 
 |       "../../test:run_loop", | 
 |       "../../test:test_support", | 
 |       "../../test/time_controller:time_controller", | 
 |       "../video_coding:codec_globals_headers", | 
 |     ] | 
 |     absl_deps = [ | 
 |       "//third_party/abseil-cpp/absl/algorithm:container", | 
 |       "//third_party/abseil-cpp/absl/base:core_headers", | 
 |       "//third_party/abseil-cpp/absl/memory", | 
 |       "//third_party/abseil-cpp/absl/strings", | 
 |       "//third_party/abseil-cpp/absl/types:optional", | 
 |     ] | 
 |   } | 
 |  | 
 |   rtc_source_set("frame_transformer_factory_unittest") { | 
 |     testonly = true | 
 |     sources = [ "source/frame_transformer_factory_unittest.cc" ] | 
 |     deps = [ | 
 |       "../../api:frame_transformer_factory", | 
 |       "../../api:mock_transformable_audio_frame", | 
 |       "../../api:mock_transformable_video_frame", | 
 |       "../../api:transport_api", | 
 |       "../../call:video_stream_api", | 
 |       "../../modules/rtp_rtcp", | 
 |       "../../rtc_base:rtc_event", | 
 |       "../../test:mock_frame_transformer", | 
 |       "../../test:test_support", | 
 |       "../../video", | 
 |     ] | 
 |     absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] | 
 |   } | 
 | } |