PacketBuffer now correctly cast sequence numbers to uint16_t.
BUG=webrtc:5514
Review-Url: https://codereview.webrtc.org/2603223002
Cr-Commit-Position: refs/heads/master@{#15885}
diff --git a/webrtc/modules/video_coding/packet_buffer.cc b/webrtc/modules/video_coding/packet_buffer.cc
index 03aeb5a..42fa8a8 100644
--- a/webrtc/modules/video_coding/packet_buffer.cc
+++ b/webrtc/modules/video_coding/packet_buffer.cc
@@ -187,7 +187,7 @@
if (!sequence_buffer_[prev_index].used)
return false;
if (sequence_buffer_[prev_index].seq_num !=
- sequence_buffer_[index].seq_num - 1) {
+ static_cast<uint16_t>(sequence_buffer_[index].seq_num - 1)) {
return false;
}
if (sequence_buffer_[prev_index].continuous)
diff --git a/webrtc/modules/video_coding/video_packet_buffer_unittest.cc b/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
index 1e2ef3e..e2ac8be 100644
--- a/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
+++ b/webrtc/modules/video_coding/video_packet_buffer_unittest.cc
@@ -102,11 +102,19 @@
EXPECT_TRUE(Insert(seq_num, kKeyFrame, kFirst, kLast));
}
-TEST_F(TestPacketBuffer, SeqNumWrap) {
+TEST_F(TestPacketBuffer, SeqNumWrapOneFrame) {
+ EXPECT_TRUE(Insert(0xFFFF, kKeyFrame, kFirst, kNotLast));
+ EXPECT_TRUE(Insert(0x0, kKeyFrame, kNotFirst, kLast));
+
+ CheckFrame(0xFFFF);
+}
+
+TEST_F(TestPacketBuffer, SeqNumWrapTwoFrames) {
EXPECT_TRUE(Insert(0xFFFF, kKeyFrame, kFirst, kLast));
EXPECT_TRUE(Insert(0x0, kKeyFrame, kFirst, kLast));
CheckFrame(0xFFFF);
+ CheckFrame(0x0);
}
TEST_F(TestPacketBuffer, InsertOldPackets) {