aboutsummaryrefslogtreecommitdiff
path: root/video/send_statistics_proxy_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'video/send_statistics_proxy_unittest.cc')
-rw-r--r--video/send_statistics_proxy_unittest.cc86
1 files changed, 54 insertions, 32 deletions
diff --git a/video/send_statistics_proxy_unittest.cc b/video/send_statistics_proxy_unittest.cc
index 71b84c9443..d4a7a49e39 100644
--- a/video/send_statistics_proxy_unittest.cc
+++ b/video/send_statistics_proxy_unittest.cc
@@ -159,11 +159,19 @@ class SendStatisticsProxyTest : public ::testing::Test {
b.rtp_stats.retransmitted.packets);
EXPECT_EQ(a.rtp_stats.fec.packets, b.rtp_stats.fec.packets);
- EXPECT_EQ(a.rtcp_stats.fraction_lost, b.rtcp_stats.fraction_lost);
- EXPECT_EQ(a.rtcp_stats.packets_lost, b.rtcp_stats.packets_lost);
- EXPECT_EQ(a.rtcp_stats.extended_highest_sequence_number,
- b.rtcp_stats.extended_highest_sequence_number);
- EXPECT_EQ(a.rtcp_stats.jitter, b.rtcp_stats.jitter);
+ EXPECT_EQ(a.report_block_data.has_value(),
+ b.report_block_data.has_value());
+ if (a.report_block_data.has_value()) {
+ const RTCPReportBlock& a_rtcp_stats =
+ a.report_block_data->report_block();
+ const RTCPReportBlock& b_rtcp_stats =
+ b.report_block_data->report_block();
+ EXPECT_EQ(a_rtcp_stats.fraction_lost, b_rtcp_stats.fraction_lost);
+ EXPECT_EQ(a_rtcp_stats.packets_lost, b_rtcp_stats.packets_lost);
+ EXPECT_EQ(a_rtcp_stats.extended_highest_sequence_number,
+ b_rtcp_stats.extended_highest_sequence_number);
+ EXPECT_EQ(a_rtcp_stats.jitter, b_rtcp_stats.jitter);
+ }
}
}
@@ -174,29 +182,37 @@ class SendStatisticsProxyTest : public ::testing::Test {
VideoSendStream::Stats expected_;
};
-TEST_F(SendStatisticsProxyTest, RtcpStatistics) {
- RtcpStatisticsCallback* callback = statistics_proxy_.get();
- for (const auto& ssrc : config_.rtp.ssrcs) {
- VideoSendStream::StreamStats& ssrc_stats = expected_.substreams[ssrc];
-
+TEST_F(SendStatisticsProxyTest, ReportBlockDataObserver) {
+ ReportBlockDataObserver* callback = statistics_proxy_.get();
+ for (uint32_t ssrc : config_.rtp.ssrcs) {
// Add statistics with some arbitrary, but unique, numbers.
- uint32_t offset = ssrc * sizeof(RtcpStatistics);
- ssrc_stats.rtcp_stats.packets_lost = offset;
- ssrc_stats.rtcp_stats.extended_highest_sequence_number = offset + 1;
- ssrc_stats.rtcp_stats.fraction_lost = offset + 2;
- ssrc_stats.rtcp_stats.jitter = offset + 3;
- callback->StatisticsUpdated(ssrc_stats.rtcp_stats, ssrc);
+ uint32_t offset = ssrc * 4;
+ RTCPReportBlock report_block;
+ report_block.source_ssrc = ssrc;
+ report_block.packets_lost = offset;
+ report_block.extended_highest_sequence_number = offset + 1;
+ report_block.fraction_lost = offset + 2;
+ report_block.jitter = offset + 3;
+ ReportBlockData data;
+ data.SetReportBlock(report_block, 0);
+ expected_.substreams[ssrc].report_block_data = data;
+
+ callback->OnReportBlockDataUpdated(data);
}
- for (const auto& ssrc : config_.rtp.rtx.ssrcs) {
- VideoSendStream::StreamStats& ssrc_stats = expected_.substreams[ssrc];
-
+ for (uint32_t ssrc : config_.rtp.rtx.ssrcs) {
// Add statistics with some arbitrary, but unique, numbers.
- uint32_t offset = ssrc * sizeof(RtcpStatistics);
- ssrc_stats.rtcp_stats.packets_lost = offset;
- ssrc_stats.rtcp_stats.extended_highest_sequence_number = offset + 1;
- ssrc_stats.rtcp_stats.fraction_lost = offset + 2;
- ssrc_stats.rtcp_stats.jitter = offset + 3;
- callback->StatisticsUpdated(ssrc_stats.rtcp_stats, ssrc);
+ uint32_t offset = ssrc * 4;
+ RTCPReportBlock report_block;
+ report_block.source_ssrc = ssrc;
+ report_block.packets_lost = offset;
+ report_block.extended_highest_sequence_number = offset + 1;
+ report_block.fraction_lost = offset + 2;
+ report_block.jitter = offset + 3;
+ ReportBlockData data;
+ data.SetReportBlock(report_block, 0);
+ expected_.substreams[ssrc].report_block_data = data;
+
+ callback->OnReportBlockDataUpdated(data);
}
VideoSendStream::Stats stats = statistics_proxy_->GetStats();
ExpectEqual(expected_, stats);
@@ -2171,10 +2187,13 @@ TEST_F(SendStatisticsProxyTest, NoSubstreams) {
std::max(*absl::c_max_element(config_.rtp.ssrcs),
*absl::c_max_element(config_.rtp.rtx.ssrcs)) +
1;
- // From RtcpStatisticsCallback.
- RtcpStatistics rtcp_stats;
- RtcpStatisticsCallback* rtcp_callback = statistics_proxy_.get();
- rtcp_callback->StatisticsUpdated(rtcp_stats, excluded_ssrc);
+ // From ReportBlockDataObserver.
+ ReportBlockDataObserver* rtcp_callback = statistics_proxy_.get();
+ RTCPReportBlock report_block;
+ report_block.source_ssrc = excluded_ssrc;
+ ReportBlockData data;
+ data.SetReportBlock(report_block, 0);
+ rtcp_callback->OnReportBlockDataUpdated(data);
// From BitrateStatisticsObserver.
uint32_t total = 0;
@@ -2221,9 +2240,12 @@ TEST_F(SendStatisticsProxyTest, EncodedResolutionTimesOut) {
// Update the first SSRC with bogus RTCP stats to make sure that encoded
// resolution still times out (no global timeout for all stats).
- RtcpStatistics rtcp_statistics;
- RtcpStatisticsCallback* rtcp_stats = statistics_proxy_.get();
- rtcp_stats->StatisticsUpdated(rtcp_statistics, config_.rtp.ssrcs[0]);
+ ReportBlockDataObserver* rtcp_callback = statistics_proxy_.get();
+ RTCPReportBlock report_block;
+ report_block.source_ssrc = config_.rtp.ssrcs[0];
+ ReportBlockData data;
+ data.SetReportBlock(report_block, 0);
+ rtcp_callback->OnReportBlockDataUpdated(data);
// Report stats for second SSRC to make sure it's not outdated along with the
// first SSRC.