# 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_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/congestion_control_feedback.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/congestion_control_feedback.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_packet_sender",  # For compatibility with downstream projects
    "../../api:rtp_parameters",
    "../../api:scoped_refptr",
    "../../api/audio_codecs:audio_codecs_api",
    "../../api/transport:network_control",
    "../../api/transport/rtp:dependency_descriptor",
    "../../api/units:data_rate",
    "../../api/units:time_delta",
    "../../api/units:timestamp",
    "../../api/video:video_layers_allocation",
    "../../api/video:video_rtp_headers",
    "../../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",
    "../../rtc_base/network:ecn_marking",
    "../../system_wrappers",
    "../video_coding:codec_globals_headers",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/strings:string_view",
    "//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_03_header_reader_writer.cc",
    "source/flexfec_03_header_reader_writer.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_packet_send_info.cc",
    "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/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_use_h265) {
    sources += [
      "source/rtp_packet_h265_common.h",
      "source/rtp_packetizer_h265.cc",
      "source/rtp_packetizer_h265.h",
      "source/video_rtp_depacketizer_h265.cc",
      "source/video_rtp_depacketizer_h265.h",
    ]
  }

  deps = [
    ":leb128",
    ":ntp_time_util",
    ":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:rtp_headers",
    "../../api:rtp_packet_info",
    "../../api:rtp_packet_sender",
    "../../api:rtp_parameters",
    "../../api:scoped_refptr",
    "../../api:sequence_checker",
    "../../api:transport_api",
    "../../api/audio_codecs:audio_codecs_api",
    "../../api/crypto:frame_encryptor_interface",
    "../../api/environment:environment",
    "../../api/rtc_event_log",
    "../../api/task_queue:pending_task_safety_flag",
    "../../api/task_queue:task_queue",
    "../../api/transport:field_trial_based_config",
    "../../api/transport/rtp:dependency_descriptor",
    "../../api/transport/rtp:rtp_source",
    "../../api/units:data_rate",
    "../../api/units:frequency",
    "../../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_metadata",
    "../../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_rtp_rtcp",
    "../../modules/audio_coding:audio_coding_module_typedefs",
    "../../rtc_base:bit_buffer",
    "../../rtc_base:bitrate_tracker",
    "../../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:frequency_tracker",
    "../../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: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",
    "../video_coding:codec_globals_headers",
    "//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/strings:string_view",
    "//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 = [
    ":ntp_time_util",
    ":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:bitrate_tracker",
    "../../rtc_base:checks",
    "../../rtc_base:gtest_prod",
    "../../rtc_base:logging",
    "../../rtc_base:macromagic",
    "../../rtc_base/synchronization:mutex",
    "../../system_wrappers",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/abseil-cpp/absl/strings:string_view",
    "//third_party/abseil-cpp/absl/types:optional",
  ]
}

rtc_library("ntp_time_util") {
  visibility = [ "*" ]
  sources = [
    "source/ntp_time_util.cc",
    "source/ntp_time_util.h",
  ]
  deps = [
    "../../api/units:time_delta",
    "../../rtc_base:checks",
    "../../rtc_base:divide_round",
    "../../rtc_base:safe_conversions",
    "../../rtc_base:timeutils",
    "../../system_wrappers",
  ]
}

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 = [
    ":ntp_time_util",
    ":rtp_rtcp",
    ":rtp_rtcp_format",
    "../../api:array_view",
    "../../api:rtp_headers",
    "../../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",
    "//third_party/abseil-cpp/absl/algorithm:container",
    "//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",
    "//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_network_link_rtcp_observer.h",
    "mocks/mock_recovered_packet_receiver.h",
    "mocks/mock_rtcp_rtt_stats.h",
    "mocks/mock_rtp_rtcp.h",
  ]
  deps = [
    ":rtp_rtcp",
    ":rtp_rtcp_format",
    "../../api:array_view",
    "../../api/units:data_rate",
    "../../api/units:time_delta",
    "../../api/units:timestamp",
    "../../api/video:video_bitrate_allocation",
    "../../rtc_base:checks",
    "../../test:test_support",
    "//third_party/abseil-cpp/absl/strings:string_view",
    "//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_03_header_reader_writer_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/ntp_time_util_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/congestion_control_feedback_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_send_info_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/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",
    ]
    if (rtc_use_h265) {
      sources += [
        "source/rtp_packetizer_h265_unittest.cc",
        "source/video_rtp_depacketizer_h265_unittest.cc",
      ]
    }

    deps = [
      ":fec_test_helper",
      ":frame_transformer_factory_unittest",
      ":leb128",
      ":mock_rtp_rtcp",
      ":ntp_time_util",
      ":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:make_ref_counted",
      "../../api:mock_frame_encryptor",
      "../../api:mock_frame_transformer",
      "../../api:mock_transformable_video_frame",
      "../../api:rtp_headers",
      "../../api:rtp_packet_info",
      "../../api:rtp_packet_sender",
      "../../api:rtp_parameters",
      "../../api:scoped_refptr",
      "../../api:time_controller",
      "../../api:transport_api",
      "../../api/environment:environment",
      "../../api/environment:environment_factory",
      "../../api/rtc_event_log",
      "../../api/task_queue",
      "../../api/transport/rtp:dependency_descriptor",
      "../../api/units:data_rate",
      "../../api/units:data_size",
      "../../api/units:frequency",
      "../../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",
      "../../rtc_base/network:ecn_marking",
      "../../system_wrappers",
      "../../test:explicit_key_value_config",
      "../../test:mock_transport",
      "../../test:rtp_test_utils",
      "../../test:run_loop",
      "../../test:scoped_key_value_config",
      "../../test:test_support",
      "../../test/time_controller:time_controller",
      "../video_coding:codec_globals_headers",
      "//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:string_view",
      "//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_frame_transformer",
      "../../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:test_support",
      "../../video",
      "//third_party/abseil-cpp/absl/memory",
    ]
  }
}
