Chromium Code Reviews| 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)); |