| Index: media/cdm/cenc_utils_unittest.cc
|
| diff --git a/media/cdm/cenc_utils_unittest.cc b/media/cdm/cenc_utils_unittest.cc
|
| index fd481da48f2454a4ed94b0f6653b3b44e039952d..992361976d9be450e17bca96ff9fa07dfdcfb8a7 100644
|
| --- a/media/cdm/cenc_utils_unittest.cc
|
| +++ b/media/cdm/cenc_utils_unittest.cc
|
| @@ -9,19 +9,19 @@
|
|
|
| namespace media {
|
|
|
| -const uint8 kKey1Data[] = {
|
| +const uint8_t kKey1Data[] = {
|
| 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03,
|
| 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03
|
| };
|
| -const uint8 kKey2Data[] = {
|
| +const uint8_t kKey2Data[] = {
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04,
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04,
|
| };
|
| -const uint8 kKey3Data[] = {
|
| +const uint8_t kKey3Data[] = {
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x05,
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x05,
|
| };
|
| -const uint8 kKey4Data[] = {
|
| +const uint8_t kKey4Data[] = {
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x06,
|
| 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x06,
|
| };
|
| @@ -36,7 +36,9 @@ class CencUtilsTest : public testing::Test {
|
|
|
| protected:
|
| // Initialize the start of the 'pssh' box (up to key_count)
|
| - void InitializePSSHBox(std::vector<uint8>* box, uint8 size, uint8 version) {
|
| + void InitializePSSHBox(std::vector<uint8_t>* box,
|
| + uint8_t size,
|
| + uint8_t version) {
|
| DCHECK(box->size() == 0);
|
|
|
| box->reserve(size);
|
| @@ -75,9 +77,9 @@ class CencUtilsTest : public testing::Test {
|
| box->push_back(0x4B);
|
| }
|
|
|
| - std::vector<uint8> MakePSSHBox(uint8 version) {
|
| - std::vector<uint8> box;
|
| - uint8 size = (version == 0) ? 32 : 36;
|
| + std::vector<uint8_t> MakePSSHBox(uint8_t version) {
|
| + std::vector<uint8_t> box;
|
| + uint8_t size = (version == 0) ? 32 : 36;
|
| InitializePSSHBox(&box, size, version);
|
| if (version > 0) {
|
| // Add key_count (= 0).
|
| @@ -94,13 +96,13 @@ class CencUtilsTest : public testing::Test {
|
| return box;
|
| }
|
|
|
| - std::vector<uint8> MakePSSHBox(uint8 version,
|
| - const std::vector<uint8>& key1) {
|
| + std::vector<uint8_t> MakePSSHBox(uint8_t version,
|
| + const std::vector<uint8_t>& key1) {
|
| DCHECK(version > 0);
|
| DCHECK(key1.size() == 16);
|
|
|
| - std::vector<uint8> box;
|
| - uint8 size = 52;
|
| + std::vector<uint8_t> box;
|
| + uint8_t size = 52;
|
| InitializePSSHBox(&box, size, version);
|
|
|
| // Add key_count (= 1).
|
| @@ -121,15 +123,15 @@ class CencUtilsTest : public testing::Test {
|
| return box;
|
| }
|
|
|
| - std::vector<uint8> MakePSSHBox(uint8 version,
|
| - const std::vector<uint8>& key1,
|
| - const std::vector<uint8>& key2) {
|
| + std::vector<uint8_t> MakePSSHBox(uint8_t version,
|
| + const std::vector<uint8_t>& key1,
|
| + const std::vector<uint8_t>& key2) {
|
| DCHECK(version > 0);
|
| DCHECK(key1.size() == 16);
|
| DCHECK(key2.size() == 16);
|
|
|
| - std::vector<uint8> box;
|
| - uint8 size = 68;
|
| + std::vector<uint8_t> box;
|
| + uint8_t size = 68;
|
| InitializePSSHBox(&box, size, version);
|
|
|
| // Add key_count (= 2).
|
| @@ -154,94 +156,94 @@ class CencUtilsTest : public testing::Test {
|
| return box;
|
| }
|
|
|
| - const std::vector<uint8>& Key1() { return key1_; }
|
| - const std::vector<uint8>& Key2() { return key2_; }
|
| - const std::vector<uint8>& Key3() { return key3_; }
|
| - const std::vector<uint8>& Key4() { return key4_; }
|
| + const std::vector<uint8_t>& Key1() { return key1_; }
|
| + const std::vector<uint8_t>& Key2() { return key2_; }
|
| + const std::vector<uint8_t>& Key3() { return key3_; }
|
| + const std::vector<uint8_t>& Key4() { return key4_; }
|
|
|
| private:
|
| - std::vector<uint8> key1_;
|
| - std::vector<uint8> key2_;
|
| - std::vector<uint8> key3_;
|
| - std::vector<uint8> key4_;
|
| + std::vector<uint8_t> key1_;
|
| + std::vector<uint8_t> key2_;
|
| + std::vector<uint8_t> key3_;
|
| + std::vector<uint8_t> key4_;
|
| };
|
|
|
| TEST_F(CencUtilsTest, EmptyPSSH) {
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(nullptr, 0));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(nullptr, 0, &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(std::vector<uint8_t>()));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(std::vector<uint8_t>(), &key_ids));
|
| EXPECT_EQ(0u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion0) {
|
| - std::vector<uint8> box = MakePSSHBox(0);
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box[0], box.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + std::vector<uint8_t> box = MakePSSHBox(0);
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(0u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion1WithNoKeys) {
|
| - std::vector<uint8> box = MakePSSHBox(1);
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box[0], box.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + std::vector<uint8_t> box = MakePSSHBox(1);
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(0u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion1WithOneKey) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1());
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box[0], box.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1());
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(1u, key_ids.size());
|
| EXPECT_EQ(key_ids[0], Key1());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion1WithTwoKeys) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1(), Key2());
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box[0], box.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(2u, key_ids.size());
|
| EXPECT_EQ(key_ids[0], Key1());
|
| EXPECT_EQ(key_ids[1], Key2());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion0Plus1) {
|
| - std::vector<uint8> box0 = MakePSSHBox(0);
|
| - std::vector<uint8> box1 = MakePSSHBox(1, Key1());
|
| + std::vector<uint8_t> box0 = MakePSSHBox(0);
|
| + std::vector<uint8_t> box1 = MakePSSHBox(1, Key1());
|
|
|
| // Concatentate box1 into box0.
|
| for (const auto& value : box1)
|
| box0.push_back(value);
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box0[0], box0.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box0[0], box0.size(), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box0));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box0, &key_ids));
|
| EXPECT_EQ(1u, key_ids.size());
|
| EXPECT_EQ(key_ids[0], Key1());
|
| }
|
|
|
| TEST_F(CencUtilsTest, PSSHVersion1Plus0) {
|
| - std::vector<uint8> box0 = MakePSSHBox(0);
|
| - std::vector<uint8> box1 = MakePSSHBox(1, Key1());
|
| + std::vector<uint8_t> box0 = MakePSSHBox(0);
|
| + std::vector<uint8_t> box1 = MakePSSHBox(1, Key1());
|
|
|
| // Concatentate box0 into box1.
|
| for (const auto& value : box0)
|
| box1.push_back(value);
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box1[0], box1.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box1[0], box1.size(), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box1));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box1, &key_ids));
|
| EXPECT_EQ(1u, key_ids.size());
|
| EXPECT_EQ(key_ids[0], Key1());
|
| }
|
|
|
| TEST_F(CencUtilsTest, MultiplePSSHVersion1) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1(), Key2());
|
| - std::vector<uint8> box1 = MakePSSHBox(1, Key3());
|
| - std::vector<uint8> box2 = MakePSSHBox(1, Key4());
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
|
| + std::vector<uint8_t> box1 = MakePSSHBox(1, Key3());
|
| + std::vector<uint8_t> box2 = MakePSSHBox(1, Key4());
|
|
|
| // Concatentate box1 into box.
|
| for (const auto& value : box1)
|
| @@ -250,9 +252,9 @@ TEST_F(CencUtilsTest, MultiplePSSHVersion1) {
|
| for (const auto& value : box2)
|
| box.push_back(value);
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(&box[0], box.size()));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(ValidatePsshInput(box));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(4u, key_ids.size());
|
| EXPECT_EQ(key_ids[0], Key1());
|
| EXPECT_EQ(key_ids[1], Key2());
|
| @@ -261,43 +263,45 @@ TEST_F(CencUtilsTest, MultiplePSSHVersion1) {
|
| }
|
|
|
| TEST_F(CencUtilsTest, InvalidPSSH) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1(), Key2());
|
| - std::vector<std::vector<uint8>> key_ids;
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
|
| + KeyIdList key_ids;
|
| for (uint32 i = 1; i < box.size(); ++i) {
|
| // Modify size of data passed to be less than real size.
|
| - EXPECT_FALSE(ValidatePsshInput(&box[0], i));
|
| - EXPECT_FALSE(GetKeyIdsForCommonSystemId(&box[0], i, &key_ids));
|
| + std::vector<uint8_t> truncated(&box[0], &box[0] + i);
|
| + EXPECT_FALSE(ValidatePsshInput(truncated));
|
| + EXPECT_FALSE(GetKeyIdsForCommonSystemId(truncated, &key_ids));
|
| // Modify starting point.
|
| - EXPECT_FALSE(ValidatePsshInput(&box[i], box.size() - i));
|
| - EXPECT_FALSE(GetKeyIdsForCommonSystemId(&box[i], box.size() - i, &key_ids));
|
| + std::vector<uint8_t> changed_offset(&box[i], &box[i] + box.size() - i);
|
| + EXPECT_FALSE(ValidatePsshInput(changed_offset));
|
| + EXPECT_FALSE(GetKeyIdsForCommonSystemId(changed_offset, &key_ids));
|
| }
|
| }
|
|
|
| TEST_F(CencUtilsTest, InvalidSystemID) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1(), Key2());
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
|
|
|
| // Modify the System ID.
|
| ++box[20];
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(0u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, InvalidFlags) {
|
| - std::vector<uint8> box = MakePSSHBox(1, Key1(), Key2());
|
| + std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
|
|
|
| // Modify flags.
|
| box[10] = 3;
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| + KeyIdList key_ids;
|
| // TODO(jrummell): This should fail as the 'pssh' box is skipped.
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(&box[0], box.size(), &key_ids));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
|
| EXPECT_EQ(0u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, LongSize) {
|
| - const uint8 data[] = {
|
| + const uint8_t data[] = {
|
| 0x00, 0x00, 0x00, 0x01, // size = 1
|
| 0x70, 0x73, 0x73, 0x68, // 'pssh'
|
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, // longsize
|
| @@ -313,14 +317,16 @@ TEST_F(CencUtilsTest, LongSize) {
|
| 0x00, 0x00, 0x00, 0x00 // datasize
|
| };
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(data, arraysize(data)));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(data, arraysize(data), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(
|
| + ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data))));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(
|
| + std::vector<uint8_t>(data, data + arraysize(data)), &key_ids));
|
| EXPECT_EQ(2u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, NoSize) {
|
| - const uint8 data[] = {
|
| + const uint8_t data[] = {
|
| 0x00, 0x00, 0x00, 0x00, // size = 0
|
| 0x70, 0x73, 0x73, 0x68, // 'pssh'
|
| 0x01, // version
|
| @@ -335,14 +341,16 @@ TEST_F(CencUtilsTest, NoSize) {
|
| 0x00, 0x00, 0x00, 0x00 // datasize
|
| };
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_TRUE(ValidatePsshInput(data, arraysize(data)));
|
| - EXPECT_TRUE(GetKeyIdsForCommonSystemId(data, arraysize(data), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_TRUE(
|
| + ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data))));
|
| + EXPECT_TRUE(GetKeyIdsForCommonSystemId(
|
| + std::vector<uint8_t>(data, data + arraysize(data)), &key_ids));
|
| EXPECT_EQ(2u, key_ids.size());
|
| }
|
|
|
| TEST_F(CencUtilsTest, HugeSize) {
|
| - const uint8 data[] = {
|
| + const uint8_t data[] = {
|
| 0x00, 0x00, 0x00, 0x01, // size = 1
|
| 0x70, 0x73, 0x73, 0x68, // 'pssh'
|
| 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // longsize = big
|
| @@ -358,9 +366,11 @@ TEST_F(CencUtilsTest, HugeSize) {
|
| 0x00, 0x00, 0x00, 0x00 // datasize
|
| };
|
|
|
| - std::vector<std::vector<uint8>> key_ids;
|
| - EXPECT_FALSE(ValidatePsshInput(data, arraysize(data)));
|
| - EXPECT_FALSE(GetKeyIdsForCommonSystemId(data, arraysize(data), &key_ids));
|
| + KeyIdList key_ids;
|
| + EXPECT_FALSE(
|
| + ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data))));
|
| + EXPECT_FALSE(GetKeyIdsForCommonSystemId(
|
| + std::vector<uint8_t>(data, data + arraysize(data)), &key_ids));
|
| }
|
|
|
| } // namespace media
|
|
|