Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/cdm/cenc_utils.h" | 5 #include "media/cdm/cenc_utils.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 | 9 |
| 10 namespace media { | 10 namespace media { |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 51 box->push_back('p'); | 51 box->push_back('p'); |
| 52 box->push_back('s'); | 52 box->push_back('s'); |
| 53 box->push_back('s'); | 53 box->push_back('s'); |
| 54 box->push_back('h'); | 54 box->push_back('h'); |
| 55 // Add version. | 55 // Add version. |
| 56 box->push_back(version); | 56 box->push_back(version); |
| 57 // Add flags. | 57 // Add flags. |
| 58 box->push_back(0); | 58 box->push_back(0); |
| 59 box->push_back(0); | 59 box->push_back(0); |
| 60 box->push_back(0); | 60 box->push_back(0); |
| 61 // Add Clear Key SystemID. | 61 // Add Clear Key SystemID. |
|
ddorwin
2015/06/04 19:57:17
s/CK/Common/
jrummell
2015/06/15 22:22:10
Done in rebase (https://codereview.chromium.org/11
| |
| 62 box->push_back(0x10); | 62 box->push_back(0x10); |
| 63 box->push_back(0x77); | 63 box->push_back(0x77); |
| 64 box->push_back(0xEF); | 64 box->push_back(0xEF); |
| 65 box->push_back(0xEC); | 65 box->push_back(0xEC); |
| 66 box->push_back(0xC0); | 66 box->push_back(0xC0); |
| 67 box->push_back(0xB2); | 67 box->push_back(0xB2); |
| 68 box->push_back(0x4D); | 68 box->push_back(0x4D); |
| 69 box->push_back(0x02); | 69 box->push_back(0x02); |
| 70 box->push_back(0xAC); | 70 box->push_back(0xAC); |
| 71 box->push_back(0xE3); | 71 box->push_back(0xE3); |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 164 private: | 164 private: |
| 165 std::vector<uint8_t> key1_; | 165 std::vector<uint8_t> key1_; |
| 166 std::vector<uint8_t> key2_; | 166 std::vector<uint8_t> key2_; |
| 167 std::vector<uint8_t> key3_; | 167 std::vector<uint8_t> key3_; |
| 168 std::vector<uint8_t> key4_; | 168 std::vector<uint8_t> key4_; |
| 169 }; | 169 }; |
| 170 | 170 |
| 171 TEST_F(CencUtilsTest, EmptyPSSH) { | 171 TEST_F(CencUtilsTest, EmptyPSSH) { |
| 172 KeyIdList key_ids; | 172 KeyIdList key_ids; |
| 173 EXPECT_TRUE(ValidatePsshInput(std::vector<uint8_t>())); | 173 EXPECT_TRUE(ValidatePsshInput(std::vector<uint8_t>())); |
| 174 EXPECT_TRUE(GetKeyIdsForCommonSystemId(std::vector<uint8_t>(), &key_ids)); | 174 EXPECT_FALSE(GetKeyIdsForCommonSystemId(std::vector<uint8_t>(), &key_ids)); |
| 175 EXPECT_EQ(0u, key_ids.size()); | |
| 176 } | 175 } |
| 177 | 176 |
| 178 TEST_F(CencUtilsTest, PSSHVersion0) { | 177 TEST_F(CencUtilsTest, PSSHVersion0) { |
| 179 std::vector<uint8_t> box = MakePSSHBox(0); | 178 std::vector<uint8_t> box = MakePSSHBox(0); |
| 180 KeyIdList key_ids; | 179 KeyIdList key_ids; |
| 181 EXPECT_TRUE(ValidatePsshInput(box)); | 180 EXPECT_TRUE(ValidatePsshInput(box)); |
| 182 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | 181 EXPECT_FALSE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 183 EXPECT_EQ(0u, key_ids.size()); | |
| 184 } | 182 } |
| 185 | 183 |
| 186 TEST_F(CencUtilsTest, PSSHVersion1WithNoKeys) { | 184 TEST_F(CencUtilsTest, PSSHVersion1WithNoKeys) { |
| 187 std::vector<uint8_t> box = MakePSSHBox(1); | 185 std::vector<uint8_t> box = MakePSSHBox(1); |
| 188 KeyIdList key_ids; | 186 KeyIdList key_ids; |
| 189 EXPECT_TRUE(ValidatePsshInput(box)); | 187 EXPECT_TRUE(ValidatePsshInput(box)); |
| 190 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | 188 EXPECT_FALSE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 191 EXPECT_EQ(0u, key_ids.size()); | |
| 192 } | 189 } |
| 193 | 190 |
| 194 TEST_F(CencUtilsTest, PSSHVersion1WithOneKey) { | 191 TEST_F(CencUtilsTest, PSSHVersion1WithOneKey) { |
| 195 std::vector<uint8_t> box = MakePSSHBox(1, Key1()); | 192 std::vector<uint8_t> box = MakePSSHBox(1, Key1()); |
| 196 KeyIdList key_ids; | 193 KeyIdList key_ids; |
| 197 EXPECT_TRUE(ValidatePsshInput(box)); | 194 EXPECT_TRUE(ValidatePsshInput(box)); |
| 198 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | 195 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 199 EXPECT_EQ(1u, key_ids.size()); | 196 EXPECT_EQ(1u, key_ids.size()); |
| 200 EXPECT_EQ(key_ids[0], Key1()); | 197 EXPECT_EQ(key_ids[0], Key1()); |
| 201 } | 198 } |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 218 for (const auto& value : box1) | 215 for (const auto& value : box1) |
| 219 box0.push_back(value); | 216 box0.push_back(value); |
| 220 | 217 |
| 221 KeyIdList key_ids; | 218 KeyIdList key_ids; |
| 222 EXPECT_TRUE(ValidatePsshInput(box0)); | 219 EXPECT_TRUE(ValidatePsshInput(box0)); |
| 223 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box0, &key_ids)); | 220 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box0, &key_ids)); |
| 224 EXPECT_EQ(1u, key_ids.size()); | 221 EXPECT_EQ(1u, key_ids.size()); |
| 225 EXPECT_EQ(key_ids[0], Key1()); | 222 EXPECT_EQ(key_ids[0], Key1()); |
| 226 } | 223 } |
| 227 | 224 |
| 228 TEST_F(CencUtilsTest, PSSHVersion1Plus0) { | 225 TEST_F(CencUtilsTest, PSSHVersion1Plus0) { |
|
ddorwin
2015/06/04 19:57:17
There should be a test for Version2 then Version1
jrummell
2015/06/15 22:22:10
Done in rebase (https://codereview.chromium.org/11
| |
| 229 std::vector<uint8_t> box0 = MakePSSHBox(0); | 226 std::vector<uint8_t> box0 = MakePSSHBox(0); |
| 230 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1()); | 227 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1()); |
| 231 | 228 |
| 232 // Concatentate box0 into box1. | 229 // Concatentate box0 into box1. |
| 233 for (const auto& value : box0) | 230 for (const auto& value : box0) |
| 234 box1.push_back(value); | 231 box1.push_back(value); |
| 235 | 232 |
| 236 KeyIdList key_ids; | 233 KeyIdList key_ids; |
| 237 EXPECT_TRUE(ValidatePsshInput(box1)); | 234 EXPECT_TRUE(ValidatePsshInput(box1)); |
| 238 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box1, &key_ids)); | 235 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box1, &key_ids)); |
| (...skipping 12 matching lines...) Expand all Loading... | |
| 251 // Concatentate box2 into box. | 248 // Concatentate box2 into box. |
| 252 for (const auto& value : box2) | 249 for (const auto& value : box2) |
| 253 box.push_back(value); | 250 box.push_back(value); |
| 254 | 251 |
| 255 KeyIdList key_ids; | 252 KeyIdList key_ids; |
| 256 EXPECT_TRUE(ValidatePsshInput(box)); | 253 EXPECT_TRUE(ValidatePsshInput(box)); |
| 257 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | 254 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 258 EXPECT_EQ(4u, key_ids.size()); | 255 EXPECT_EQ(4u, key_ids.size()); |
| 259 EXPECT_EQ(key_ids[0], Key1()); | 256 EXPECT_EQ(key_ids[0], Key1()); |
| 260 EXPECT_EQ(key_ids[1], Key2()); | 257 EXPECT_EQ(key_ids[1], Key2()); |
| 261 EXPECT_EQ(key_ids[2], Key3()); | 258 EXPECT_EQ(key_ids[2], Key3()); |
|
ddorwin
2015/06/04 19:57:17
Does the code pull key IDs out of all boxes with t
jrummell
2015/06/15 22:22:10
Done.
| |
| 262 EXPECT_EQ(key_ids[3], Key4()); | 259 EXPECT_EQ(key_ids[3], Key4()); |
| 263 } | 260 } |
| 264 | 261 |
| 265 TEST_F(CencUtilsTest, InvalidPSSH) { | 262 TEST_F(CencUtilsTest, InvalidPSSH) { |
|
ddorwin
2015/06/04 19:57:17
The test name should describe *how* it is invalid.
jrummell
2015/06/15 22:22:10
Done.
| |
| 266 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); | 263 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); |
| 267 KeyIdList key_ids; | 264 KeyIdList key_ids; |
| 268 for (uint32 i = 1; i < box.size(); ++i) { | 265 for (uint32 i = 1; i < box.size(); ++i) { |
| 269 // Modify size of data passed to be less than real size. | 266 // Modify size of data passed to be less than real size. |
| 270 std::vector<uint8_t> truncated(&box[0], &box[0] + i); | 267 std::vector<uint8_t> truncated(&box[0], &box[0] + i); |
| 271 EXPECT_FALSE(ValidatePsshInput(truncated)); | 268 EXPECT_FALSE(ValidatePsshInput(truncated)); |
| 272 EXPECT_FALSE(GetKeyIdsForCommonSystemId(truncated, &key_ids)); | 269 EXPECT_FALSE(GetKeyIdsForCommonSystemId(truncated, &key_ids)); |
| 273 // Modify starting point. | 270 // Modify starting point. |
| 274 std::vector<uint8_t> changed_offset(&box[i], &box[i] + box.size() - i); | 271 std::vector<uint8_t> changed_offset(&box[i], &box[i] + box.size() - i); |
| 275 EXPECT_FALSE(ValidatePsshInput(changed_offset)); | 272 EXPECT_FALSE(ValidatePsshInput(changed_offset)); |
| 276 EXPECT_FALSE(GetKeyIdsForCommonSystemId(changed_offset, &key_ids)); | 273 EXPECT_FALSE(GetKeyIdsForCommonSystemId(changed_offset, &key_ids)); |
| 277 } | 274 } |
| 278 } | 275 } |
| 279 | 276 |
| 280 TEST_F(CencUtilsTest, InvalidSystemID) { | 277 TEST_F(CencUtilsTest, InvalidSystemID) { |
|
ddorwin
2015/06/04 19:57:17
s/Invalid/Unrecognized/
jrummell
2015/06/15 22:22:09
Done.
| |
| 281 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); | 278 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); |
| 282 | 279 |
| 283 // Modify the System ID. | 280 // Modify the System ID. |
| 284 ++box[20]; | 281 ++box[20]; |
| 285 | 282 |
| 286 KeyIdList key_ids; | 283 KeyIdList key_ids; |
| 287 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | 284 EXPECT_FALSE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 288 EXPECT_EQ(0u, key_ids.size()); | |
| 289 } | 285 } |
| 290 | 286 |
| 291 TEST_F(CencUtilsTest, InvalidFlags) { | 287 TEST_F(CencUtilsTest, InvalidFlags) { |
| 292 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); | 288 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); |
| 293 | 289 |
| 294 // Modify flags. | 290 // Modify flags. |
| 295 box[10] = 3; | 291 box[10] = 3; |
| 296 | 292 |
| 297 KeyIdList key_ids; | 293 KeyIdList key_ids; |
| 298 // TODO(jrummell): This should fail as the 'pssh' box is skipped. | 294 EXPECT_FALSE(GetKeyIdsForCommonSystemId(box, &key_ids)); |
| 299 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); | |
| 300 EXPECT_EQ(0u, key_ids.size()); | |
| 301 } | 295 } |
| 302 | 296 |
| 303 TEST_F(CencUtilsTest, LongSize) { | 297 TEST_F(CencUtilsTest, LongSize) { |
| 304 const uint8_t data[] = { | 298 const uint8_t data[] = { |
| 305 0x00, 0x00, 0x00, 0x01, // size = 1 | 299 0x00, 0x00, 0x00, 0x01, // size = 1 |
| 306 0x70, 0x73, 0x73, 0x68, // 'pssh' | 300 0x70, 0x73, 0x73, 0x68, // 'pssh' |
| 307 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, // longsize | 301 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, // longsize |
| 308 0x01, // version | 302 0x01, // version |
| 309 0x00, 0x00, 0x00, // flags | 303 0x00, 0x00, 0x00, // flags |
| 310 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID | 304 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID |
| 311 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, | 305 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, |
| 312 0x00, 0x00, 0x00, 0x02, // key count | 306 0x00, 0x00, 0x00, 0x02, // key count |
| 313 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 | 307 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 |
| 314 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, | 308 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, |
| 315 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 | 309 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 |
| 316 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, | 310 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, |
| 317 0x00, 0x00, 0x00, 0x00 // datasize | 311 0x00, 0x00, 0x00, 0x00 // datasize |
| 318 }; | 312 }; |
| 319 | 313 |
| 320 KeyIdList key_ids; | 314 KeyIdList key_ids; |
| 321 EXPECT_TRUE( | 315 EXPECT_TRUE( |
| 322 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); | 316 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); |
| 323 EXPECT_TRUE(GetKeyIdsForCommonSystemId( | 317 EXPECT_TRUE(GetKeyIdsForCommonSystemId( |
| 324 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); | 318 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); |
| 325 EXPECT_EQ(2u, key_ids.size()); | 319 EXPECT_EQ(2u, key_ids.size()); |
| 326 } | 320 } |
| 327 | 321 |
| 328 TEST_F(CencUtilsTest, NoSize) { | 322 TEST_F(CencUtilsTest, NoSize) { |
|
ddorwin
2015/06/04 19:57:17
SizeIsZero (there is a size)
jrummell
2015/06/15 22:22:09
Done.
| |
| 329 const uint8_t data[] = { | 323 const uint8_t data[] = { |
| 330 0x00, 0x00, 0x00, 0x00, // size = 0 | 324 0x00, 0x00, 0x00, 0x00, // size = 0 |
| 331 0x70, 0x73, 0x73, 0x68, // 'pssh' | 325 0x70, 0x73, 0x73, 0x68, // 'pssh' |
| 332 0x01, // version | 326 0x01, // version |
| 333 0x00, 0x00, 0x00, // flags | 327 0x00, 0x00, 0x00, // flags |
| 334 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID | 328 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID |
| 335 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, | 329 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, |
| 336 0x00, 0x00, 0x00, 0x02, // key count | 330 0x00, 0x00, 0x00, 0x02, // key count |
| 337 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 | 331 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 |
| 338 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, | 332 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, |
| 339 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 | 333 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 |
| 340 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, | 334 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, |
| 341 0x00, 0x00, 0x00, 0x00 // datasize | 335 0x00, 0x00, 0x00, 0x00 // datasize |
| 342 }; | 336 }; |
| 343 | 337 |
| 344 KeyIdList key_ids; | 338 KeyIdList key_ids; |
| 345 EXPECT_TRUE( | 339 EXPECT_TRUE( |
| 346 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); | 340 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); |
|
ddorwin
2015/06/04 19:57:17
Is size 0 valid?
jrummell
2015/06/15 22:22:10
Yes. It means the box extends to the end of the da
| |
| 347 EXPECT_TRUE(GetKeyIdsForCommonSystemId( | 341 EXPECT_TRUE(GetKeyIdsForCommonSystemId( |
| 348 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); | 342 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); |
| 349 EXPECT_EQ(2u, key_ids.size()); | 343 EXPECT_EQ(2u, key_ids.size()); |
| 350 } | 344 } |
| 351 | 345 |
| 352 TEST_F(CencUtilsTest, HugeSize) { | 346 TEST_F(CencUtilsTest, HugeSize) { |
| 353 const uint8_t data[] = { | 347 const uint8_t data[] = { |
| 354 0x00, 0x00, 0x00, 0x01, // size = 1 | 348 0x00, 0x00, 0x00, 0x01, // size = 1 |
| 355 0x70, 0x73, 0x73, 0x68, // 'pssh' | 349 0x70, 0x73, 0x73, 0x68, // 'pssh' |
| 356 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // longsize = big | 350 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, // longsize = big |
| 357 0x01, // version | 351 0x01, // version |
| 358 0x00, 0x00, 0x00, // flags | 352 0x00, 0x00, 0x00, // flags |
| 359 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID | 353 0x10, 0x77, 0xEF, 0xEC, 0xC0, 0xB2, 0x4D, 0x02, // SystemID |
| 360 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, | 354 0xAC, 0xE3, 0x3C, 0x1E, 0x52, 0xE2, 0xFB, 0x4B, |
| 361 0x00, 0x00, 0x00, 0x02, // key count | 355 0x00, 0x00, 0x00, 0x02, // key count |
| 362 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 | 356 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, // key1 |
| 363 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, | 357 0x7E, 0x57, 0x1D, 0x03, 0x7E, 0x57, 0x1D, 0x03, |
| 364 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 | 358 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, // key2 |
| 365 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, | 359 0x7E, 0x57, 0x1D, 0x04, 0x7E, 0x57, 0x1D, 0x04, |
| 366 0x00, 0x00, 0x00, 0x00 // datasize | 360 0x00, 0x00, 0x00, 0x00 // datasize |
| 367 }; | 361 }; |
| 368 | 362 |
| 369 KeyIdList key_ids; | 363 KeyIdList key_ids; |
| 370 EXPECT_FALSE( | 364 EXPECT_FALSE( |
|
ddorwin
2015/06/04 19:57:17
Explain why it fails.
jrummell
2015/06/15 22:22:10
Done.
| |
| 371 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); | 365 ValidatePsshInput(std::vector<uint8_t>(data, data + arraysize(data)))); |
| 372 EXPECT_FALSE(GetKeyIdsForCommonSystemId( | 366 EXPECT_FALSE(GetKeyIdsForCommonSystemId( |
| 373 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); | 367 std::vector<uint8_t>(data, data + arraysize(data)), &key_ids)); |
| 374 } | 368 } |
| 375 | 369 |
| 376 } // namespace media | 370 } // namespace media |
| OLD | NEW |