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

Side by Side Diff: media/cast/sender/external_video_encoder_unittest.cc

Issue 555563003: Cast: Flow hw encoder initialization error to extensions API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed compile Created 6 years, 3 months 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
« no previous file with comments | « media/cast/sender/external_video_encoder.cc ('k') | media/cast/sender/video_sender.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <vector> 5 #include <vector>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "media/base/video_frame.h" 10 #include "media/base/video_frame.h"
11 #include "media/cast/cast_defines.h" 11 #include "media/cast/cast_defines.h"
12 #include "media/cast/cast_environment.h" 12 #include "media/cast/cast_environment.h"
13 #include "media/cast/sender/external_video_encoder.h" 13 #include "media/cast/sender/external_video_encoder.h"
14 #include "media/cast/test/fake_single_thread_task_runner.h" 14 #include "media/cast/test/fake_single_thread_task_runner.h"
15 #include "media/cast/test/fake_video_encode_accelerator.h" 15 #include "media/cast/test/fake_video_encode_accelerator.h"
16 #include "media/cast/test/utility/video_utility.h" 16 #include "media/cast/test/utility/video_utility.h"
17 #include "testing/gmock/include/gmock/gmock.h" 17 #include "testing/gmock/include/gmock/gmock.h"
18 18
19 namespace media { 19 namespace media {
20 namespace cast { 20 namespace cast {
21 21
22 using testing::_; 22 using testing::_;
23 23
24 namespace { 24 namespace {
25 25
26 void IgnoreInitializationStatus(CastInitializationStatus status) {}
27
26 class VEAFactory { 28 class VEAFactory {
27 public: 29 public:
28 VEAFactory(const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, 30 VEAFactory(const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
29 scoped_ptr<VideoEncodeAccelerator> vea) 31 scoped_ptr<VideoEncodeAccelerator> vea)
30 : task_runner_(task_runner), vea_(vea.Pass()) {} 32 : task_runner_(task_runner), vea_(vea.Pass()) {}
31 33
32 void CreateVideoEncodeAccelerator( 34 void CreateVideoEncodeAccelerator(
33 const ReceiveVideoEncodeAcceleratorCallback& callback) { 35 const ReceiveVideoEncodeAcceleratorCallback& callback) {
34 create_cb_ = callback; 36 create_cb_ = callback;
35 } 37 }
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 task_runner_, 129 task_runner_,
128 task_runner_); 130 task_runner_);
129 131
130 fake_vea_ = new test::FakeVideoEncodeAccelerator(task_runner_, 132 fake_vea_ = new test::FakeVideoEncodeAccelerator(task_runner_,
131 &stored_bitrates_); 133 &stored_bitrates_);
132 scoped_ptr<VideoEncodeAccelerator> fake_vea(fake_vea_); 134 scoped_ptr<VideoEncodeAccelerator> fake_vea(fake_vea_);
133 VEAFactory vea_factory(task_runner_, fake_vea.Pass()); 135 VEAFactory vea_factory(task_runner_, fake_vea.Pass());
134 video_encoder_.reset(new ExternalVideoEncoder( 136 video_encoder_.reset(new ExternalVideoEncoder(
135 cast_environment_, 137 cast_environment_,
136 video_config_, 138 video_config_,
139 base::Bind(&IgnoreInitializationStatus),
137 base::Bind(&VEAFactory::CreateVideoEncodeAccelerator, 140 base::Bind(&VEAFactory::CreateVideoEncodeAccelerator,
138 base::Unretained(&vea_factory)), 141 base::Unretained(&vea_factory)),
139 base::Bind(&CreateSharedMemory))); 142 base::Bind(&CreateSharedMemory)));
140 vea_factory.FinishCreatingVideoEncodeAccelerator(); 143 vea_factory.FinishCreatingVideoEncodeAccelerator();
141 } 144 }
142 145
143 virtual ~ExternalVideoEncoderTest() {} 146 virtual ~ExternalVideoEncoderTest() {}
144 147
145 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment. 148 base::SimpleTestTickClock* testing_clock_; // Owned by CastEnvironment.
146 test::FakeVideoEncodeAccelerator* fake_vea_; // Owned by video_encoder_. 149 test::FakeVideoEncodeAccelerator* fake_vea_; // Owned by video_encoder_.
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 task_runner)); 225 task_runner));
223 226
224 std::vector<uint32> stored_bitrates; 227 std::vector<uint32> stored_bitrates;
225 scoped_ptr<VideoEncodeAccelerator> fake_vea( 228 scoped_ptr<VideoEncodeAccelerator> fake_vea(
226 new test::FakeVideoEncodeAccelerator(task_runner, &stored_bitrates)); 229 new test::FakeVideoEncodeAccelerator(task_runner, &stored_bitrates));
227 VEAFactory vea_factory(task_runner, fake_vea.Pass()); 230 VEAFactory vea_factory(task_runner, fake_vea.Pass());
228 231
229 scoped_ptr<ExternalVideoEncoder> video_encoder(new ExternalVideoEncoder( 232 scoped_ptr<ExternalVideoEncoder> video_encoder(new ExternalVideoEncoder(
230 cast_environment, 233 cast_environment,
231 video_config, 234 video_config,
235 base::Bind(&IgnoreInitializationStatus),
232 base::Bind(&VEAFactory::CreateVideoEncodeAccelerator, 236 base::Bind(&VEAFactory::CreateVideoEncodeAccelerator,
233 base::Unretained(&vea_factory)), 237 base::Unretained(&vea_factory)),
234 base::Bind(&CreateSharedMemory))); 238 base::Bind(&CreateSharedMemory)));
235 239
236 video_encoder.reset(); 240 video_encoder.reset();
237 vea_factory.FinishCreatingVideoEncodeAccelerator(); 241 vea_factory.FinishCreatingVideoEncodeAccelerator();
238 task_runner->RunTasks(); 242 task_runner->RunTasks();
239 } 243 }
240 244
241 } // namespace cast 245 } // namespace cast
242 } // namespace media 246 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/sender/external_video_encoder.cc ('k') | media/cast/sender/video_sender.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698