Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: media/cdm/cenc_utils_unittest.cc

Issue 1199643002: Have GetKeyIds() return the key IDs from the first matching 'pssh' box (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: back to GetKeyIdsForCommonSystemId Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/cdm/cenc_utils.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 EXPECT_EQ(key_ids[0], Key1()); 215 EXPECT_EQ(key_ids[0], Key1());
216 EXPECT_EQ(key_ids[1], Key2()); 216 EXPECT_EQ(key_ids[1], Key2());
217 } 217 }
218 218
219 TEST_F(CencUtilsTest, PSSHVersion0Plus1) { 219 TEST_F(CencUtilsTest, PSSHVersion0Plus1) {
220 std::vector<uint8_t> box0 = MakePSSHBox(0); 220 std::vector<uint8_t> box0 = MakePSSHBox(0);
221 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1()); 221 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1());
222 222
223 // Concatentate box1 onto end of box0. 223 // Concatentate box1 onto end of box0.
224 box0.insert(box0.end(), box1.begin(), box1.end()); 224 box0.insert(box0.end(), box1.begin(), box1.end());
225 EXPECT_TRUE(ValidatePsshInput(box0));
225 226
227 // No key IDs returned as only the first 'pssh' box is processed.
226 KeyIdList key_ids; 228 KeyIdList key_ids;
227 EXPECT_TRUE(ValidatePsshInput(box0)); 229 EXPECT_FALSE(GetKeyIdsForCommonSystemId(box0, &key_ids));
228 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box0, &key_ids));
229 EXPECT_EQ(1u, key_ids.size());
230 EXPECT_EQ(key_ids[0], Key1());
231 } 230 }
232 231
233 TEST_F(CencUtilsTest, PSSHVersion1Plus0) { 232 TEST_F(CencUtilsTest, PSSHVersion1Plus0) {
234 std::vector<uint8_t> box0 = MakePSSHBox(0); 233 std::vector<uint8_t> box0 = MakePSSHBox(0);
235 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1()); 234 std::vector<uint8_t> box1 = MakePSSHBox(1, Key1());
236 235
237 // Concatentate box0 onto end of box1. 236 // Concatentate box0 onto end of box1.
238 box1.insert(box1.end(), box0.begin(), box0.end()); 237 box1.insert(box1.end(), box0.begin(), box0.end());
239 238
240 KeyIdList key_ids; 239 KeyIdList key_ids;
241 EXPECT_TRUE(ValidatePsshInput(box1)); 240 EXPECT_TRUE(ValidatePsshInput(box1));
242 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box1, &key_ids)); 241 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box1, &key_ids));
243 EXPECT_EQ(1u, key_ids.size()); 242 EXPECT_EQ(1u, key_ids.size());
244 EXPECT_EQ(key_ids[0], Key1()); 243 EXPECT_EQ(key_ids[0], Key1());
245 } 244 }
246 245
247 TEST_F(CencUtilsTest, MultiplePSSHVersion1) { 246 TEST_F(CencUtilsTest, MultiplePSSHVersion1) {
248 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); 247 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
249 std::vector<uint8_t> box1 = MakePSSHBox(1, Key3()); 248 std::vector<uint8_t> box1 = MakePSSHBox(1, Key3());
250 std::vector<uint8_t> box2 = MakePSSHBox(1, Key4()); 249 std::vector<uint8_t> box2 = MakePSSHBox(1, Key4());
251 250
252 // Concatentate box1 and box2 onto end of box. 251 // Concatentate box1 and box2 onto end of box.
253 box.insert(box.end(), box1.begin(), box1.end()); 252 box.insert(box.end(), box1.begin(), box1.end());
254 box.insert(box.end(), box2.begin(), box2.end()); 253 box.insert(box.end(), box2.begin(), box2.end());
255 254
256 KeyIdList key_ids; 255 KeyIdList key_ids;
257 EXPECT_TRUE(ValidatePsshInput(box)); 256 EXPECT_TRUE(ValidatePsshInput(box));
258 // TODO(jrummell): GetKeyIdsForCommonSystemId() returns the key IDs out of
259 // all matching boxes. It should only return the key IDs from the first
260 // matching box.
261 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids)); 257 EXPECT_TRUE(GetKeyIdsForCommonSystemId(box, &key_ids));
262 EXPECT_EQ(4u, key_ids.size()); 258 EXPECT_EQ(2u, key_ids.size());
263 EXPECT_EQ(key_ids[0], Key1()); 259 EXPECT_EQ(key_ids[0], Key1());
264 EXPECT_EQ(key_ids[1], Key2()); 260 EXPECT_EQ(key_ids[1], Key2());
265 EXPECT_EQ(key_ids[2], Key3());
266 EXPECT_EQ(key_ids[3], Key4());
267 } 261 }
268 262
269 TEST_F(CencUtilsTest, PsshBoxSmallerThanSize) { 263 TEST_F(CencUtilsTest, PsshBoxSmallerThanSize) {
270 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2()); 264 std::vector<uint8_t> box = MakePSSHBox(1, Key1(), Key2());
271 KeyIdList key_ids; 265 KeyIdList key_ids;
272 266
273 // Tries every buffer size less than the indicated 'pssh' box size. 267 // Tries every buffer size less than the indicated 'pssh' box size.
274 for (size_t i = 1; i < box.size(); ++i) { 268 for (size_t i = 1; i < box.size(); ++i) {
275 // Truncate the box to be less than the specified box size. 269 // Truncate the box to be less than the specified box size.
276 std::vector<uint8_t> truncated(&box[0], &box[0] + i); 270 std::vector<uint8_t> truncated(&box[0], &box[0] + i);
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 std::vector<uint8_t> box2 = MakePSSHBox(0); 516 std::vector<uint8_t> box2 = MakePSSHBox(0);
523 std::vector<uint8_t> data2(data2_bytes, data2_bytes + arraysize(data2_bytes)); 517 std::vector<uint8_t> data2(data2_bytes, data2_bytes + arraysize(data2_bytes));
524 AppendData(box2, data2); 518 AppendData(box2, data2);
525 519
526 box1.insert(box1.end(), box2.begin(), box2.end()); 520 box1.insert(box1.end(), box2.begin(), box2.end());
527 EXPECT_TRUE(GetPsshData(box1, CommonSystemSystemId(), &pssh_data)); 521 EXPECT_TRUE(GetPsshData(box1, CommonSystemSystemId(), &pssh_data));
528 EXPECT_EQ(data1, pssh_data); 522 EXPECT_EQ(data1, pssh_data);
529 EXPECT_NE(data2, pssh_data); 523 EXPECT_NE(data2, pssh_data);
530 } 524 }
531 } // namespace media 525 } // namespace media
OLDNEW
« no previous file with comments | « media/cdm/cenc_utils.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698