Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(209)

Unified Diff: webrtc/modules/video_coding/packet_buffer_unittest.cc

Issue 1988653002: PacketBuffer now can save how many times a packet has been nacked. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: combined_size to frame_size Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/packet_buffer_unittest.cc
diff --git a/webrtc/modules/video_coding/packet_buffer_unittest.cc b/webrtc/modules/video_coding/packet_buffer_unittest.cc
index b50074d8f60d87ef34cd93b001111f213f996366..ff96bf8272e3f42fe6df7a1e276875462f826c68 100644
--- a/webrtc/modules/video_coding/packet_buffer_unittest.cc
+++ b/webrtc/modules/video_coding/packet_buffer_unittest.cc
@@ -265,12 +265,62 @@ TEST_F(TestPacketBuffer, InsertDuplicatePacket) {
EXPECT_TRUE(packet_buffer_->InsertPacket(packet));
}
+TEST_F(TestPacketBuffer, NackCount) {
+ uint16_t seq_num = Rand();
+
+ VCMPacket packet;
+ packet.codec = kVideoCodecGeneric;
+ packet.seqNum = seq_num;
+ packet.frameType = kVideoFrameKey;
+ packet.isFirstPacket = true;
+ packet.markerBit = false;
+ packet.sizeBytes = 0;
+ packet.dataPtr = nullptr;
+ packet.timesNacked = 0;
+
+ packet_buffer_->InsertPacket(packet);
+
+ packet.seqNum++;
+ packet.isFirstPacket = false;
+ packet.timesNacked = 1;
+ packet_buffer_->InsertPacket(packet);
+
+ packet.seqNum++;
+ packet.timesNacked = 3;
+ packet_buffer_->InsertPacket(packet);
+
+ packet.seqNum++;
+ packet.markerBit = true;
+ packet.timesNacked = 1;
+ packet_buffer_->InsertPacket(packet);
+
+
+ ASSERT_EQ(1UL, frames_from_callback_.size());
+ FrameObject* frame = frames_from_callback_.begin()->second.get();
+ RtpFrameObject* rtp_frame = static_cast<RtpFrameObject*>(frame);
+ EXPECT_EQ(3, rtp_frame->max_nack_count());
+}
+
+TEST_F(TestPacketBuffer, FrameSize) {
+ uint16_t seq_num = Rand();
+ uint8_t data[] = {1, 2, 3, 4, 5};
+
+ // seq_num , kf, frst, lst, size, data
+ InsertGeneric(seq_num , kT, kT , kF , 5 , data);
+ InsertGeneric(seq_num + 1, kT, kF , kF , 5 , data);
+ InsertGeneric(seq_num + 2, kT, kF , kF , 5 , data);
+ InsertGeneric(seq_num + 3, kT, kF , kT , 5 , data);
+
+ ASSERT_EQ(1UL, frames_from_callback_.size());
+ EXPECT_EQ(20UL, frames_from_callback_.begin()->second->size);
+}
+
TEST_F(TestPacketBuffer, ExpandBuffer) {
uint16_t seq_num = Rand();
for (int i = 0; i < kStartSize + 1; ++i) {
// seq_num , kf, frst, lst
- InsertGeneric(seq_num + i, kT , kT, kT);
+ InsertGeneric(seq_num + i, kT, kT , kT);
}
}
« webrtc/modules/video_coding/packet_buffer.cc ('K') | « webrtc/modules/video_coding/packet_buffer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698