| Index: media/filters/frame_processor_unittest.cc
|
| diff --git a/media/filters/frame_processor_unittest.cc b/media/filters/frame_processor_unittest.cc
|
| index 6061bfe97689b426f01fe89cf8b036165d40b8cf..ec0effee19b7c27adba1998cbe96a9b2236e4745 100644
|
| --- a/media/filters/frame_processor_unittest.cc
|
| +++ b/media/filters/frame_processor_unittest.cc
|
| @@ -214,6 +214,12 @@ class FrameProcessorTest : public testing::TestWithParam<bool> {
|
| last_read_buffer_->data()));
|
| if (original_time_in_ms != time_in_ms)
|
| ss << ":" << original_time_in_ms;
|
| +
|
| + // Detect full-discard preroll buffer.
|
| + if (last_read_buffer_->discard_padding().first == kInfiniteDuration() &&
|
| + last_read_buffer_->discard_padding().second == base::TimeDelta()) {
|
| + ss << "P";
|
| + }
|
| }
|
|
|
| EXPECT_EQ(expected, ss.str());
|
| @@ -567,6 +573,23 @@ TEST_P(FrameProcessorTest, AudioVideo_Discontinuity) {
|
| }
|
| }
|
|
|
| +TEST_P(FrameProcessorTest,
|
| + AppendWindowFilterOfNegativeBufferTimestampsWithPrerollDiscard) {
|
| + InSequence s;
|
| + AddTestTracks(HAS_AUDIO);
|
| + new_media_segment_ = true;
|
| + if (GetParam())
|
| + frame_processor_->SetSequenceMode(true);
|
| +
|
| + SetTimestampOffset(frame_duration_ * -2);
|
| + EXPECT_CALL(callbacks_, PossibleDurationIncrease(frame_duration_));
|
| + ProcessFrames("0K 10K 20K", "");
|
| + EXPECT_FALSE(new_media_segment_);
|
| + EXPECT_EQ(frame_duration_ * -2, timestamp_offset_);
|
| + CheckExpectedRangesByTimestamp(audio_.get(), "{ [0,10) }");
|
| + CheckReadsThenReadStalls(audio_.get(), "0:10P 0:20");
|
| +}
|
| +
|
| INSTANTIATE_TEST_CASE_P(SequenceMode, FrameProcessorTest, Values(true));
|
| INSTANTIATE_TEST_CASE_P(SegmentsMode, FrameProcessorTest, Values(false));
|
|
|
|
|