| Index: media/filters/chunk_demuxer_unittest.cc
|
| diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc
|
| index 4e000521386472ea9123b961860719ec6f7b0662..2326de2de6600ef7c2c204cccb38b2f1a1d5aae7 100644
|
| --- a/media/filters/chunk_demuxer_unittest.cc
|
| +++ b/media/filters/chunk_demuxer_unittest.cc
|
| @@ -45,6 +45,11 @@ const uint8 kVP8Keyframe[] = {
|
| // WebM Block bytes that represent a VP8 interframe.
|
| const uint8 kVP8Interframe[] = { 0x11, 0x00, 0x00 };
|
|
|
| +static const uint8 kCuesHeader[] = {
|
| + 0x1C, 0x53, 0xBB, 0x6B, // Cues ID
|
| + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // cues(size = 0)
|
| +};
|
| +
|
| const int kTracksHeaderSize = sizeof(kTracksHeader);
|
| const int kTracksSizeOffset = 4;
|
|
|
| @@ -3453,4 +3458,27 @@ TEST_F(ChunkDemuxerTest, ClusterWithUnknownSize) {
|
| CheckExpectedRanges(kSourceId, "{ [0,115) }");
|
| }
|
|
|
| +TEST_F(ChunkDemuxerTest, CuesBetweenClustersWithUnknownSize) {
|
| + ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO));
|
| +
|
| + // Add two clusters separated by Cues in a single Append() call.
|
| + scoped_ptr<Cluster> cluster = GenerateCluster(0, 0, 4, true);
|
| + std::vector<uint8> data(cluster->data(), cluster->data() + cluster->size());
|
| + data.insert(data.end(), kCuesHeader, kCuesHeader + sizeof(kCuesHeader));
|
| + cluster = GenerateCluster(46, 66, 5, true);
|
| + data.insert(data.end(), cluster->data(), cluster->data() + cluster->size());
|
| + AppendData(&*data.begin(), data.size());
|
| +
|
| + CheckExpectedRanges(kSourceId, "{ [0,115) }");
|
| +}
|
| +
|
| +TEST_F(ChunkDemuxerTest, CuesBetweenClusters) {
|
| + ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO));
|
| +
|
| + AppendCluster(GenerateCluster(0, 0, 4));
|
| + AppendData(kCuesHeader, sizeof(kCuesHeader));
|
| + AppendCluster(GenerateCluster(46, 66, 5));
|
| + CheckExpectedRanges(kSourceId, "{ [0,115) }");
|
| +}
|
| +
|
| } // namespace media
|
|
|