diff --git a/call/rtp_transport_controller_send_interface.h b/call/rtp_transport_controller_send_interface.h index 219c36de35..9868585cdf 100644 --- a/call/rtp_transport_controller_send_interface.h +++ b/call/rtp_transport_controller_send_interface.h @@ -25,6 +25,7 @@ #include "api/transport/bitrate_settings.h" #include "call/rtp_config.h" #include "logging/rtc_event_log/rtc_event_log.h" +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace rtc { diff --git a/call/video_receive_stream.h b/call/video_receive_stream.h index 94cbfcc2f1..2cd5f1631a 100644 --- a/call/video_receive_stream.h +++ b/call/video_receive_stream.h @@ -26,6 +26,7 @@ #include "api/video/video_timing.h" #include "api/video_codecs/sdp_video_format.h" #include "call/rtp_config.h" +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace webrtc { diff --git a/call/video_send_stream.h b/call/video_send_stream.h index a76e82e389..4d3d9c0c57 100644 --- a/call/video_send_stream.h +++ b/call/video_send_stream.h @@ -27,6 +27,7 @@ #include "api/video/video_stream_encoder_settings.h" #include "api/video_codecs/video_encoder_config.h" #include "call/rtp_config.h" +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace webrtc { diff --git a/common_types.h b/common_types.h index 41b901cec2..848b899a0d 100644 --- a/common_types.h +++ b/common_types.h @@ -39,29 +39,6 @@ enum FrameType { kVideoFrameDelta = 4, }; -// Statistics for an RTCP channel -struct RtcpStatistics { - RtcpStatistics() - : fraction_lost(0), - packets_lost(0), - extended_highest_sequence_number(0), - jitter(0) {} - - uint8_t fraction_lost; - int32_t packets_lost; // Defined as a 24 bit signed integer in RTCP - uint32_t extended_highest_sequence_number; - uint32_t jitter; -}; - -class RtcpStatisticsCallback { - public: - virtual ~RtcpStatisticsCallback() {} - - virtual void StatisticsUpdated(const RtcpStatistics& statistics, - uint32_t ssrc) = 0; - virtual void CNameChanged(const char* cname, uint32_t ssrc) = 0; -}; - // Statistics for RTCP packet types. struct RtcpPacketTypeCounter { RtcpPacketTypeCounter() diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn index db71079a7e..df4ba23fff 100644 --- a/modules/audio_coding/BUILD.gn +++ b/modules/audio_coding/BUILD.gn @@ -2103,6 +2103,7 @@ if (rtc_include_tests) { "../../logging:mocks", "../../logging:rtc_event_audio", "../../logging:rtc_event_log_api", + "../../modules/rtp_rtcp:rtp_rtcp_format", "../../rtc_base:checks", "../../rtc_base:protobuf_utils", "../../rtc_base:rtc_base", diff --git a/modules/audio_coding/neteq/neteq_unittest.cc b/modules/audio_coding/neteq/neteq_unittest.cc index 2aced6aa7e..e8b5023770 100644 --- a/modules/audio_coding/neteq/neteq_unittest.cc +++ b/modules/audio_coding/neteq/neteq_unittest.cc @@ -22,12 +22,12 @@ #include "api/audio/audio_frame.h" #include "api/audio_codecs/builtin_audio_decoder_factory.h" -#include "common_types.h" // NOLINT(build/include) #include "modules/audio_coding/codecs/pcm16b/pcm16b.h" #include "modules/audio_coding/neteq/tools/audio_loop.h" #include "modules/audio_coding/neteq/tools/neteq_packet_source_input.h" #include "modules/audio_coding/neteq/tools/neteq_test.h" #include "modules/audio_coding/neteq/tools/rtp_file_source.h" +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "rtc_base/ignore_wundef.h" #include "rtc_base/messagedigest.h" #include "rtc_base/numerics/safe_conversions.h" diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn index 4f621847f5..edb981bc67 100644 --- a/modules/rtp_rtcp/BUILD.gn +++ b/modules/rtp_rtcp/BUILD.gn @@ -11,6 +11,7 @@ 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", diff --git a/modules/rtp_rtcp/include/receive_statistics.h b/modules/rtp_rtcp/include/receive_statistics.h index f905eb15f1..c299ea69d6 100644 --- a/modules/rtp_rtcp/include/receive_statistics.h +++ b/modules/rtp_rtcp/include/receive_statistics.h @@ -18,6 +18,7 @@ #include "call/rtp_packet_sink_interface.h" #include "modules/include/module.h" #include "modules/include/module_common_types.h" +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "modules/rtp_rtcp/source/rtcp_packet/report_block.h" #include "rtc_base/deprecation.h" diff --git a/modules/rtp_rtcp/include/rtcp_statistics.h b/modules/rtp_rtcp/include/rtcp_statistics.h new file mode 100644 index 0000000000..e1d576de2d --- /dev/null +++ b/modules/rtp_rtcp/include/rtcp_statistics.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2018 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. + */ + +#ifndef MODULES_RTP_RTCP_INCLUDE_RTCP_STATISTICS_H_ +#define MODULES_RTP_RTCP_INCLUDE_RTCP_STATISTICS_H_ + +#include + +namespace webrtc { + +// Statistics for an RTCP channel +struct RtcpStatistics { + uint8_t fraction_lost = 0; + int32_t packets_lost = 0; // Defined as a 24 bit signed integer in RTCP + uint32_t extended_highest_sequence_number = 0; + uint32_t jitter = 0; +}; + +class RtcpStatisticsCallback { + public: + virtual ~RtcpStatisticsCallback() {} + + virtual void StatisticsUpdated(const RtcpStatistics& statistics, + uint32_t ssrc) = 0; + virtual void CNameChanged(const char* cname, uint32_t ssrc) = 0; +}; + +} // namespace webrtc +#endif // MODULES_RTP_RTCP_INCLUDE_RTCP_STATISTICS_H_ diff --git a/modules/rtp_rtcp/include/rtp_rtcp.h b/modules/rtp_rtcp/include/rtp_rtcp.h index d81ea9abec..d136a5e6e9 100644 --- a/modules/rtp_rtcp/include/rtp_rtcp.h +++ b/modules/rtp_rtcp/include/rtp_rtcp.h @@ -18,9 +18,9 @@ #include "absl/types/optional.h" #include "api/video/video_bitrate_allocation.h" -#include "common_types.h" // NOLINT(build/include) #include "modules/include/module.h" #include "modules/rtp_rtcp/include/flexfec_sender.h" +#include "modules/rtp_rtcp/include/receive_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "rtc_base/constructormagic.h" #include "rtc_base/deprecation.h" diff --git a/modules/rtp_rtcp/source/rtcp_receiver.h b/modules/rtp_rtcp/source/rtcp_receiver.h index 933faf9cec..be4c70e3ce 100644 --- a/modules/rtp_rtcp/source/rtcp_receiver.h +++ b/modules/rtp_rtcp/source/rtcp_receiver.h @@ -17,6 +17,7 @@ #include #include +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" #include "modules/rtp_rtcp/source/rtcp_nack_stats.h" #include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h" diff --git a/video/report_block_stats.h b/video/report_block_stats.h index e0a69c9052..90badf7086 100644 --- a/video/report_block_stats.h +++ b/video/report_block_stats.h @@ -14,6 +14,7 @@ #include #include +#include "modules/rtp_rtcp/include/rtcp_statistics.h" #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" namespace webrtc {