Index: media/filters/chunk_demuxer_unittest.cc |
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
index 99299ac305dd0f346d3862b44188b8740a6cbb26..93cec328d2c92ed1107c4368cd049bfc3598ae40 100644 |
--- a/media/filters/chunk_demuxer_unittest.cc |
+++ b/media/filters/chunk_demuxer_unittest.cc |
@@ -3412,6 +3412,19 @@ TEST_F(ChunkDemuxerTest, GCDuringSeek) { |
CheckExpectedRanges(kSourceId, "{ [500,615) [700,815) }"); |
} |
+TEST_F(ChunkDemuxerTest, GCDuringSeekBack) { |
+ ASSERT_TRUE(InitDemuxer(HAS_AUDIO)); |
+ demuxer_->SetMemoryLimits(DemuxerStream::AUDIO, 10 * kBlockSize); |
+ // Append some data at position 1000ms |
+ AppendSingleStreamCluster(kSourceId, kAudioTrackNum, 1000, 10); |
+ CheckExpectedRanges(kSourceId, "{ [1000,1230) }"); |
+ |
+ // GC should be able to evict frames in the currently buffered range, since |
+ // those frames are later than the seek target position 0. |
+ base::TimeDelta seek_time = base::TimeDelta::FromMilliseconds(0); |
+ EXPECT_TRUE(demuxer_->EvictCodedFrames(kSourceId, seek_time, 5 * kBlockSize)); |
wolenetz
2015/09/16 19:25:27
nit: We could do a further check of expectation he
|
+} |
+ |
TEST_F(ChunkDemuxerTest, GCKeepPlayhead) { |
ASSERT_TRUE(InitDemuxer(HAS_AUDIO)); |