| Index: media/base/pipeline_unittest.cc
|
| diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc
|
| index 05ffc8c391a3918514b9b5a895b36226a2b8f623..45cc73ba36fa7b1a46c5f19aed717b78da5be1fe 100644
|
| --- a/media/base/pipeline_unittest.cc
|
| +++ b/media/base/pipeline_unittest.cc
|
| @@ -107,6 +107,9 @@
|
| EXPECT_CALL(*demuxer_, GetStream(_))
|
| .WillRepeatedly(Return(null_pointer));
|
|
|
| + EXPECT_CALL(*demuxer_, GetStartTime())
|
| + .WillRepeatedly(Return(base::TimeDelta()));
|
| +
|
| EXPECT_CALL(*demuxer_, GetTimelineOffset())
|
| .WillRepeatedly(Return(base::Time()));
|
|
|
| @@ -171,7 +174,7 @@
|
| EXPECT_CALL(*video_renderer_, SetPlaybackRate(0.0f));
|
|
|
| // Startup sequence.
|
| - EXPECT_CALL(*video_renderer_, Preroll(base::TimeDelta(), _))
|
| + EXPECT_CALL(*video_renderer_, Preroll(demuxer_->GetStartTime(), _))
|
| .WillOnce(RunCallback<1>(PIPELINE_OK));
|
| EXPECT_CALL(*video_renderer_, Play(_))
|
| .WillOnce(RunClosure<0>());
|
| @@ -736,6 +739,43 @@
|
| message_loop_.RunUntilIdle();
|
| }
|
|
|
| +TEST_F(PipelineTest, StartTimeIsZero) {
|
| + CreateVideoStream();
|
| + MockDemuxerStreamVector streams;
|
| + streams.push_back(video_stream());
|
| +
|
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(100);
|
| + InitializeDemuxer(&streams, kDuration);
|
| + InitializeVideoRenderer(video_stream());
|
| +
|
| + InitializePipeline(PIPELINE_OK);
|
| + EXPECT_FALSE(metadata_.has_audio);
|
| + EXPECT_TRUE(metadata_.has_video);
|
| +
|
| + EXPECT_EQ(base::TimeDelta(), pipeline_->GetMediaTime());
|
| +}
|
| +
|
| +TEST_F(PipelineTest, StartTimeIsNonZero) {
|
| + const base::TimeDelta kStartTime = base::TimeDelta::FromSeconds(4);
|
| + const base::TimeDelta kDuration = base::TimeDelta::FromSeconds(100);
|
| +
|
| + EXPECT_CALL(*demuxer_, GetStartTime())
|
| + .WillRepeatedly(Return(kStartTime));
|
| +
|
| + CreateVideoStream();
|
| + MockDemuxerStreamVector streams;
|
| + streams.push_back(video_stream());
|
| +
|
| + InitializeDemuxer(&streams, kDuration);
|
| + InitializeVideoRenderer(video_stream());
|
| +
|
| + InitializePipeline(PIPELINE_OK);
|
| + EXPECT_FALSE(metadata_.has_audio);
|
| + EXPECT_TRUE(metadata_.has_video);
|
| +
|
| + EXPECT_EQ(kStartTime, pipeline_->GetMediaTime());
|
| +}
|
| +
|
| static void RunTimeCB(const AudioRenderer::TimeCB& time_cb,
|
| int time_in_ms,
|
| int max_time_in_ms) {
|
|
|