# 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:data_rate",
    "../../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_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_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/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_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",
  ]
  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_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/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:make_ref_counted",
      "../../api:mock_frame_encryptor",
      "../../api:mock_transformable_video_frame",
      "../../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" ]
  }
}
