Chromium Code Reviews| 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 32b23e39ab5bfc033eb8746a236fa552e2f7a688..69b04db413720aa7f6e8bbc6a78d0c5f4e95b2ff 100644 |
| --- a/content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
| +++ b/content/renderer/media/media_stream_video_renderer_sink_unittest.cc |
| @@ -39,12 +39,11 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
| registry_.AddVideoTrack(kTestVideoTrackId); |
| // Extract the Blink Video Track for the MSVRSink. |
| - blink::WebVector<blink::WebMediaStreamTrack> video_tracks; |
| - registry_.test_stream().videoTracks(video_tracks); |
| - EXPECT_EQ(1u, video_tracks.size()); |
| + registry_.test_stream().videoTracks(video_tracks_); |
| + EXPECT_EQ(1u, video_tracks_.size()); |
| media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( |
| - video_tracks[0], |
| + video_tracks_[0], |
| base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, |
| base::Unretained(this)), |
| base::Bind(&MediaStreamVideoRendererSinkTest::RepaintCallback, |
| @@ -91,6 +90,8 @@ class MediaStreamVideoRendererSinkTest : public testing::Test { |
| // and Sources in |registry_| into believing they are on the right threads. |
| base::MessageLoopForUI message_loop_; |
| const ChildProcess child_process_; |
| + |
| + blink::WebVector<blink::WebMediaStreamTrack> video_tracks_; |
| MockMediaStreamRegistry registry_; |
| private: |
| @@ -158,4 +159,41 @@ TEST_F(MediaStreamVideoRendererSinkAsyncAddFrameReadyTest, |
| media_stream_video_renderer_sink_->Stop(); |
| } |
| +class MediaStreamVideoRendererSinkTransparencyTest |
| + : public MediaStreamVideoRendererSinkTest { |
| + public: |
| + MediaStreamVideoRendererSinkTransparencyTest() { |
| + media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( |
| + video_tracks_[0], |
| + base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, |
| + base::Unretained(this)), |
| + base::Bind(&MediaStreamVideoRendererSinkTransparencyTest:: |
| + VerifyTransparentFrame, |
| + base::Unretained(this)), |
| + message_loop_.task_runner(), message_loop_.task_runner().get(), |
| + nullptr /* gpu_factories */); |
| + } |
| + |
| + void VerifyTransparentFrame(const scoped_refptr<media::VideoFrame>& frame) { |
| + EXPECT_EQ(media::PIXEL_FORMAT_YV12A, frame->format()); |
| + } |
| +}; |
| + |
| +TEST_F(MediaStreamVideoRendererSinkTransparencyTest, |
| + SendTransparentFrame) { |
| + media_stream_video_renderer_sink_->Start(); |
| + |
| + InSequence s; |
| + const gfx::Size size(10, 10); |
|
mcasas
2016/02/29 23:48:01
mini nit: s/size/kSize/ ?
emircan
2016/03/01 20:07:55
Done.
|
| + const base::TimeDelta kTimestamp = base::TimeDelta(); |
| + const scoped_refptr<media::VideoFrame> video_frame = |
| + media::VideoFrame::CreateFrame(media::PIXEL_FORMAT_YV12A, size, |
| + gfx::Rect(size), size, kTimestamp); |
| + OnVideoFrame(video_frame); |
| + message_loop_.RunUntilIdle(); |
| + |
| + media_stream_video_renderer_sink_->Stop(); |
| + |
|
mcasas
2016/02/29 23:48:00
nit: remove l.196.
emircan
2016/03/01 20:07:55
Done.
|
| +} |
| + |
| } // namespace content |