summaryrefslogtreecommitdiff
path: root/chromium/media/filters/pipeline_integration_test_base.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/filters/pipeline_integration_test_base.cc')
-rw-r--r--chromium/media/filters/pipeline_integration_test_base.cc57
1 files changed, 32 insertions, 25 deletions
diff --git a/chromium/media/filters/pipeline_integration_test_base.cc b/chromium/media/filters/pipeline_integration_test_base.cc
index 3f0910a2b8b..8dce18cc493 100644
--- a/chromium/media/filters/pipeline_integration_test_base.cc
+++ b/chromium/media/filters/pipeline_integration_test_base.cc
@@ -6,6 +6,7 @@
#include "base/bind.h"
#include "base/memory/scoped_vector.h"
+#include "media/base/clock.h"
#include "media/base/media_log.h"
#include "media/filters/audio_renderer_impl.h"
#include "media/filters/chunk_demuxer.h"
@@ -31,7 +32,7 @@ PipelineIntegrationTestBase::PipelineIntegrationTestBase()
new MediaLog())),
ended_(false),
pipeline_status_(PIPELINE_OK),
- last_video_frame_format_(VideoFrame::INVALID) {
+ last_video_frame_format_(VideoFrame::UNKNOWN) {
base::MD5Init(&md5_context_);
EXPECT_CALL(*this, OnSetOpaque(true)).Times(AnyNumber());
}
@@ -68,7 +69,7 @@ void PipelineIntegrationTestBase::DemuxerNeedKeyCB(
const std::vector<uint8>& init_data) {
DCHECK(!init_data.empty());
CHECK(!need_key_cb_.is_null());
- need_key_cb_.Run(std::string(), type, init_data);
+ need_key_cb_.Run(type, init_data);
}
void PipelineIntegrationTestBase::OnEnded() {
@@ -122,6 +123,9 @@ bool PipelineIntegrationTestBase::Start(const base::FilePath& file_path,
kTestType test_type) {
hashing_enabled_ = test_type == kHashed;
clockless_playback_ = test_type == kClockless;
+ if (clockless_playback_) {
+ pipeline_->SetClockForTesting(new Clock(&dummy_clock_));
+ }
return Start(file_path, expected_status);
}
@@ -229,30 +233,29 @@ PipelineIntegrationTestBase::CreateFilterCollection(
scoped_ptr<FilterCollection> collection(new FilterCollection());
collection->SetDemuxer(demuxer_.get());
- if (!clockless_playback_) {
- ScopedVector<VideoDecoder> video_decoders;
- video_decoders.push_back(
- new VpxVideoDecoder(message_loop_.message_loop_proxy()));
- video_decoders.push_back(
- new FFmpegVideoDecoder(message_loop_.message_loop_proxy()));
-
- // Disable frame dropping if hashing is enabled.
- scoped_ptr<VideoRenderer> renderer(new VideoRendererBase(
- message_loop_.message_loop_proxy(),
- video_decoders.Pass(),
- base::Bind(&PipelineIntegrationTestBase::SetDecryptor,
- base::Unretained(this),
- decryptor),
- base::Bind(&PipelineIntegrationTestBase::OnVideoRendererPaint,
- base::Unretained(this)),
- base::Bind(&PipelineIntegrationTestBase::OnSetOpaque,
- base::Unretained(this)),
- !hashing_enabled_));
- collection->SetVideoRenderer(renderer.Pass());
+ ScopedVector<VideoDecoder> video_decoders;
+ video_decoders.push_back(
+ new VpxVideoDecoder(message_loop_.message_loop_proxy()));
+ video_decoders.push_back(
+ new FFmpegVideoDecoder(message_loop_.message_loop_proxy()));
+ // Disable frame dropping if hashing is enabled.
+ scoped_ptr<VideoRenderer> renderer(new VideoRendererImpl(
+ message_loop_.message_loop_proxy(),
+ video_decoders.Pass(),
+ base::Bind(&PipelineIntegrationTestBase::SetDecryptor,
+ base::Unretained(this),
+ decryptor),
+ base::Bind(&PipelineIntegrationTestBase::OnVideoRendererPaint,
+ base::Unretained(this)),
+ base::Bind(&PipelineIntegrationTestBase::OnSetOpaque,
+ base::Unretained(this)),
+ false));
+ collection->SetVideoRenderer(renderer.Pass());
+
+ if (!clockless_playback_) {
audio_sink_ = new NullAudioSink(message_loop_.message_loop_proxy());
} else {
- // audio only for clockless_playback_
clockless_audio_sink_ = new ClocklessAudioSink();
}
@@ -270,8 +273,7 @@ PipelineIntegrationTestBase::CreateFilterCollection(
audio_decoders.Pass(),
base::Bind(&PipelineIntegrationTestBase::SetDecryptor,
base::Unretained(this),
- decryptor),
- true);
+ decryptor));
// Disable underflow if hashing is enabled.
if (hashing_enabled_) {
audio_sink_->StartAudioHashForTesting();
@@ -314,4 +316,9 @@ base::TimeDelta PipelineIntegrationTestBase::GetAudioTime() {
return clockless_audio_sink_->render_time();
}
+base::TimeTicks DummyTickClock::NowTicks() {
+ now_ += base::TimeDelta::FromSeconds(60);
+ return now_;
+}
+
} // namespace media