| Index: webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc
|
| index 008bc63ef7a8495f691b47bce40e38ff6d99e64a..78b0523d8dd10a4a0c4789b7fc7aacf448a0bd47 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet_unittest.cc
|
| @@ -26,7 +26,6 @@ using webrtc::rtcp::Bye;
|
| using webrtc::rtcp::Dlrr;
|
| using webrtc::rtcp::Empty;
|
| using webrtc::rtcp::Fir;
|
| -using webrtc::rtcp::Nack;
|
| using webrtc::rtcp::RawPacket;
|
| using webrtc::rtcp::ReceiverReport;
|
| using webrtc::rtcp::Remb;
|
| @@ -243,104 +242,6 @@ TEST(RtcpPacketTest, Sli) {
|
| EXPECT_EQ(kPictureId, parser.sli_item()->PictureId());
|
| }
|
|
|
| -TEST(RtcpPacketTest, Nack) {
|
| - Nack nack;
|
| - const uint16_t kList[] = {0, 1, 3, 8, 16};
|
| - const uint16_t kListLength = sizeof(kList) / sizeof(kList[0]);
|
| - nack.From(kSenderSsrc);
|
| - nack.To(kRemoteSsrc);
|
| - nack.WithList(kList, kListLength);
|
| - rtc::scoped_ptr<RawPacket> packet(nack.Build());
|
| - RtcpPacketParser parser;
|
| - parser.Parse(packet->Buffer(), packet->Length());
|
| - EXPECT_EQ(1, parser.nack()->num_packets());
|
| - EXPECT_EQ(kSenderSsrc, parser.nack()->Ssrc());
|
| - EXPECT_EQ(kRemoteSsrc, parser.nack()->MediaSsrc());
|
| - EXPECT_EQ(1, parser.nack_item()->num_packets());
|
| - std::vector<uint16_t> seqs = parser.nack_item()->last_nack_list();
|
| - EXPECT_EQ(kListLength, seqs.size());
|
| - for (size_t i = 0; i < kListLength; ++i) {
|
| - EXPECT_EQ(kList[i], seqs[i]);
|
| - }
|
| -}
|
| -
|
| -TEST(RtcpPacketTest, NackWithWrap) {
|
| - Nack nack;
|
| - const uint16_t kList[] = {65500, 65516, 65534, 65535, 0, 1, 3, 20, 100};
|
| - const uint16_t kListLength = sizeof(kList) / sizeof(kList[0]);
|
| - nack.From(kSenderSsrc);
|
| - nack.To(kRemoteSsrc);
|
| - nack.WithList(kList, kListLength);
|
| - rtc::scoped_ptr<RawPacket> packet(nack.Build());
|
| - RtcpPacketParser parser;
|
| - parser.Parse(packet->Buffer(), packet->Length());
|
| - EXPECT_EQ(1, parser.nack()->num_packets());
|
| - EXPECT_EQ(kSenderSsrc, parser.nack()->Ssrc());
|
| - EXPECT_EQ(kRemoteSsrc, parser.nack()->MediaSsrc());
|
| - EXPECT_EQ(4, parser.nack_item()->num_packets());
|
| - std::vector<uint16_t> seqs = parser.nack_item()->last_nack_list();
|
| - EXPECT_EQ(kListLength, seqs.size());
|
| - for (size_t i = 0; i < kListLength; ++i) {
|
| - EXPECT_EQ(kList[i], seqs[i]);
|
| - }
|
| -}
|
| -
|
| -TEST(RtcpPacketTest, NackFragmented) {
|
| - Nack nack;
|
| - const uint16_t kList[] = {1, 100, 200, 300, 400};
|
| - const uint16_t kListLength = sizeof(kList) / sizeof(kList[0]);
|
| - nack.From(kSenderSsrc);
|
| - nack.To(kRemoteSsrc);
|
| - nack.WithList(kList, kListLength);
|
| -
|
| - class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
|
| - public:
|
| - void OnPacketReady(uint8_t* data, size_t length) override {
|
| - ++packets_created_;
|
| - RtcpPacketParser parser;
|
| - parser.Parse(data, length);
|
| - EXPECT_EQ(1, parser.nack()->num_packets());
|
| - EXPECT_EQ(kSenderSsrc, parser.nack()->Ssrc());
|
| - EXPECT_EQ(kRemoteSsrc, parser.nack()->MediaSsrc());
|
| - switch (packets_created_) {
|
| - case 1:
|
| - EXPECT_THAT(parser.nack_item()->last_nack_list(),
|
| - ElementsAre(1, 100, 200));
|
| - break;
|
| - case 2:
|
| - EXPECT_THAT(parser.nack_item()->last_nack_list(),
|
| - ElementsAre(300, 400));
|
| - break;
|
| - default:
|
| - ADD_FAILURE() << "Unexpected packet count: " << packets_created_;
|
| - }
|
| - }
|
| - int packets_created_ = 0;
|
| - } verifier;
|
| - const size_t kBufferSize = 12 + (3 * 4); // Fits common header + 3 nack items
|
| - uint8_t buffer[kBufferSize];
|
| - EXPECT_TRUE(nack.BuildExternalBuffer(buffer, kBufferSize, &verifier));
|
| - EXPECT_EQ(2, verifier.packets_created_);
|
| -}
|
| -
|
| -TEST(RtcpPacketTest, NackWithTooSmallBuffer) {
|
| - const uint16_t kList[] = {1};
|
| - const size_t kMinNackBlockSize = 16;
|
| - Nack nack;
|
| - nack.From(kSenderSsrc);
|
| - nack.To(kRemoteSsrc);
|
| - nack.WithList(kList, 1);
|
| - class Verifier : public rtcp::RtcpPacket::PacketReadyCallback {
|
| - public:
|
| - void OnPacketReady(uint8_t* data, size_t length) override {
|
| - ADD_FAILURE() << "Buffer should be too small.";
|
| - }
|
| - } verifier;
|
| - uint8_t buffer[kMinNackBlockSize - 1];
|
| - EXPECT_FALSE(
|
| - nack.BuildExternalBuffer(buffer, kMinNackBlockSize - 1, &verifier));
|
| -}
|
| -
|
| TEST(RtcpPacketTest, Rpsi) {
|
| Rpsi rpsi;
|
| // 1000001 (7 bits = 1 byte in native string).
|
|
|