Index: media/filters/chunk_demuxer_unittest.cc |
diff --git a/media/filters/chunk_demuxer_unittest.cc b/media/filters/chunk_demuxer_unittest.cc |
index 74f2a01176fccd1e1e327f7c31699ea370043462..7672151b46cbbd58047bbdc4b154472c5180ba40 100644 |
--- a/media/filters/chunk_demuxer_unittest.cc |
+++ b/media/filters/chunk_demuxer_unittest.cc |
@@ -46,6 +46,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; |
@@ -3480,6 +3485,30 @@ TEST_P(ChunkDemuxerTest, ClusterWithUnknownSize) { |
CheckExpectedRanges(kSourceId, "{ [0,115) }"); |
} |
+TEST_P(ChunkDemuxerTest, CuesBetweenClustersWithUnknownSize) { |
+ ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); |
+ |
+ AppendCluster(GenerateCluster(0, 0, 4, true)); |
+ CheckExpectedRanges(kSourceId, "{ [0,46) }"); |
wolenetz
2014/06/18 22:47:53
nit: ClusterWithUnknownSize already does this. Can
Sergey Ulanov
2014/06/18 23:26:49
Done.
|
+ |
+ // Add Cues followed by a new cluster in a single Append() call. |
+ std::vector<uint8> data(kCuesHeader, kCuesHeader + sizeof(kCuesHeader)); |
+ scoped_ptr<Cluster> cluster = GenerateCluster(46, 66, 5, true); |
+ data.insert(data.end(), cluster->data(), cluster->data() + cluster->size()); |
+ AppendData(&*data.begin(), data.size()); |
wolenetz
2014/06/18 22:47:53
nit: s/&*data.begin()/data.data()/ ?
Sergey Ulanov
2014/06/18 23:26:49
This doesn't compile on android, I already tried:
wolenetz
2014/06/18 23:54:29
I see. Thanks. (std::vector::data() is C++11)
|
+ |
+ CheckExpectedRanges(kSourceId, "{ [0,115) }"); |
+} |
+ |
+TEST_P(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) }"); |
+} |
+ |
// Generate two sets of tests: one using FrameProcessor, and one using |
// LegacyFrameProcessor. |
INSTANTIATE_TEST_CASE_P(NewFrameProcessor, ChunkDemuxerTest, Values(false)); |