Index: content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
diff --git a/content/renderer/media/media_stream_video_renderer_sink_unittest.cc b/content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
index 0655645845a0c2f8552075e2c188a1d39c08f481..3318f2b93775b6a373ca3b54085febdeeaa6719c 100644 |
--- a/content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
+++ b/content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
@@ -55,7 +55,7 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
base::Unretained(this)), |
base::Bind(&MediaStreamVideoRendererSinkTest::RepaintCallback, |
base::Unretained(this)), |
- message_loop_.task_runner(), message_loop_.task_runner(), |
+ child_process_->io_task_runner(), message_loop_.task_runner(), |
message_loop_.task_runner(), nullptr /* gpu_factories */); |
base::RunLoop().RunUntilIdle(); |
@@ -76,14 +76,17 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
MOCK_METHOD0(ErrorCallback, void(void)); |
bool IsInStartedState() const { |
+ RunIOUntilIdle(); |
return media_stream_video_renderer_sink_->GetStateForTesting() == |
MediaStreamVideoRendererSink::STARTED; |
} |
bool IsInStoppedState() const { |
+ RunIOUntilIdle(); |
return media_stream_video_renderer_sink_->GetStateForTesting() == |
MediaStreamVideoRendererSink::STOPPED; |
} |
bool IsInPausedState() const { |
+ RunIOUntilIdle(); |
return media_stream_video_renderer_sink_->GetStateForTesting() == |
MediaStreamVideoRendererSink::PAUSED; |
} |
@@ -92,13 +95,7 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
mock_source_->DeliverVideoFrame(frame); |
base::RunLoop().RunUntilIdle(); |
- // |blink_track_| uses IO thread to send frames to sinks. Make sure that |
- // tasks on IO thread are completed before moving on. |
- base::RunLoop run_loop; |
- child_process_->io_task_runner()->PostTaskAndReply( |
- FROM_HERE, base::Bind([] {}), run_loop.QuitClosure()); |
- run_loop.Run(); |
- base::RunLoop().RunUntilIdle(); |
+ RunIOUntilIdle(); |
} |
void SetGpuMemoryBufferVideoForTesting( |
@@ -118,6 +115,16 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
blink::WebMediaStreamTrack blink_track_; |
private: |
+ void RunIOUntilIdle() const { |
+ // |blink_track_| uses IO thread to send frames to sinks. Make sure that |
+ // tasks on IO thread are completed before moving on. |
+ base::RunLoop run_loop; |
+ child_process_->io_task_runner()->PostTaskAndReply( |
+ FROM_HERE, base::Bind([] {}), run_loop.QuitClosure()); |
+ run_loop.Run(); |
+ base::RunLoop().RunUntilIdle(); |
+ } |
+ |
blink::WebMediaStreamSource blink_source_; |
MockMediaStreamVideoSource* mock_source_; |
@@ -129,19 +136,15 @@ TEST_F(MediaStreamVideoRendererSinkTest, StartStop) { |
EXPECT_TRUE(IsInStoppedState()); |
media_stream_video_renderer_sink_->Start(); |
- base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(IsInStartedState()); |
media_stream_video_renderer_sink_->Pause(); |
- base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(IsInPausedState()); |
media_stream_video_renderer_sink_->Resume(); |
- base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(IsInStartedState()); |
media_stream_video_renderer_sink_->Stop(); |
- base::RunLoop().RunUntilIdle(); |
EXPECT_TRUE(IsInStoppedState()); |
} |
@@ -199,7 +202,7 @@ class MediaStreamVideoRendererSinkTransparencyTest |
base::Bind(&MediaStreamVideoRendererSinkTransparencyTest:: |
VerifyTransparentFrame, |
base::Unretained(this)), |
- message_loop_.task_runner(), message_loop_.task_runner(), |
+ child_process_->io_task_runner(), message_loop_.task_runner(), |
message_loop_.task_runner(), nullptr /* gpu_factories */); |
} |