ReportBlockStatsTest: Remove usage of RTCPReportBlock (no longer used).
Bug: none Change-Id: I5625537dd63b999df28906786a5adf8f0e9f3166 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/147724 Commit-Queue: Åsa Persson <asapersson@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28743}
This commit is contained in:
parent
916fda588e
commit
5e155a63a3
@ -9,7 +9,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "video/report_block_stats.h"
|
#include "video/report_block_stats.h"
|
||||||
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
|
||||||
|
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
|
|
||||||
@ -17,56 +16,62 @@ namespace webrtc {
|
|||||||
|
|
||||||
class ReportBlockStatsTest : public ::testing::Test {
|
class ReportBlockStatsTest : public ::testing::Test {
|
||||||
protected:
|
protected:
|
||||||
ReportBlockStatsTest() : kSsrc1(0x12345) {}
|
ReportBlockStatsTest() {
|
||||||
|
// kSsrc1: report 1-3.
|
||||||
void SetUp() override {
|
stats1_1_.packets_lost = 10;
|
||||||
// kSsrc1: block 1-3.
|
stats1_1_.extended_highest_sequence_number = 24000;
|
||||||
block1_1_.packets_lost = 10;
|
stats1_2_.packets_lost = 15;
|
||||||
block1_1_.fraction_lost = 123;
|
stats1_2_.extended_highest_sequence_number = 24100;
|
||||||
block1_1_.extended_highest_sequence_number = 24000;
|
stats1_3_.packets_lost = 50;
|
||||||
block1_1_.jitter = 777;
|
stats1_3_.extended_highest_sequence_number = 24200;
|
||||||
block1_1_.source_ssrc = kSsrc1;
|
// kSsrc2: report 1,2.
|
||||||
block1_2_.packets_lost = 15;
|
stats2_1_.packets_lost = 111;
|
||||||
block1_2_.fraction_lost = 0;
|
stats2_1_.extended_highest_sequence_number = 8500;
|
||||||
block1_2_.extended_highest_sequence_number = 24100;
|
stats2_2_.packets_lost = 136;
|
||||||
block1_2_.jitter = 222;
|
stats2_2_.extended_highest_sequence_number = 8800;
|
||||||
block1_2_.source_ssrc = kSsrc1;
|
|
||||||
block1_3_.packets_lost = 50;
|
|
||||||
block1_3_.fraction_lost = 0;
|
|
||||||
block1_3_.extended_highest_sequence_number = 24200;
|
|
||||||
block1_3_.jitter = 333;
|
|
||||||
block1_3_.source_ssrc = kSsrc1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RtcpStatistics RtcpReportBlockToRtcpStatistics(const RTCPReportBlock& stats) {
|
const uint32_t kSsrc1 = 123;
|
||||||
RtcpStatistics block;
|
const uint32_t kSsrc2 = 234;
|
||||||
block.packets_lost = stats.packets_lost;
|
RtcpStatistics stats1_1_;
|
||||||
block.fraction_lost = stats.fraction_lost;
|
RtcpStatistics stats1_2_;
|
||||||
block.extended_highest_sequence_number =
|
RtcpStatistics stats1_3_;
|
||||||
stats.extended_highest_sequence_number;
|
RtcpStatistics stats2_1_;
|
||||||
block.jitter = stats.jitter;
|
RtcpStatistics stats2_2_;
|
||||||
return block;
|
|
||||||
}
|
|
||||||
|
|
||||||
const uint32_t kSsrc1;
|
|
||||||
RTCPReportBlock block1_1_;
|
|
||||||
RTCPReportBlock block1_2_;
|
|
||||||
RTCPReportBlock block1_3_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(ReportBlockStatsTest, StoreAndGetFractionLost) {
|
TEST_F(ReportBlockStatsTest, StoreAndGetFractionLost) {
|
||||||
ReportBlockStats stats;
|
ReportBlockStats stats;
|
||||||
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
||||||
|
|
||||||
// First block.
|
// First report.
|
||||||
stats.Store(kSsrc1, RtcpReportBlockToRtcpStatistics(block1_1_));
|
stats.Store(kSsrc1, stats1_1_);
|
||||||
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
||||||
// fl: 100 * (15-10) / (24100-24000) = 5%
|
// fl: 100 * (15-10) / (24100-24000) = 5%
|
||||||
stats.Store(kSsrc1, RtcpReportBlockToRtcpStatistics(block1_2_));
|
stats.Store(kSsrc1, stats1_2_);
|
||||||
EXPECT_EQ(5, stats.FractionLostInPercent());
|
EXPECT_EQ(5, stats.FractionLostInPercent());
|
||||||
// fl: 100 * (50-10) / (24200-24000) = 20%
|
// fl: 100 * (50-10) / (24200-24000) = 20%
|
||||||
stats.Store(kSsrc1, RtcpReportBlockToRtcpStatistics(block1_3_));
|
stats.Store(kSsrc1, stats1_3_);
|
||||||
EXPECT_EQ(20, stats.FractionLostInPercent());
|
EXPECT_EQ(20, stats.FractionLostInPercent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(ReportBlockStatsTest, StoreAndGetFractionLost_TwoSsrcs) {
|
||||||
|
ReportBlockStats stats;
|
||||||
|
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
||||||
|
|
||||||
|
// First report.
|
||||||
|
stats.Store(kSsrc1, stats1_1_);
|
||||||
|
EXPECT_EQ(-1, stats.FractionLostInPercent());
|
||||||
|
// fl: 100 * (15-10) / (24100-24000) = 5%
|
||||||
|
stats.Store(kSsrc1, stats1_2_);
|
||||||
|
EXPECT_EQ(5, stats.FractionLostInPercent());
|
||||||
|
|
||||||
|
// First report, kSsrc2.
|
||||||
|
stats.Store(kSsrc2, stats2_1_);
|
||||||
|
EXPECT_EQ(5, stats.FractionLostInPercent());
|
||||||
|
// fl: 100 * ((15-10) + (136-111)) / ((24100-24000) + (8800-8500)) = 7%
|
||||||
|
stats.Store(kSsrc2, stats2_2_);
|
||||||
|
EXPECT_EQ(7, stats.FractionLostInPercent());
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user