| Index: media/base/pipeline_unittest.cc
|
| diff --git a/media/base/pipeline_unittest.cc b/media/base/pipeline_unittest.cc
|
| index 45cc73ba36fa7b1a46c5f19aed717b78da5be1fe..ecdad550f0309acf7ef576bb5c1354346d82d885 100644
|
| --- a/media/base/pipeline_unittest.cc
|
| +++ b/media/base/pipeline_unittest.cc
|
| @@ -753,6 +753,9 @@ TEST_F(PipelineTest, StartTimeIsZero) {
|
| EXPECT_TRUE(metadata_.has_video);
|
|
|
| EXPECT_EQ(base::TimeDelta(), pipeline_->GetMediaTime());
|
| + const base::TimeDelta kSeekPoint = kDuration / 2;
|
| + ExpectSeek(kSeekPoint);
|
| + DoSeek(kSeekPoint);
|
| }
|
|
|
| TEST_F(PipelineTest, StartTimeIsNonZero) {
|
| @@ -774,6 +777,34 @@ TEST_F(PipelineTest, StartTimeIsNonZero) {
|
| EXPECT_TRUE(metadata_.has_video);
|
|
|
| EXPECT_EQ(kStartTime, pipeline_->GetMediaTime());
|
| + const base::TimeDelta kSeekPoint = kDuration / 2;
|
| + ExpectSeek(kSeekPoint + kStartTime);
|
| + DoSeek(kSeekPoint);
|
| +}
|
| +
|
| +TEST_F(PipelineTest, StartTimeIsNegative) {
|
| + 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);
|
| +
|
| + // The media time should be clamped to zero.
|
| + EXPECT_EQ(base::TimeDelta(), pipeline_->GetMediaTime());
|
| + const base::TimeDelta kSeekPoint = kDuration / 2;
|
| + ExpectSeek(kSeekPoint + kStartTime);
|
| + DoSeek(kSeekPoint);
|
| }
|
|
|
| static void RunTimeCB(const AudioRenderer::TimeCB& time_cb,
|
|
|