Chromium Code Reviews| 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) { |
|
wolenetz
2016/10/05 22:41:09
FWIW, EdgeCase2 exercises deprecated path currentl
|
| + // 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------------"; |
|
wolenetz
2016/10/05 22:41:09
nit: needed?
chcunningham
2016/10/06 21:57:33
Woops. Removed.
|
| 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) { |
|
wolenetz
2016/10/05 22:41:09
nit: s/2n/2/ ?
chcunningham
2016/10/06 21:57:33
Done.
|
| NewCodedFrameGroupAppend("0K 10 20 30K 40 50"); |
| SignalStartOfCodedFrameGroup(base::TimeDelta::FromMilliseconds(45)); |
| + LOG(ERROR) << "---REMOVING FROM 30 - 60 ---"; |
|
wolenetz
2016/10/05 22:41:09
nit ditto
chcunningham
2016/10/06 21:57:33
Done.
|
| RemoveInMs(30, 60, 60); |
| CheckExpectedRangesByTimestamp("{ [0,30) }"); |
| + LOG(ERROR) << "---SECOND APPEND---"; |
|
wolenetz
2016/10/05 22:41:09
nit ditto
chcunningham
2016/10/06 21:57:33
Done.
|
| AppendBuffers("2000K 2010"); |
| CheckExpectedRangesByTimestamp("{ [0,30) [45,2020) }"); |
| Seek(0); |