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

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

Issue 1349783006: Cleanup: Pass std::string as const reference if possible (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Revert third_party changes Created 5 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
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/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 void SetUp() override { 76 void SetUp() override {
77 CastMediaShlib::Initialize( 77 CastMediaShlib::Initialize(
78 base::CommandLine::ForCurrentProcess()->argv()); 78 base::CommandLine::ForCurrentProcess()->argv());
79 } 79 }
80 80
81 void TearDown() override { 81 void TearDown() override {
82 CastMediaShlib::Finalize(); 82 CastMediaShlib::Finalize();
83 } 83 }
84 84
85 void ConfigureForFile(std::string filename); 85 void ConfigureForFile(const std::string& filename);
86 void ConfigureForAudioOnly(std::string filename); 86 void ConfigureForAudioOnly(const std::string& filename);
87 void ConfigureForVideoOnly(std::string filename, bool raw_h264); 87 void ConfigureForVideoOnly(const std::string& filename, bool raw_h264);
88 88
89 // Pattern loops, waiting >= pattern[i].delay against media clock between 89 // Pattern loops, waiting >= pattern[i].delay against media clock between
90 // pauses, then pausing for >= pattern[i].length against MessageLoop 90 // pauses, then pausing for >= pattern[i].length against MessageLoop
91 // A pause with delay <0 signals to stop sequence and do not loop 91 // A pause with delay <0 signals to stop sequence and do not loop
92 void SetPausePattern(const std::vector<PauseInfo> pattern); 92 void SetPausePattern(const std::vector<PauseInfo> pattern);
93 93
94 // Adds a pause to the end of pause pattern 94 // Adds a pause to the end of pause pattern
95 void AddPause(base::TimeDelta delay, base::TimeDelta length); 95 void AddPause(base::TimeDelta delay, base::TimeDelta length);
96 96
97 void Start(); 97 void Start();
98 98
99 private: 99 private:
100 void Initialize(); 100 void Initialize();
101 101
102 void LoadAudioStream(std::string filename); 102 void LoadAudioStream(const std::string& filename);
103 void LoadVideoStream(std::string filename, bool raw_h264); 103 void LoadVideoStream(const std::string& filename, bool raw_h264);
104 104
105 void MonitorLoop(); 105 void MonitorLoop();
106 106
107 void OnPauseCompleted(); 107 void OnPauseCompleted();
108 108
109 void OnEos(MediaComponentDeviceFeederForTest* device_feeder); 109 void OnEos(MediaComponentDeviceFeederForTest* device_feeder);
110 110
111 scoped_ptr<TaskRunnerImpl> task_runner_; 111 scoped_ptr<TaskRunnerImpl> task_runner_;
112 scoped_ptr<MediaPipelineBackend> backend_; 112 scoped_ptr<MediaPipelineBackend> backend_;
113 MediaClockDevice* media_clock_device_; 113 MediaClockDevice* media_clock_device_;
(...skipping 22 matching lines...) Expand all
136 void AudioVideoPipelineDeviceTest::AddPause(base::TimeDelta delay, 136 void AudioVideoPipelineDeviceTest::AddPause(base::TimeDelta delay,
137 base::TimeDelta length) { 137 base::TimeDelta length) {
138 pause_pattern_.push_back(PauseInfo(delay, length)); 138 pause_pattern_.push_back(PauseInfo(delay, length));
139 } 139 }
140 140
141 void AudioVideoPipelineDeviceTest::SetPausePattern( 141 void AudioVideoPipelineDeviceTest::SetPausePattern(
142 const std::vector<PauseInfo> pattern) { 142 const std::vector<PauseInfo> pattern) {
143 pause_pattern_ = pattern; 143 pause_pattern_ = pattern;
144 } 144 }
145 145
146 void AudioVideoPipelineDeviceTest::ConfigureForAudioOnly(std::string filename) { 146 void AudioVideoPipelineDeviceTest::ConfigureForAudioOnly(
147 const std::string& filename) {
147 Initialize(); 148 Initialize();
148 LoadAudioStream(filename); 149 LoadAudioStream(filename);
149 } 150 }
150 151
151 void AudioVideoPipelineDeviceTest::ConfigureForVideoOnly(std::string filename, 152 void AudioVideoPipelineDeviceTest::ConfigureForVideoOnly(
152 bool raw_h264) { 153 const std::string& filename,
154 bool raw_h264) {
153 Initialize(); 155 Initialize();
154 LoadVideoStream(filename, raw_h264); 156 LoadVideoStream(filename, raw_h264);
155 } 157 }
156 158
157 void AudioVideoPipelineDeviceTest::ConfigureForFile(std::string filename) { 159 void AudioVideoPipelineDeviceTest::ConfigureForFile(
160 const std::string& filename) {
158 Initialize(); 161 Initialize();
159 LoadVideoStream(filename, false /* raw_h264 */); 162 LoadVideoStream(filename, false /* raw_h264 */);
160 LoadAudioStream(filename); 163 LoadAudioStream(filename);
161 } 164 }
162 165
163 void AudioVideoPipelineDeviceTest::LoadAudioStream(std::string filename) { 166 void AudioVideoPipelineDeviceTest::LoadAudioStream(
167 const std::string& filename) {
164 base::FilePath file_path = GetTestDataFilePath(filename); 168 base::FilePath file_path = GetTestDataFilePath(filename);
165 DemuxResult demux_result = FFmpegDemuxForTest(file_path, true /* audio */); 169 DemuxResult demux_result = FFmpegDemuxForTest(file_path, true /* audio */);
166 BufferList frames = demux_result.frames; 170 BufferList frames = demux_result.frames;
167 171
168 AudioPipelineDevice* audio_pipeline_device = backend_->GetAudio(); 172 AudioPipelineDevice* audio_pipeline_device = backend_->GetAudio();
169 173
170 bool success = audio_pipeline_device->SetConfig( 174 bool success = audio_pipeline_device->SetConfig(
171 DecoderConfigAdapter::ToCastAudioConfig(kPrimary, 175 DecoderConfigAdapter::ToCastAudioConfig(kPrimary,
172 demux_result.audio_config)); 176 demux_result.audio_config));
173 ASSERT_TRUE(success); 177 ASSERT_TRUE(success);
174 178
175 VLOG(2) << "Got " << frames.size() << " audio input frames"; 179 VLOG(2) << "Got " << frames.size() << " audio input frames";
176 180
177 frames.push_back( 181 frames.push_back(
178 scoped_refptr<DecoderBufferBase>( 182 scoped_refptr<DecoderBufferBase>(
179 new DecoderBufferAdapter(::media::DecoderBuffer::CreateEOSBuffer()))); 183 new DecoderBufferAdapter(::media::DecoderBuffer::CreateEOSBuffer())));
180 184
181 MediaComponentDeviceFeederForTest* device_feeder = 185 MediaComponentDeviceFeederForTest* device_feeder =
182 new MediaComponentDeviceFeederForTest(audio_pipeline_device, frames); 186 new MediaComponentDeviceFeederForTest(audio_pipeline_device, frames);
183 device_feeder->Initialize(base::Bind(&AudioVideoPipelineDeviceTest::OnEos, 187 device_feeder->Initialize(base::Bind(&AudioVideoPipelineDeviceTest::OnEos,
184 base::Unretained(this), 188 base::Unretained(this),
185 device_feeder)); 189 device_feeder));
186 component_device_feeders_.push_back(device_feeder); 190 component_device_feeders_.push_back(device_feeder);
187 } 191 }
188 192
189 void AudioVideoPipelineDeviceTest::LoadVideoStream(std::string filename, 193 void AudioVideoPipelineDeviceTest::LoadVideoStream(const std::string& filename,
190 bool raw_h264) { 194 bool raw_h264) {
191 BufferList frames; 195 BufferList frames;
192 VideoConfig video_config; 196 VideoConfig video_config;
193 197
194 if (raw_h264) { 198 if (raw_h264) {
195 base::FilePath file_path = GetTestDataFilePath(filename); 199 base::FilePath file_path = GetTestDataFilePath(filename);
196 base::MemoryMappedFile video_stream; 200 base::MemoryMappedFile video_stream;
197 ASSERT_TRUE(video_stream.Initialize(file_path)) 201 ASSERT_TRUE(video_stream.Initialize(file_path))
198 << "Couldn't open stream file: " << file_path.MaybeAsASCII(); 202 << "Couldn't open stream file: " << file_path.MaybeAsASCII();
199 frames = H264SegmenterForTest(video_stream.data(), video_stream.length()); 203 frames = H264SegmenterForTest(video_stream.data(), video_stream.length());
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) { 387 TEST_F(AudioVideoPipelineDeviceTest, WebmPlayback) {
384 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 388 scoped_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
385 389
386 ConfigureForFile("bear-640x360.webm"); 390 ConfigureForFile("bear-640x360.webm");
387 Start(); 391 Start();
388 message_loop->Run(); 392 message_loop->Run();
389 } 393 }
390 394
391 } // namespace media 395 } // namespace media
392 } // namespace chromecast 396 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698