| Index: media/filters/video_renderer_algorithm_unittest.cc
|
| diff --git a/media/filters/video_renderer_algorithm_unittest.cc b/media/filters/video_renderer_algorithm_unittest.cc
|
| index d8b2eb0da8ae40afcd667023728313b9d54a194c..fcdedd6d4f902d2b804f3c1c3afd1c473656fa73 100644
|
| --- a/media/filters/video_renderer_algorithm_unittest.cc
|
| +++ b/media/filters/video_renderer_algorithm_unittest.cc
|
| @@ -385,6 +385,40 @@ TEST_F(VideoRendererAlgorithmTest, AccountForMissingIntervals) {
|
| ASSERT_TRUE(frame);
|
| EXPECT_EQ(tg.interval(3), frame->timestamp());
|
| EXPECT_EQ(0u, frames_dropped);
|
| + EXPECT_EQ(1, GetCurrentFrameDisplayCount());
|
| +
|
| + // Stop the time source and verify AccountForMissedIntervals() doesn't try to
|
| + // account for intervals from pause behavior.
|
| + time_source_.StopTicking();
|
| + frame = RenderAndStep(&tg, &frames_dropped);
|
| + ASSERT_TRUE(frame);
|
| + EXPECT_EQ(tg.interval(3), frame->timestamp());
|
| + EXPECT_EQ(0u, frames_dropped);
|
| + EXPECT_EQ(1, GetCurrentFrameDisplayCount());
|
| +
|
| + tg.step(100);
|
| + frame = RenderAndStep(&tg, &frames_dropped);
|
| + ASSERT_TRUE(frame);
|
| + EXPECT_EQ(tg.interval(3), frame->timestamp());
|
| + EXPECT_EQ(0u, frames_dropped);
|
| + EXPECT_EQ(1, GetCurrentFrameDisplayCount());
|
| +
|
| + time_source_.StartTicking();
|
| +
|
| + // Now run the same test using set_time_stopped();
|
| + frame = RenderAndStep(&tg, &frames_dropped);
|
| + ASSERT_TRUE(frame);
|
| + EXPECT_EQ(tg.interval(3), frame->timestamp());
|
| + EXPECT_EQ(0u, frames_dropped);
|
| + EXPECT_EQ(2, GetCurrentFrameDisplayCount());
|
| +
|
| + algorithm_.set_time_stopped();
|
| + tg.step(100);
|
| + frame = RenderAndStep(&tg, &frames_dropped);
|
| + ASSERT_TRUE(frame);
|
| + EXPECT_EQ(tg.interval(3), frame->timestamp());
|
| + EXPECT_EQ(0u, frames_dropped);
|
| + EXPECT_EQ(3, GetCurrentFrameDisplayCount());
|
| }
|
|
|
| TEST_F(VideoRendererAlgorithmTest, OnLastFrameDropped) {
|
| @@ -1201,6 +1235,7 @@ TEST_F(VideoRendererAlgorithmTest, EnqueueFrames) {
|
| RenderAndStep(&tg, &frames_dropped);
|
| EXPECT_EQ(1u, frames_queued());
|
| EXPECT_EQ(frame_1, rendered_frame);
|
| + EXPECT_EQ(1, GetCurrentFrameDisplayCount());
|
|
|
| // The replaced frame should count as dropped.
|
| EXPECT_EQ(1u, frames_dropped);
|
| @@ -1213,6 +1248,7 @@ TEST_F(VideoRendererAlgorithmTest, EnqueueFrames) {
|
| EXPECT_EQ(1u, frames_queued());
|
| EXPECT_EQ(frame_1, rendered_frame);
|
| EXPECT_EQ(1u, frames_dropped);
|
| + EXPECT_EQ(2, GetCurrentFrameDisplayCount());
|
|
|
| // Trying to add a frame < 1 ms after the last frame should drop the frame.
|
| algorithm_.EnqueueFrame(CreateFrame(base::TimeDelta::FromMicroseconds(999)));
|
| @@ -1220,6 +1256,7 @@ TEST_F(VideoRendererAlgorithmTest, EnqueueFrames) {
|
| EXPECT_EQ(1u, frames_queued());
|
| EXPECT_EQ(frame_1, rendered_frame);
|
| EXPECT_EQ(1u, frames_dropped);
|
| + EXPECT_EQ(3, GetCurrentFrameDisplayCount());
|
|
|
| scoped_refptr<VideoFrame> frame_3 = CreateFrame(tg.interval(1));
|
| algorithm_.EnqueueFrame(frame_3);
|
| @@ -1232,6 +1269,7 @@ TEST_F(VideoRendererAlgorithmTest, EnqueueFrames) {
|
| EXPECT_EQ(1u, frames_queued());
|
| EXPECT_EQ(frame_3, rendered_frame);
|
| EXPECT_EQ(1u, frames_dropped);
|
| + EXPECT_EQ(1, GetCurrentFrameDisplayCount());
|
| }
|
|
|
| TEST_F(VideoRendererAlgorithmTest, CadenceForFutureFrames) {
|
|
|