Index: media/filters/chunk_demuxer_unittest.cc |
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
index 2a88a3e5b6a43245a134c44d594b6267eb1ffc73..1c93d6f7cbbd43b81841436b58e7b43ecbea4fb5 100644 |
--- a/media/filters/chunk_demuxer_unittest.cc |
+++ b/media/filters/chunk_demuxer_unittest.cc |
@@ -2649,6 +2649,24 @@ TEST_F(ChunkDemuxerTest, TimestampOffsetMidParse) { |
kSourceId, base::TimeDelta::FromSeconds(25))); |
} |
+TEST_F(ChunkDemuxerTest, SetSequenceModeMidParse) { |
acolwell GONE FROM CHROMIUM
2014/01/11 01:24:36
nit: s/MidParse/MidMediaSegment/ here and the test
wolenetz
2014/01/11 02:15:05
Done.
|
+ ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); |
+ |
+ scoped_ptr<Cluster> cluster = GenerateCluster(0, 2); |
+ // Append only part of the cluster data. |
+ AppendData(cluster->data(), cluster->size() - 13); |
+ |
+ // Setting append mode should fail because we're in the middle of a cluster. |
+ ASSERT_FALSE(demuxer_->SetSequenceMode(kSourceId, true)); |
+ ASSERT_FALSE(demuxer_->SetSequenceMode(kSourceId, false)); |
+ |
+ demuxer_->Abort(kSourceId); |
+ // After Abort(), setting append mode should succeed since we're no longer |
+ // in the middle of a cluster. |
+ ASSERT_TRUE(demuxer_->SetSequenceMode(kSourceId, true)); |
+ ASSERT_TRUE(demuxer_->SetSequenceMode(kSourceId, false)); |
+} |
+ |
TEST_F(ChunkDemuxerTest, DurationChange) { |
ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); |
const int kStreamDuration = kDefaultDuration().InMilliseconds(); |