# 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_header_reader_writer.cc",
    "source/flexfec_header_reader_writer.h",
    "source/flexfec_header_reader_writer2.cc",
    "source/flexfec_header_reader_writer2.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_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_header_reader_writer2_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: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" ]
  }
}
