| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc
|
| index c7576500a42598ae94a4447c347e0a2f968775ec..9ce2f27ab26d64c1728a9b6dc9bd19539c73764c 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report_unittest.cc
|
| @@ -111,4 +111,35 @@ TEST(RtcpPacketSenderReportTest, CreateWithTooManyReportBlocks) {
|
| EXPECT_FALSE(sr.AddReportBlock(rb));
|
| }
|
|
|
| +TEST(RtcpPacketSenderReportTest, SetReportBlocksOverwritesOldBlocks) {
|
| + SenderReport sr;
|
| + ReportBlock report_block;
|
| + // Use jitter field of the report blocks to distinguish them.
|
| + report_block.SetJitter(1001);
|
| + sr.AddReportBlock(report_block);
|
| + ASSERT_EQ(sr.report_blocks().size(), 1u);
|
| + ASSERT_EQ(sr.report_blocks()[0].jitter(), 1001u);
|
| +
|
| + std::vector<ReportBlock> blocks(3);
|
| + blocks[0].SetJitter(2001);
|
| + blocks[1].SetJitter(3001);
|
| + blocks[2].SetJitter(4001);
|
| + EXPECT_TRUE(sr.SetReportBlocks(blocks));
|
| + ASSERT_EQ(sr.report_blocks().size(), 3u);
|
| + EXPECT_EQ(sr.report_blocks()[0].jitter(), 2001u);
|
| + EXPECT_EQ(sr.report_blocks()[1].jitter(), 3001u);
|
| + EXPECT_EQ(sr.report_blocks()[2].jitter(), 4001u);
|
| +}
|
| +
|
| +TEST(RtcpPacketSenderReportTest, CanSetMax31ReportBlock) {
|
| + SenderReport sr;
|
| + const size_t kMaxReportBlocks = (1 << 5) - 1;
|
| +
|
| + std::vector<ReportBlock> blocks(kMaxReportBlocks);
|
| + EXPECT_TRUE(sr.SetReportBlocks(blocks));
|
| +
|
| + blocks.push_back(ReportBlock());
|
| + EXPECT_FALSE(sr.SetReportBlocks(blocks));
|
| +}
|
| +
|
| } // namespace webrtc
|
|
|