| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/macros.h" | 6 #include "base/macros.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 9 #include "content/child/child_process.h" | 9 #include "content/child/child_process.h" |
| 10 #include "content/renderer/media/media_stream_video_renderer_sink.h" | 10 #include "content/renderer/media/media_stream_video_renderer_sink.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 true); | 48 true); |
| 49 mock_source_->StartMockedSource(); | 49 mock_source_->StartMockedSource(); |
| 50 base::RunLoop().RunUntilIdle(); | 50 base::RunLoop().RunUntilIdle(); |
| 51 | 51 |
| 52 media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( | 52 media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( |
| 53 blink_track_, | 53 blink_track_, |
| 54 base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, | 54 base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, |
| 55 base::Unretained(this)), | 55 base::Unretained(this)), |
| 56 base::Bind(&MediaStreamVideoRendererSinkTest::RepaintCallback, | 56 base::Bind(&MediaStreamVideoRendererSinkTest::RepaintCallback, |
| 57 base::Unretained(this)), | 57 base::Unretained(this)), |
| 58 message_loop_.task_runner(), message_loop_.task_runner(), | 58 child_process_->io_task_runner(), message_loop_.task_runner(), |
| 59 message_loop_.task_runner(), nullptr /* gpu_factories */); | 59 message_loop_.task_runner(), nullptr /* gpu_factories */); |
| 60 base::RunLoop().RunUntilIdle(); | 60 base::RunLoop().RunUntilIdle(); |
| 61 | 61 |
| 62 EXPECT_TRUE(IsInStoppedState()); | 62 EXPECT_TRUE(IsInStoppedState()); |
| 63 } | 63 } |
| 64 | 64 |
| 65 void TearDown() override { | 65 void TearDown() override { |
| 66 media_stream_video_renderer_sink_ = nullptr; | 66 media_stream_video_renderer_sink_ = nullptr; |
| 67 blink_source_.reset(); | 67 blink_source_.reset(); |
| 68 blink_track_.reset(); | 68 blink_track_.reset(); |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 : public MediaStreamVideoRendererSinkTest { | 192 : public MediaStreamVideoRendererSinkTest { |
| 193 public: | 193 public: |
| 194 MediaStreamVideoRendererSinkTransparencyTest() { | 194 MediaStreamVideoRendererSinkTransparencyTest() { |
| 195 media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( | 195 media_stream_video_renderer_sink_ = new MediaStreamVideoRendererSink( |
| 196 blink_track_, | 196 blink_track_, |
| 197 base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, | 197 base::Bind(&MediaStreamVideoRendererSinkTest::ErrorCallback, |
| 198 base::Unretained(this)), | 198 base::Unretained(this)), |
| 199 base::Bind(&MediaStreamVideoRendererSinkTransparencyTest:: | 199 base::Bind(&MediaStreamVideoRendererSinkTransparencyTest:: |
| 200 VerifyTransparentFrame, | 200 VerifyTransparentFrame, |
| 201 base::Unretained(this)), | 201 base::Unretained(this)), |
| 202 message_loop_.task_runner(), message_loop_.task_runner(), | 202 child_process_->io_task_runner(), message_loop_.task_runner(), |
| 203 message_loop_.task_runner(), nullptr /* gpu_factories */); | 203 message_loop_.task_runner(), nullptr /* gpu_factories */); |
| 204 } | 204 } |
| 205 | 205 |
| 206 void VerifyTransparentFrame(scoped_refptr<media::VideoFrame> frame) { | 206 void VerifyTransparentFrame(scoped_refptr<media::VideoFrame> frame) { |
| 207 EXPECT_EQ(media::PIXEL_FORMAT_YV12A, frame->format()); | 207 EXPECT_EQ(media::PIXEL_FORMAT_YV12A, frame->format()); |
| 208 } | 208 } |
| 209 }; | 209 }; |
| 210 | 210 |
| 211 TEST_F(MediaStreamVideoRendererSinkTransparencyTest, | 211 TEST_F(MediaStreamVideoRendererSinkTransparencyTest, |
| 212 SendTransparentFrame) { | 212 SendTransparentFrame) { |
| 213 media_stream_video_renderer_sink_->Start(); | 213 media_stream_video_renderer_sink_->Start(); |
| 214 | 214 |
| 215 InSequence s; | 215 InSequence s; |
| 216 const gfx::Size kSize(10, 10); | 216 const gfx::Size kSize(10, 10); |
| 217 const base::TimeDelta kTimestamp = base::TimeDelta(); | 217 const base::TimeDelta kTimestamp = base::TimeDelta(); |
| 218 const scoped_refptr<media::VideoFrame> video_frame = | 218 const scoped_refptr<media::VideoFrame> video_frame = |
| 219 media::VideoFrame::CreateFrame(media::PIXEL_FORMAT_YV12A, kSize, | 219 media::VideoFrame::CreateFrame(media::PIXEL_FORMAT_YV12A, kSize, |
| 220 gfx::Rect(kSize), kSize, kTimestamp); | 220 gfx::Rect(kSize), kSize, kTimestamp); |
| 221 OnVideoFrame(video_frame); | 221 OnVideoFrame(video_frame); |
| 222 base::RunLoop().RunUntilIdle(); | 222 base::RunLoop().RunUntilIdle(); |
| 223 | 223 |
| 224 media_stream_video_renderer_sink_->Stop(); | 224 media_stream_video_renderer_sink_->Stop(); |
| 225 } | 225 } |
| 226 | 226 |
| 227 } // namespace content | 227 } // namespace content |
| OLD | NEW |