| Index: media/filters/source_buffer_stream_unittest.cc
|
| diff --git a/media/filters/source_buffer_stream_unittest.cc b/media/filters/source_buffer_stream_unittest.cc
|
| index 4f37509837ca30201248647affab1b5c4ecf6ab6..e47baa8a60f7ac229a54f65ea0f3d0521b4bcf06 100644
|
| --- a/media/filters/source_buffer_stream_unittest.cc
|
| +++ b/media/filters/source_buffer_stream_unittest.cc
|
| @@ -3320,6 +3320,56 @@ TEST_F(SourceBufferStreamTest, SetExplicitDuration_EdgeCase) {
|
| CheckExpectedRanges("{ [10,19) }");
|
| }
|
|
|
| +TEST_F(SourceBufferStreamTest, SetExplicitDuration_EdgeCase2) {
|
| + // This test requires specific relative proportions for fudge room, append
|
| + // size, and duration truncation amounts. See details at:
|
| + // https://codereview.chromium.org/2385423002
|
| +
|
| + // Append buffers with first buffer establishing max_inter_buffer_distance
|
| + // of 5 ms. This translates to a fudge room (2 x max_interbuffer_distance) of
|
| + // 10 ms.
|
| + NewCodedFrameGroupAppend("0K 5K 9D4K");
|
| + CheckExpectedRangesByTimestamp("{ [0,13) }");
|
| +
|
| + // Trim off last 2 buffers, totaling 8 ms. Notably less than the current fudge
|
| + // room of 10 ms.
|
| + stream_->OnSetDuration(base::TimeDelta::FromMilliseconds(5));
|
| +
|
| + // Verify truncation.
|
| + CheckExpectedRangesByTimestamp("{ [0,5) }");
|
| +
|
| + // Append new buffers just beyond the fudge-room allowance of 10ms.
|
| + AppendBuffers("11K 15K");
|
| +
|
| + // Verify new append creates a gap.
|
| + CheckExpectedRangesByTimestamp("{ [0,5) [11,19) }");
|
| +}
|
| +
|
| +TEST_F(SourceBufferStreamTest, RemoveWithinFudgeRoom) {
|
| + // This test requires specific relative proportions for fudge room, append
|
| + // size, and removal amounts. See details at:
|
| + // https://codereview.chromium.org/2385423002
|
| +
|
| + // Append buffers with first buffer establishing max_inter_buffer_distance
|
| + // of 5 ms. This translates to a fudge room (2 x max_interbuffer_distance) of
|
| + // 10 ms.
|
| + NewCodedFrameGroupAppend("0K 5K 9D4K");
|
| + CheckExpectedRangesByTimestamp("{ [0,13) }");
|
| +
|
| + // Trim off last 2 buffers, totaling 8 ms. Notably less than the current fudge
|
| + // room of 10 ms.
|
| + RemoveInMs(5, 13, 13);
|
| +
|
| + // Verify removal.
|
| + CheckExpectedRangesByTimestamp("{ [0,5) }");
|
| +
|
| + // Append new buffers just beyond the fudge-room allowance of 10ms.
|
| + AppendBuffers("11K 15K");
|
| +
|
| + // Verify new append creates a gap.
|
| + CheckExpectedRangesByTimestamp("{ [0,5) [11,19) }");
|
| +}
|
| +
|
| TEST_F(SourceBufferStreamTest, SetExplicitDuration_DeletePartialRange) {
|
| // Append 5 buffers at positions 0 through 4.
|
| NewCodedFrameGroupAppend(0, 5);
|
| @@ -4726,6 +4776,7 @@ TEST_F(SourceBufferStreamTest,
|
| SignalStartOfCodedFrameGroup(base::TimeDelta::FromMilliseconds(45));
|
| CheckExpectedRangesByTimestamp("{ [0,60) }");
|
|
|
| + LOG(ERROR) << "-------------SECOND APPEND------------";
|
| AppendBuffers("2000K 2010");
|
| CheckExpectedRangesByTimestamp("{ [0,2020) }");
|
| Seek(0);
|
| @@ -4748,12 +4799,14 @@ TEST_F(SourceBufferStreamTest,
|
| }
|
|
|
| TEST_F(SourceBufferStreamTest,
|
| - StartCodedFrameGroup_InExisting_RemoveGOP_ThenAppend_2) {
|
| + StartCodedFrameGroup_InExisting_RemoveGOP_ThenAppend_2n) {
|
| NewCodedFrameGroupAppend("0K 10 20 30K 40 50");
|
| SignalStartOfCodedFrameGroup(base::TimeDelta::FromMilliseconds(45));
|
| + LOG(ERROR) << "---REMOVING FROM 30 - 60 ---";
|
| RemoveInMs(30, 60, 60);
|
| CheckExpectedRangesByTimestamp("{ [0,30) }");
|
|
|
| + LOG(ERROR) << "---SECOND APPEND---";
|
| AppendBuffers("2000K 2010");
|
| CheckExpectedRangesByTimestamp("{ [0,30) [45,2020) }");
|
| Seek(0);
|
|
|