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

Side by Side Diff: chromecast/media/cma/backend/multizone_backend_unittest.cc

Issue 1875623002: Convert //chromecast from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 <stdint.h> 5 #include <stdint.h>
6 #include <stdlib.h> 6 #include <stdlib.h>
7 7
8 #include <limits> 8 #include <limits>
9 #include <memory>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/bind.h" 12 #include "base/bind.h"
12 #include "base/command_line.h" 13 #include "base/command_line.h"
13 #include "base/logging.h" 14 #include "base/logging.h"
14 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
15 #include "base/memory/scoped_ptr.h"
16 #include "base/message_loop/message_loop.h" 16 #include "base/message_loop/message_loop.h"
17 #include "base/thread_task_runner_handle.h" 17 #include "base/thread_task_runner_handle.h"
18 #include "base/threading/thread_checker.h" 18 #include "base/threading/thread_checker.h"
19 #include "base/time/time.h" 19 #include "base/time/time.h"
20 #include "chromecast/base/task_runner_impl.h" 20 #include "chromecast/base/task_runner_impl.h"
21 #include "chromecast/media/cma/base/decoder_buffer_adapter.h" 21 #include "chromecast/media/cma/base/decoder_buffer_adapter.h"
22 #include "chromecast/media/cma/base/decoder_config_adapter.h" 22 #include "chromecast/media/cma/base/decoder_config_adapter.h"
23 #include "chromecast/public/cast_media_shlib.h" 23 #include "chromecast/public/cast_media_shlib.h"
24 #include "chromecast/public/media/cast_decoder_buffer.h" 24 #include "chromecast/public/media/cast_decoder_buffer.h"
25 #include "chromecast/public/media/decoder_config.h" 25 #include "chromecast/public/media/decoder_config.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 ASSERT_TRUE(false); 78 ASSERT_TRUE(false);
79 } 79 }
80 void OnVideoResolutionChanged(const Size& size) override { 80 void OnVideoResolutionChanged(const Size& size) override {
81 DCHECK(thread_checker_.CalledOnValidThread()); 81 DCHECK(thread_checker_.CalledOnValidThread());
82 } 82 }
83 83
84 const AudioConfig config_; 84 const AudioConfig config_;
85 const bool effects_only_; 85 const bool effects_only_;
86 const base::Closure eos_cb_; 86 const base::Closure eos_cb_;
87 bool feeding_completed_; 87 bool feeding_completed_;
88 scoped_ptr<TaskRunnerImpl> task_runner_; 88 std::unique_ptr<TaskRunnerImpl> task_runner_;
89 scoped_ptr<MediaPipelineBackend> backend_; 89 std::unique_ptr<MediaPipelineBackend> backend_;
90 MediaPipelineBackend::AudioDecoder* decoder_; 90 MediaPipelineBackend::AudioDecoder* decoder_;
91 int64_t push_limit_us_; 91 int64_t push_limit_us_;
92 int64_t last_push_length_us_; 92 int64_t last_push_length_us_;
93 int64_t pushed_us_; 93 int64_t pushed_us_;
94 int64_t next_push_playback_timestamp_; 94 int64_t next_push_playback_timestamp_;
95 scoped_refptr<DecoderBufferBase> pending_buffer_; 95 scoped_refptr<DecoderBufferBase> pending_buffer_;
96 base::ThreadChecker thread_checker_; 96 base::ThreadChecker thread_checker_;
97 97
98 DISALLOW_COPY_AND_ASSIGN(BufferFeeder); 98 DISALLOW_COPY_AND_ASSIGN(BufferFeeder);
99 }; 99 };
(...skipping 17 matching lines...) Expand all
117 CastMediaShlib::Finalize(); 117 CastMediaShlib::Finalize();
118 } 118 }
119 119
120 void AddEffectsStreams(); 120 void AddEffectsStreams();
121 121
122 void Initialize(int sample_rate); 122 void Initialize(int sample_rate);
123 void Start(); 123 void Start();
124 void OnEndOfStream(); 124 void OnEndOfStream();
125 125
126 private: 126 private:
127 std::vector<scoped_ptr<BufferFeeder>> effects_feeders_; 127 std::vector<std::unique_ptr<BufferFeeder>> effects_feeders_;
128 scoped_ptr<BufferFeeder> audio_feeder_; 128 std::unique_ptr<BufferFeeder> audio_feeder_;
129 129
130 DISALLOW_COPY_AND_ASSIGN(MultizoneBackendTest); 130 DISALLOW_COPY_AND_ASSIGN(MultizoneBackendTest);
131 }; 131 };
132 132
133 namespace { 133 namespace {
134 134
135 BufferFeeder::BufferFeeder(const AudioConfig& config, 135 BufferFeeder::BufferFeeder(const AudioConfig& config,
136 bool effects_only, 136 bool effects_only,
137 const base::Closure& eos_cb) 137 const base::Closure& eos_cb)
138 : config_(config), 138 : config_(config),
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 264
265 void MultizoneBackendTest::AddEffectsStreams() { 265 void MultizoneBackendTest::AddEffectsStreams() {
266 AudioConfig effects_config; 266 AudioConfig effects_config;
267 effects_config.codec = kCodecPCM; 267 effects_config.codec = kCodecPCM;
268 effects_config.sample_format = kSampleFormatS16; 268 effects_config.sample_format = kSampleFormatS16;
269 effects_config.channel_number = 2; 269 effects_config.channel_number = 2;
270 effects_config.bytes_per_channel = 2; 270 effects_config.bytes_per_channel = 2;
271 effects_config.samples_per_second = 48000; 271 effects_config.samples_per_second = 48000;
272 272
273 for (int i = 0; i < kNumEffectsStreams; ++i) { 273 for (int i = 0; i < kNumEffectsStreams; ++i) {
274 scoped_ptr<BufferFeeder> feeder(new BufferFeeder( 274 std::unique_ptr<BufferFeeder> feeder(new BufferFeeder(
275 effects_config, true /* effects_only */, base::Bind(&IgnoreEos))); 275 effects_config, true /* effects_only */, base::Bind(&IgnoreEos)));
276 feeder->Initialize(); 276 feeder->Initialize();
277 effects_feeders_.push_back(std::move(feeder)); 277 effects_feeders_.push_back(std::move(feeder));
278 } 278 }
279 } 279 }
280 280
281 void MultizoneBackendTest::Start() { 281 void MultizoneBackendTest::Start() {
282 for (auto& feeder : effects_feeders_) 282 for (auto& feeder : effects_feeders_)
283 feeder->Start(); 283 feeder->Start();
284 CHECK(audio_feeder_); 284 CHECK(audio_feeder_);
285 audio_feeder_->Start(); 285 audio_feeder_->Start();
286 } 286 }
287 287
288 void MultizoneBackendTest::OnEndOfStream() { 288 void MultizoneBackendTest::OnEndOfStream() {
289 audio_feeder_->Stop(); 289 audio_feeder_->Stop();
290 for (auto& feeder : effects_feeders_) 290 for (auto& feeder : effects_feeders_)
291 feeder->Stop(); 291 feeder->Stop();
292 292
293 base::MessageLoop::current()->QuitWhenIdle(); 293 base::MessageLoop::current()->QuitWhenIdle();
294 } 294 }
295 295
296 TEST_P(MultizoneBackendTest, RenderingDelay) { 296 TEST_P(MultizoneBackendTest, RenderingDelay) {
297 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 297 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
298 298
299 Initialize(GetParam()); 299 Initialize(GetParam());
300 AddEffectsStreams(); 300 AddEffectsStreams();
301 Start(); 301 Start();
302 message_loop->Run(); 302 message_loop->Run();
303 } 303 }
304 304
305 INSTANTIATE_TEST_CASE_P(Required, 305 INSTANTIATE_TEST_CASE_P(Required,
306 MultizoneBackendTest, 306 MultizoneBackendTest,
307 ::testing::Values(8000, 307 ::testing::Values(8000,
308 11025, 308 11025,
309 12000, 309 12000,
310 16000, 310 16000,
311 22050, 311 22050,
312 24000, 312 24000,
313 32000, 313 32000,
314 44100, 314 44100,
315 48000)); 315 48000));
316 316
317 INSTANTIATE_TEST_CASE_P(Optional, 317 INSTANTIATE_TEST_CASE_P(Optional,
318 MultizoneBackendTest, 318 MultizoneBackendTest,
319 ::testing::Values(64000, 88200, 96000)); 319 ::testing::Values(64000, 88200, 96000));
320 320
321 } // namespace media 321 } // namespace media
322 } // namespace chromecast 322 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698