# 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_source_set("rtp_rtcp_format") { visibility = [ "*" ] public = [ "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/dlrr.h", "source/rtcp_packet/extended_jitter_report.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/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_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", ] sources = [ "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_jitter_report.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/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_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", ] deps = [ "..:module_api", "..:module_api_public", "../..:webrtc_common", "../../api:array_view", "../../api:libjingle_peerconnection_api", "../../api/audio_codecs:audio_codecs_api", "../../api/transport:network_control", "../../api/video:video_frame", "../../common_video", "../../rtc_base:checks", "../../rtc_base:deprecation", "../../rtc_base:rtc_base_approved", "../../rtc_base/system:unused", "../../system_wrappers", "../video_coding:codec_globals_headers", "//third_party/abseil-cpp/absl/types:optional", "//third_party/abseil-cpp/absl/types:variant", ] } rtc_static_library("rtp_rtcp") { visibility = [ "*" ] sources = [ "include/flexfec_receiver.h", "include/flexfec_sender.h", "include/receive_statistics.h", "include/remote_ntp_time_estimator.h", "include/rtp_header_parser.h", "include/rtp_rtcp.h", "include/ulpfec_receiver.h", "source/contributing_sources.cc", "source/contributing_sources.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/packet_loss_stats.cc", "source/packet_loss_stats.h", "source/playout_delay_oracle.cc", "source/playout_delay_oracle.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_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_header_parser.cc", "source/rtp_packet_history.cc", "source/rtp_packet_history.h", "source/rtp_rtcp_config.h", "source/rtp_rtcp_impl.cc", "source/rtp_rtcp_impl.h", "source/rtp_sender.cc", "source/rtp_sender.h", "source/rtp_sender_audio.cc", "source/rtp_sender_audio.h", "source/rtp_sender_video.cc", "source/rtp_sender_video.h", "source/rtp_utility.cc", "source/rtp_utility.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_impl.cc", "source/ulpfec_receiver_impl.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 = [ ":rtp_rtcp_format", ":rtp_video_header", "..:module_api", "..:module_api_public", "..:module_fec_api", "../..:webrtc_common", "../../api:array_view", "../../api:libjingle_peerconnection_api", "../../api:scoped_refptr", "../../api:transport_api", "../../api/audio_codecs:audio_codecs_api", "../../api/video:video_bitrate_allocation", "../../api/video:video_bitrate_allocator", "../../api/video:video_frame", "../../api/video_codecs:video_codecs_api", "../../call:rtp_interfaces", "../../common_video", "../../logging:rtc_event_audio", "../../logging:rtc_event_log_api", "../../logging:rtc_event_rtp_rtcp", "../../rtc_base:checks", "../../rtc_base:deprecation", "../../rtc_base:gtest_prod", "../../rtc_base:rate_limiter", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_numerics", "../../rtc_base:safe_minmax", "../../rtc_base:sequenced_task_checker", "../../rtc_base/system:fallthrough", "../../rtc_base/time:timestamp_extrapolator", "../../system_wrappers", "../../system_wrappers:field_trial", "../../system_wrappers:metrics", "../remote_bitrate_estimator", "../video_coding:codec_globals_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("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", "../../:webrtc_common", "../../api:array_view", "../../api:libjingle_peerconnection_api", "../../api:transport_api", "../../api/video:video_bitrate_allocation", "../../rtc_base:checks", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_task_queue", "../../rtc_base/task_utils:repeating_task", "../../system_wrappers", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_source_set("rtp_video_header") { visibility = [ "*" ] sources = [ "source/rtp_video_header.cc", "source/rtp_video_header.h", ] deps = [ "../../:webrtc_common", "../../api/video:video_frame", "../../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("fec_test_helper") { testonly = true sources = [ "source/fec_test_helper.cc", "source/fec_test_helper.h", ] deps = [ ":rtp_rtcp", ":rtp_rtcp_format", "..:module_api", "../../rtc_base:checks", "../../rtc_base:rtc_base_approved", ] } rtc_source_set("mock_rtp_rtcp") { testonly = true sources = [ "mocks/mock_recovered_packet_receiver.cc", "mocks/mock_rtcp_bandwidth_observer.cc", "mocks/mock_rtcp_rtt_stats.cc", "mocks/mock_rtp_rtcp.cc", ] 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", "..:module_api", "../../api/video:video_bitrate_allocation", "../../rtc_base:checks", "../../rtc_base:rtc_base_approved", "../../test:test_support", "//third_party/abseil-cpp/absl/types:optional", ] } if (rtc_include_tests) { 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_source_set("rtp_rtcp_modules_tests") { testonly = true sources = [ "test/testFec/test_fec.cc", ] deps = [ ":rtp_rtcp", ":rtp_rtcp_format", "../../rtc_base:rtc_base_approved", "../../test:fileutils", "../../test:test_support", ] } rtc_source_set("rtp_rtcp_unittests") { testonly = true sources = [ "source/byte_io_unittest.cc", "source/contributing_sources_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/nack_rtx_unittest.cc", "source/packet_loss_stats_unittest.cc", "source/playout_delay_oracle_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_jitter_report_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/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_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_rtcp_impl_unittest.cc", "source/rtp_sender_unittest.cc", "source/rtp_utility_unittest.cc", "source/time_util_unittest.cc", "source/ulpfec_generator_unittest.cc", "source/ulpfec_header_reader_writer_unittest.cc", "source/ulpfec_receiver_unittest.cc", ] deps = [ ":fec_test_helper", ":mock_rtp_rtcp", ":rtcp_transceiver", ":rtp_rtcp", ":rtp_rtcp_format", "..:module_api", "../..:webrtc_common", "../../api:array_view", "../../api:libjingle_peerconnection_api", "../../api:scoped_refptr", "../../api:transport_api", "../../api/video:video_bitrate_allocation", "../../api/video:video_bitrate_allocator", "../../api/video:video_codec_constants", "../../api/video:video_frame", "../../api/video_codecs:video_codecs_api", "../../call:rtp_receiver", "../../common_video:common_video", "../../common_video/test:utilities", "../../logging:mocks", "../../logging:rtc_event_log_api", "../../rtc_base:checks", "../../rtc_base:rate_limiter", "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_tests_utils", "../../rtc_base:rtc_task_queue", "../../system_wrappers", "../../test:field_trial", "../../test:rtp_test_utils", "../../test:test_common", "../../test:test_support", "../video_coding:codec_globals_headers", "//third_party/abseil-cpp/absl/memory", "//third_party/abseil-cpp/absl/types:optional", ] } }