| 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..77edaf85ce1fbcded1e82f9621976cb40f78f880 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,40 @@ 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 kSize(10, 10);
|
| + const base::TimeDelta kTimestamp = base::TimeDelta();
|
| + const scoped_refptr<media::VideoFrame> video_frame =
|
| + media::VideoFrame::CreateFrame(media::PIXEL_FORMAT_YV12A, kSize,
|
| + gfx::Rect(kSize), kSize, kTimestamp);
|
| + OnVideoFrame(video_frame);
|
| + message_loop_.RunUntilIdle();
|
| +
|
| + media_stream_video_renderer_sink_->Stop();
|
| +}
|
| +
|
| } // namespace content
|
|
|