New const method StreamStatistician::GetStats

And a corresponding struct RtpReceiveStats. This is intended
to hold the information exposed via GetStats, which is quite
different from the stats reported to the peer via RTCP.

This is a preparation for moving ReceiveStatistics out of the
individual receive stream objects, and instead have a shared instance
owned by RtpStreamReceiverController or maybe Call.

Bug: webrtc:10679,chromium:677543
Change-Id: Ibb52ee769516ddc51da109b7f2319405693be5d5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148982
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28943}
This commit is contained in:
Niels Möller
2019-08-22 09:40:25 +02:00
committed by Commit Bot
parent 74154e65e8
commit d77cc24f67
12 changed files with 166 additions and 102 deletions

View File

@ -22,6 +22,7 @@
#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"
namespace webrtc {
@ -40,11 +41,16 @@ class StreamStatistician {
public:
virtual ~StreamStatistician();
virtual RtpReceiveStats GetStats() const = 0;
// TODO(nisse): Delete, migrate users to the above the GetStats method.
RTC_DEPRECATED
virtual bool GetStatistics(RtcpStatistics* statistics, bool reset) = 0;
// Returns average over the stream life time.
virtual absl::optional<int> GetFractionLostInPercent() const = 0;
// TODO(nisse): Delete, migrate users to the above the GetStats method.
// Gets received stream data counters (includes reset counter values).
virtual StreamDataCounters GetReceiveStreamDataCounters() const = 0;