Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Unified Diff: content/renderer/media/media_stream_video_renderer_sink_unittest.cc

Issue 2472273002: Move passing of WebRTC rendering frames from main thread to compositor thread (Closed)
Patch Set: Make |render_frame_suspended_| android specific. Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 79c91c3c69fe53a3facbe15213c723d048457adc..7010fa49cc63f1ce9ccf7a3e3df40dad97d89e00 100644
--- a/content/renderer/media/media_stream_video_renderer_sink_unittest.cc
+++ b/content/renderer/media/media_stream_video_renderer_sink_unittest.cc
@@ -48,8 +48,8 @@ class MediaStreamVideoRendererSinkTest : public testing::Test {
base::Unretained(this)),
base::Bind(&MediaStreamVideoRendererSinkTest::RepaintCallback,
base::Unretained(this)),
- message_loop_.task_runner(), message_loop_.task_runner().get(),
- nullptr /* gpu_factories */);
+ message_loop_.task_runner(), message_loop_.task_runner(),
+ message_loop_.task_runner(), nullptr /* gpu_factories */);
EXPECT_TRUE(IsInStoppedState());
}
@@ -67,21 +67,27 @@ class MediaStreamVideoRendererSinkTest : public testing::Test {
MOCK_METHOD0(ErrorCallback, void(void));
bool IsInStartedState() const {
- return media_stream_video_renderer_sink_->state_ ==
+ return media_stream_video_renderer_sink_->GetStateForTesting() ==
MediaStreamVideoRendererSink::STARTED;
}
bool IsInStoppedState() const {
- return media_stream_video_renderer_sink_->state_ ==
+ return media_stream_video_renderer_sink_->GetStateForTesting() ==
MediaStreamVideoRendererSink::STOPPED;
}
bool IsInPausedState() const {
- return media_stream_video_renderer_sink_->state_ ==
+ return media_stream_video_renderer_sink_->GetStateForTesting() ==
MediaStreamVideoRendererSink::PAUSED;
}
void OnVideoFrame(const scoped_refptr<media::VideoFrame>& frame) {
- media_stream_video_renderer_sink_->OnVideoFrame(frame,
- base::TimeTicks::Now());
+ media_stream_video_renderer_sink_->OnVideoFrameForTesting(
+ frame, base::TimeTicks::Now());
+ }
+
+ void SetGpuMemoryBufferVideoForTesting(
+ media::GpuMemoryBufferVideoFramePool* gpu_memory_buffer_pool) {
+ media_stream_video_renderer_sink_->SetGpuMemoryBufferVideoForTesting(
+ gpu_memory_buffer_pool);
}
scoped_refptr<MediaStreamVideoRendererSink> media_stream_video_renderer_sink_;
@@ -91,6 +97,8 @@ class MediaStreamVideoRendererSinkTest : public testing::Test {
base::MessageLoopForUI message_loop_;
const ChildProcess child_process_;
+ base::RunLoop run_loop_;
+
blink::WebVector<blink::WebMediaStreamTrack> video_tracks_;
MockMediaStreamRegistry registry_;
@@ -103,15 +111,19 @@ TEST_F(MediaStreamVideoRendererSinkTest, StartStop) {
EXPECT_TRUE(IsInStoppedState());
media_stream_video_renderer_sink_->Start();
+ run_loop_.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());
}
@@ -133,8 +145,9 @@ class MediaStreamVideoRendererSinkAsyncAddFrameReadyTest
: public MediaStreamVideoRendererSinkTest {
public:
MediaStreamVideoRendererSinkAsyncAddFrameReadyTest() {
- media_stream_video_renderer_sink_->SetGpuMemoryBufferVideoForTesting(
+ SetGpuMemoryBufferVideoForTesting(
new media::MockGpuMemoryBufferVideoFramePool(&frame_ready_cbs_));
+ base::RunLoop().RunUntilIdle();
}
protected:
@@ -170,8 +183,8 @@ class MediaStreamVideoRendererSinkTransparencyTest
base::Bind(&MediaStreamVideoRendererSinkTransparencyTest::
VerifyTransparentFrame,
base::Unretained(this)),
- message_loop_.task_runner(), message_loop_.task_runner().get(),
- nullptr /* gpu_factories */);
+ message_loop_.task_runner(), message_loop_.task_runner(),
+ message_loop_.task_runner(), nullptr /* gpu_factories */);
}
void VerifyTransparentFrame(const scoped_refptr<media::VideoFrame>& frame) {

Powered by Google App Engine
This is Rietveld 408576698