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

Side by Side Diff: content/renderer/media/media_stream_video_renderer_sink_unittest.cc

Issue 2529263004: Move passing of WebRTC rendering frames to IO thread (Closed)
Patch Set: Created 4 years 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 unified diff | Download patch
OLDNEW
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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 message_loop_.task_runner(), message_loop_.task_runner(),
59 message_loop_.task_runner(), nullptr /* gpu_factories */); 59 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();
69 blink::WebHeap::collectAllGarbageForTesting(); 69 blink::WebHeap::collectAllGarbageForTesting();
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 message_loop_.task_runner(), message_loop_.task_runner(),
203 message_loop_.task_runner(), nullptr /* gpu_factories */); 203 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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698