Chromium Code Reviews| Index: media/filters/pipeline_integration_test.cc |
| diff --git a/media/filters/pipeline_integration_test.cc b/media/filters/pipeline_integration_test.cc |
| index 2d4c4d9ebe74830fad4912d6b1c58e53b1dd3c8f..761f86d5298f746081ee81eef9adf8b50cadcb6a 100644 |
| --- a/media/filters/pipeline_integration_test.cc |
| +++ b/media/filters/pipeline_integration_test.cc |
| @@ -852,24 +852,36 @@ TEST_P(PipelineIntegrationTest, MediaSource_ADTS) { |
| TEST_P(PipelineIntegrationTest, MediaSource_ADTS_TimestampOffset) { |
| MockMediaSource source("sfx.adts", kADTS, kAppendWholeFile, GetParam()); |
| - StartPipelineWithMediaSource(&source); |
| + StartHashedPipelineWithMediaSource(&source); |
| EXPECT_EQ(325, source.last_timestamp_offset().InMilliseconds()); |
| + // Trim off multiple frames off the beginning of the segment which will cause |
| + // the first decoded frame to be incorrect if preroll isn't implemented. |
|
wolenetz
2014/05/16 20:06:16
nit: By "preroll", do you really mean partial appe
DaleCurtis
2014/05/16 20:11:56
No I mean preroll as in this won't work if partial
wolenetz
2014/05/16 20:17:32
I understand and lgtm if you meant "this test will
|
| + const base::TimeDelta adts_preroll_duration = |
| + base::TimeDelta::FromSecondsD(2.5 * 1024 / 44100); |
| + const base::TimeDelta append_time = |
| + source.last_timestamp_offset() - adts_preroll_duration; |
| + |
| scoped_refptr<DecoderBuffer> second_file = ReadTestDataFile("sfx.adts"); |
| - source.AppendAtTime( |
| - source.last_timestamp_offset() - base::TimeDelta::FromMilliseconds(10), |
| - second_file->data(), |
| - second_file->data_size()); |
| + source.AppendAtTimeWithWindow(append_time, |
| + append_time + adts_preroll_duration, |
| + kInfiniteDuration(), |
| + second_file->data(), |
| + second_file->data_size()); |
| source.EndOfStream(); |
| - EXPECT_EQ(640, source.last_timestamp_offset().InMilliseconds()); |
| + EXPECT_EQ(592, source.last_timestamp_offset().InMilliseconds()); |
| EXPECT_EQ(1u, pipeline_->GetBufferedTimeRanges().size()); |
| EXPECT_EQ(0, pipeline_->GetBufferedTimeRanges().start(0).InMilliseconds()); |
| - EXPECT_EQ(640, pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); |
| + EXPECT_EQ(592, pipeline_->GetBufferedTimeRanges().end(0).InMilliseconds()); |
| Play(); |
| EXPECT_TRUE(WaitUntilOnEnded()); |
| + |
| + // If preroll is not implemented this would be: |
| + // 5.85,3.25,5.35,1.45,4.75,1.88, |
| + EXPECT_EQ("-0.81,0.97,-1.22,-0.70,-1.76,-0.34,", GetAudioHash()); |
| } |
| TEST_F(PipelineIntegrationTest, BasicPlaybackHashed_MP3) { |