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

Side by Side Diff: media/test/pipeline_integration_test_base.cc

Issue 1053113002: Prime the landing pad for the new video rendering pipeline. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix cast. Created 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/test/pipeline_integration_test_base.h" 5 #include "media/test/pipeline_integration_test_base.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/scoped_vector.h" 8 #include "base/memory/scoped_vector.h"
9 #include "media/base/cdm_context.h" 9 #include "media/base/cdm_context.h"
10 #include "media/base/media_log.h" 10 #include "media/base/media_log.h"
11 #include "media/base/test_data_util.h" 11 #include "media/base/test_data_util.h"
12 #include "media/filters/chunk_demuxer.h" 12 #include "media/filters/chunk_demuxer.h"
13 #if !defined(MEDIA_DISABLE_FFMPEG) 13 #if !defined(MEDIA_DISABLE_FFMPEG)
14 #include "media/filters/ffmpeg_audio_decoder.h" 14 #include "media/filters/ffmpeg_audio_decoder.h"
15 #include "media/filters/ffmpeg_demuxer.h" 15 #include "media/filters/ffmpeg_demuxer.h"
16 #include "media/filters/ffmpeg_video_decoder.h" 16 #include "media/filters/ffmpeg_video_decoder.h"
17 #endif 17 #endif
18 #include "media/filters/file_data_source.h" 18 #include "media/filters/file_data_source.h"
19 #include "media/filters/opus_audio_decoder.h" 19 #include "media/filters/opus_audio_decoder.h"
20 #include "media/renderers/audio_renderer_impl.h" 20 #include "media/renderers/audio_renderer_impl.h"
21 #include "media/renderers/renderer_impl.h" 21 #include "media/renderers/renderer_impl.h"
22 #if !defined(MEDIA_DISABLE_LIBVPX) 22 #if !defined(MEDIA_DISABLE_LIBVPX)
23 #include "media/filters/vpx_video_decoder.h" 23 #include "media/filters/vpx_video_decoder.h"
24 #endif 24 #endif
25 25
26 using ::testing::_; 26 using ::testing::_;
27 using ::testing::AnyNumber; 27 using ::testing::AnyNumber;
28 using ::testing::AtMost; 28 using ::testing::AtMost;
29 using ::testing::Invoke;
29 using ::testing::InvokeWithoutArgs; 30 using ::testing::InvokeWithoutArgs;
30 using ::testing::SaveArg; 31 using ::testing::SaveArg;
31 32
32 namespace media { 33 namespace media {
33 34
34 const char kNullVideoHash[] = "d41d8cd98f00b204e9800998ecf8427e"; 35 const char kNullVideoHash[] = "d41d8cd98f00b204e9800998ecf8427e";
35 const char kNullAudioHash[] = "0.00,0.00,0.00,0.00,0.00,0.00,"; 36 const char kNullAudioHash[] = "0.00,0.00,0.00,0.00,0.00,0.00,";
36 37
38 MockVideoRendererSink::MockVideoRendererSink() {}
39 MockVideoRendererSink::~MockVideoRendererSink() {}
40
37 PipelineIntegrationTestBase::PipelineIntegrationTestBase() 41 PipelineIntegrationTestBase::PipelineIntegrationTestBase()
38 : hashing_enabled_(false), 42 : hashing_enabled_(false),
39 clockless_playback_(false), 43 clockless_playback_(false),
40 pipeline_( 44 pipeline_(
41 new Pipeline(message_loop_.message_loop_proxy(), new MediaLog())), 45 new Pipeline(message_loop_.message_loop_proxy(), new MediaLog())),
42 ended_(false), 46 ended_(false),
43 pipeline_status_(PIPELINE_OK), 47 pipeline_status_(PIPELINE_OK),
44 last_video_frame_format_(VideoFrame::UNKNOWN), 48 last_video_frame_format_(VideoFrame::UNKNOWN),
45 hardware_config_(AudioParameters(), AudioParameters()) { 49 hardware_config_(AudioParameters(), AudioParameters()) {
46 base::MD5Init(&md5_context_); 50 base::MD5Init(&md5_context_);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 pipeline_->Start( 132 pipeline_->Start(
129 demuxer_.get(), CreateRenderer(), 133 demuxer_.get(), CreateRenderer(),
130 base::Bind(&PipelineIntegrationTestBase::OnEnded, base::Unretained(this)), 134 base::Bind(&PipelineIntegrationTestBase::OnEnded, base::Unretained(this)),
131 base::Bind(&PipelineIntegrationTestBase::OnError, base::Unretained(this)), 135 base::Bind(&PipelineIntegrationTestBase::OnError, base::Unretained(this)),
132 base::Bind(&PipelineIntegrationTestBase::OnStatusCallback, 136 base::Bind(&PipelineIntegrationTestBase::OnStatusCallback,
133 base::Unretained(this)), 137 base::Unretained(this)),
134 base::Bind(&PipelineIntegrationTestBase::OnMetadata, 138 base::Bind(&PipelineIntegrationTestBase::OnMetadata,
135 base::Unretained(this)), 139 base::Unretained(this)),
136 base::Bind(&PipelineIntegrationTestBase::OnBufferingStateChanged, 140 base::Bind(&PipelineIntegrationTestBase::OnBufferingStateChanged,
137 base::Unretained(this)), 141 base::Unretained(this)),
138 base::Bind(&PipelineIntegrationTestBase::OnVideoFramePaint,
139 base::Unretained(this)),
140 base::Closure(), base::Bind(&PipelineIntegrationTestBase::OnAddTextTrack, 142 base::Closure(), base::Bind(&PipelineIntegrationTestBase::OnAddTextTrack,
141 base::Unretained(this)), 143 base::Unretained(this)),
142 base::Bind(&PipelineIntegrationTestBase::OnWaitingForDecryptionKey, 144 base::Bind(&PipelineIntegrationTestBase::OnWaitingForDecryptionKey,
143 base::Unretained(this))); 145 base::Unretained(this)));
144 message_loop_.Run(); 146 message_loop_.Run();
145 return pipeline_status_; 147 return pipeline_status_;
146 } 148 }
147 149
148 PipelineStatus PipelineIntegrationTestBase::Start(const std::string& filename, 150 PipelineStatus PipelineIntegrationTestBase::Start(const std::string& filename,
149 kTestType test_type) { 151 kTestType test_type) {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 #if !defined(MEDIA_DISABLE_LIBVPX) 233 #if !defined(MEDIA_DISABLE_LIBVPX)
232 video_decoders.push_back( 234 video_decoders.push_back(
233 new VpxVideoDecoder(message_loop_.message_loop_proxy())); 235 new VpxVideoDecoder(message_loop_.message_loop_proxy()));
234 #endif // !defined(MEDIA_DISABLE_LIBVPX) 236 #endif // !defined(MEDIA_DISABLE_LIBVPX)
235 237
236 #if !defined(MEDIA_DISABLE_FFMPEG) 238 #if !defined(MEDIA_DISABLE_FFMPEG)
237 video_decoders.push_back( 239 video_decoders.push_back(
238 new FFmpegVideoDecoder(message_loop_.message_loop_proxy())); 240 new FFmpegVideoDecoder(message_loop_.message_loop_proxy()));
239 #endif 241 #endif
240 242
243 EXPECT_CALL(video_sink_, PaintFrameUsingOldRenderingPath(_))
244 .WillRepeatedly(
245 Invoke(this, &PipelineIntegrationTestBase::OnVideoFramePaint));
246
241 // Disable frame dropping if hashing is enabled. 247 // Disable frame dropping if hashing is enabled.
242 scoped_ptr<VideoRenderer> video_renderer( 248 scoped_ptr<VideoRenderer> video_renderer(
243 new VideoRendererImpl(message_loop_.message_loop_proxy(), 249 new VideoRendererImpl(message_loop_.message_loop_proxy(), &video_sink_,
244 video_decoders.Pass(), false, new MediaLog())); 250 video_decoders.Pass(), false, new MediaLog()));
245 251
246 if (!clockless_playback_) { 252 if (!clockless_playback_) {
247 audio_sink_ = new NullAudioSink(message_loop_.message_loop_proxy()); 253 audio_sink_ = new NullAudioSink(message_loop_.message_loop_proxy());
248 } else { 254 } else {
249 clockless_audio_sink_ = new ClocklessAudioSink(); 255 clockless_audio_sink_ = new ClocklessAudioSink();
250 } 256 }
251 257
252 ScopedVector<AudioDecoder> audio_decoders; 258 ScopedVector<AudioDecoder> audio_decoders;
253 259
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 DCHECK(clockless_playback_); 320 DCHECK(clockless_playback_);
315 return clockless_audio_sink_->render_time(); 321 return clockless_audio_sink_->render_time();
316 } 322 }
317 323
318 base::TimeTicks DummyTickClock::NowTicks() { 324 base::TimeTicks DummyTickClock::NowTicks() {
319 now_ += base::TimeDelta::FromSeconds(60); 325 now_ += base::TimeDelta::FromSeconds(60);
320 return now_; 326 return now_;
321 } 327 }
322 328
323 } // namespace media 329 } // namespace media
OLDNEW
« no previous file with comments | « media/test/pipeline_integration_test_base.h ('k') | media/tools/player_x11/data_source_logger.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698