Index: webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc |
diff --git a/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc b/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc |
index 967acfc42bc014ae40c13f767794e1504c49bced..1efd1c35b9e458f7f09923902c2921bdee705f2d 100644 |
--- a/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc |
+++ b/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc |
@@ -272,6 +272,24 @@ TEST_F(TestRtpFrameReferenceFinder, PaddingPacketsReorderedMultipleKeyframes) { |
EXPECT_EQ(4UL, frames_from_callback_.size()); |
} |
+TEST_F(TestRtpFrameReferenceFinder, ClearTo) { |
+ uint16_t sn = Rand(); |
+ |
+ InsertGeneric(sn, sn + 1, true); |
+ InsertGeneric(sn + 4, sn + 5, false); // stashed |
+ EXPECT_EQ(1UL, frames_from_callback_.size()); |
+ |
+ InsertGeneric(sn + 6, sn + 7, true); // keyframe |
+ EXPECT_EQ(2UL, frames_from_callback_.size()); |
+ reference_finder_->ClearTo(sn + 7); |
+ |
+ InsertGeneric(sn + 8, sn + 9, false); // first frame after keyframe. |
+ EXPECT_EQ(3UL, frames_from_callback_.size()); |
+ |
+ InsertGeneric(sn + 2, sn + 3, false); // late, cleared past this frame. |
+ EXPECT_EQ(3UL, frames_from_callback_.size()); |
+} |
+ |
TEST_F(TestRtpFrameReferenceFinder, Vp8NoPictureId) { |
uint16_t sn = Rand(); |