Index: media/cast/test/end2end_unittest.cc |
diff --git a/media/cast/test/end2end_unittest.cc b/media/cast/test/end2end_unittest.cc |
index 71b2c3e307b4909c847e19b2424b7b22b8c1c9d6..8c23e3e28605e4ac73d430080acea059e521610d 100644 |
--- a/media/cast/test/end2end_unittest.cc |
+++ b/media/cast/test/end2end_unittest.cc |
@@ -894,21 +894,24 @@ TEST_F(End2EndTest, GlitchWith3Buffers) { |
Create(); |
int video_start = kVideoStart; |
- base::TimeTicks send_time = testing_clock_sender_->NowTicks(); |
- SendVideoFrame(video_start, send_time); |
- RunTasks(kFrameTimerMs); |
- |
- test_receiver_video_callback_->AddExpectedResult(video_start, |
- video_sender_config_.width, |
- video_sender_config_.height, |
- send_time); |
- frame_receiver_->GetRawVideoFrame( |
- base::Bind(&TestReceiverVideoCallback::CheckVideoFrame, |
- test_receiver_video_callback_)); |
- |
- RunTasks(750); // Make sure that we send a RTCP packet. |
- |
- video_start++; |
+ base::TimeTicks send_time; |
+ // Frames will rendered on completion until the render time stabilizes, i.e. |
+ // we got enough data. |
+ const int frames_before_glitch = 20; |
+ for (int i = 0; i < frames_before_glitch; ++i) { |
+ send_time = testing_clock_sender_->NowTicks(); |
+ SendVideoFrame(video_start, send_time); |
+ test_receiver_video_callback_->AddExpectedResult( |
+ video_start, |
+ video_sender_config_.width, |
+ video_sender_config_.height, |
+ send_time); |
+ frame_receiver_->GetRawVideoFrame( |
+ base::Bind(&TestReceiverVideoCallback::CheckVideoFrame, |
+ test_receiver_video_callback_)); |
+ RunTasks(kFrameTimerMs); |
+ video_start++; |
+ } |
// Introduce a glitch lasting for 10 frames. |
sender_to_receiver_.SetSendPackets(false); |
@@ -939,7 +942,8 @@ TEST_F(End2EndTest, GlitchWith3Buffers) { |
test_receiver_video_callback_)); |
RunTasks(2 * kFrameTimerMs + 1); // Empty the receiver pipeline. |
- EXPECT_EQ(2, test_receiver_video_callback_->number_times_called()); |
+ EXPECT_EQ(frames_before_glitch + 1, |
+ test_receiver_video_callback_->number_times_called()); |
} |
TEST_F(End2EndTest, DropEveryOtherFrame3Buffers) { |
@@ -986,7 +990,7 @@ TEST_F(End2EndTest, ResetReferenceFrameId) { |
sender_to_receiver_.AlwaysResetReferenceFrameId(); |
int frames_counter = 0; |
- for (; frames_counter < 20; ++frames_counter) { |
+ for (; frames_counter < 10; ++frames_counter) { |
const base::TimeTicks send_time = testing_clock_sender_->NowTicks(); |
SendVideoFrame(frames_counter, send_time); |