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

Side by Side Diff: content/renderer/media/crypto/key_systems_unittest.cc

Issue 252513005: Encrypted Media: Add VP9 support to IsTypeSupported(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase only Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "content/public/common/content_client.h" 8 #include "content/public/common/content_client.h"
9 #include "content/public/renderer/content_renderer_client.h" 9 #include "content/public/renderer/content_renderer_client.h"
10 #include "content/public/renderer/key_system_info.h" 10 #include "content/public/renderer/key_system_info.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 key_systems->push_back(ext); 113 key_systems->push_back(ext);
114 } 114 }
115 115
116 class KeySystemsTest : public testing::Test { 116 class KeySystemsTest : public testing::Test {
117 protected: 117 protected:
118 KeySystemsTest() { 118 KeySystemsTest() {
119 vp8_codec_.push_back("vp8"); 119 vp8_codec_.push_back("vp8");
120 120
121 vp80_codec_.push_back("vp8.0"); 121 vp80_codec_.push_back("vp8.0");
122 122
123 vp9_codec_.push_back("vp9");
124
125 vp90_codec_.push_back("vp9.0");
126
123 vorbis_codec_.push_back("vorbis"); 127 vorbis_codec_.push_back("vorbis");
124 128
125 vp8_and_vorbis_codecs_.push_back("vp8"); 129 vp8_and_vorbis_codecs_.push_back("vp8");
126 vp8_and_vorbis_codecs_.push_back("vorbis"); 130 vp8_and_vorbis_codecs_.push_back("vorbis");
127 131
132 vp9_and_vorbis_codecs_.push_back("vp9");
133 vp9_and_vorbis_codecs_.push_back("vorbis");
134
128 foovideo_codec_.push_back("foovideo"); 135 foovideo_codec_.push_back("foovideo");
129 136
130 foovideo_extended_codec_.push_back("foovideo.4D400C"); 137 foovideo_extended_codec_.push_back("foovideo.4D400C");
131 138
132 foovideo_dot_codec_.push_back("foovideo."); 139 foovideo_dot_codec_.push_back("foovideo.");
133 140
134 fooaudio_codec_.push_back("fooaudio"); 141 fooaudio_codec_.push_back("fooaudio");
135 142
136 foovideo_and_fooaudio_codecs_.push_back("foovideo"); 143 foovideo_and_fooaudio_codecs_.push_back("foovideo");
137 foovideo_and_fooaudio_codecs_.push_back("fooaudio"); 144 foovideo_and_fooaudio_codecs_.push_back("fooaudio");
(...skipping 22 matching lines...) Expand all
160 // Clear the use of content_client_, which was set in SetUp(). 167 // Clear the use of content_client_, which was set in SetUp().
161 SetContentClient(NULL); 168 SetContentClient(NULL);
162 } 169 }
163 170
164 typedef std::vector<std::string> CodecVector; 171 typedef std::vector<std::string> CodecVector;
165 172
166 const CodecVector& no_codecs() const { return no_codecs_; } 173 const CodecVector& no_codecs() const { return no_codecs_; }
167 174
168 const CodecVector& vp8_codec() const { return vp8_codec_; } 175 const CodecVector& vp8_codec() const { return vp8_codec_; }
169 const CodecVector& vp80_codec() const { return vp80_codec_; } 176 const CodecVector& vp80_codec() const { return vp80_codec_; }
177 const CodecVector& vp9_codec() const { return vp9_codec_; }
178 const CodecVector& vp90_codec() const { return vp90_codec_; }
179
170 const CodecVector& vorbis_codec() const { return vorbis_codec_; } 180 const CodecVector& vorbis_codec() const { return vorbis_codec_; }
181
171 const CodecVector& vp8_and_vorbis_codecs() const { 182 const CodecVector& vp8_and_vorbis_codecs() const {
172 return vp8_and_vorbis_codecs_; 183 return vp8_and_vorbis_codecs_;
173 } 184 }
185 const CodecVector& vp9_and_vorbis_codecs() const {
186 return vp9_and_vorbis_codecs_;
187 }
174 188
175 const CodecVector& foovideo_codec() const { return foovideo_codec_; } 189 const CodecVector& foovideo_codec() const { return foovideo_codec_; }
176 const CodecVector& foovideo_extended_codec() const { 190 const CodecVector& foovideo_extended_codec() const {
177 return foovideo_extended_codec_; 191 return foovideo_extended_codec_;
178 } 192 }
179 const CodecVector& foovideo_dot_codec() const { return foovideo_dot_codec_; } 193 const CodecVector& foovideo_dot_codec() const { return foovideo_dot_codec_; }
180 const CodecVector& fooaudio_codec() const { return fooaudio_codec_; } 194 const CodecVector& fooaudio_codec() const { return fooaudio_codec_; }
181 const CodecVector& foovideo_and_fooaudio_codecs() const { 195 const CodecVector& foovideo_and_fooaudio_codecs() const {
182 return foovideo_and_fooaudio_codecs_; 196 return foovideo_and_fooaudio_codecs_;
183 } 197 }
184 198
185 const CodecVector& unknown_codec() const { return unknown_codec_; } 199 const CodecVector& unknown_codec() const { return unknown_codec_; }
186 200
187 const CodecVector& mixed_codecs() const { return mixed_codecs_; } 201 const CodecVector& mixed_codecs() const { return mixed_codecs_; }
188 202
189 private: 203 private:
190 const CodecVector no_codecs_; 204 const CodecVector no_codecs_;
191
192 CodecVector vp8_codec_; 205 CodecVector vp8_codec_;
193 CodecVector vp80_codec_; 206 CodecVector vp80_codec_;
207 CodecVector vp9_codec_;
208 CodecVector vp90_codec_;
194 CodecVector vorbis_codec_; 209 CodecVector vorbis_codec_;
195 CodecVector vp8_and_vorbis_codecs_; 210 CodecVector vp8_and_vorbis_codecs_;
211 CodecVector vp9_and_vorbis_codecs_;
196 212
197 CodecVector foovideo_codec_; 213 CodecVector foovideo_codec_;
198 CodecVector foovideo_extended_codec_; 214 CodecVector foovideo_extended_codec_;
199 CodecVector foovideo_dot_codec_; 215 CodecVector foovideo_dot_codec_;
200 CodecVector fooaudio_codec_; 216 CodecVector fooaudio_codec_;
201 CodecVector foovideo_and_fooaudio_codecs_; 217 CodecVector foovideo_and_fooaudio_codecs_;
202 218
203 CodecVector unknown_codec_; 219 CodecVector unknown_codec_;
204 220
205 CodecVector mixed_codecs_; 221 CodecVector mixed_codecs_;
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 TEST_F(KeySystemsTest, 292 TEST_F(KeySystemsTest,
277 IsSupportedKeySystemWithMediaMimeType_UsesAesDecryptor_TypesContainer1) { 293 IsSupportedKeySystemWithMediaMimeType_UsesAesDecryptor_TypesContainer1) {
278 // Valid video types. 294 // Valid video types.
279 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 295 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
280 kVideoWebM, vp8_codec(), kUsesAes)); 296 kVideoWebM, vp8_codec(), kUsesAes));
281 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 297 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
282 kVideoWebM, vp80_codec(), kUsesAes)); 298 kVideoWebM, vp80_codec(), kUsesAes));
283 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 299 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
284 kVideoWebM, vp8_and_vorbis_codecs(), kUsesAes)); 300 kVideoWebM, vp8_and_vorbis_codecs(), kUsesAes));
285 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 301 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
302 kVideoWebM, vp9_codec(), kUsesAes));
303 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
304 kVideoWebM, vp90_codec(), kUsesAes));
305 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
306 kVideoWebM, vp9_and_vorbis_codecs(), kUsesAes));
307 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
286 kVideoWebM, vorbis_codec(), kUsesAes)); 308 kVideoWebM, vorbis_codec(), kUsesAes));
287 309
288 // Non-Webm codecs. 310 // Non-Webm codecs.
289 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 311 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
290 kVideoWebM, foovideo_codec(), kUsesAes)); 312 kVideoWebM, foovideo_codec(), kUsesAes));
291 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 313 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
292 kVideoWebM, unknown_codec(), kUsesAes)); 314 kVideoWebM, unknown_codec(), kUsesAes));
293 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 315 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
294 kVideoWebM, mixed_codecs(), kUsesAes)); 316 kVideoWebM, mixed_codecs(), kUsesAes));
295 317
296 // Valid audio types. 318 // Valid audio types.
297 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 319 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
298 kAudioWebM, no_codecs(), kUsesAes)); 320 kAudioWebM, no_codecs(), kUsesAes));
299 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 321 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
300 kAudioWebM, vorbis_codec(), kUsesAes)); 322 kAudioWebM, vorbis_codec(), kUsesAes));
301 323
302 // Non-audio codecs. 324 // Non-audio codecs.
303 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 325 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
304 kAudioWebM, vp8_codec(), kUsesAes)); 326 kAudioWebM, vp8_codec(), kUsesAes));
305 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 327 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
306 kAudioWebM, vp8_and_vorbis_codecs(), kUsesAes)); 328 kAudioWebM, vp8_and_vorbis_codecs(), kUsesAes));
329 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
330 kAudioWebM, vp9_codec(), kUsesAes));
331 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
332 kAudioWebM, vp9_and_vorbis_codecs(), kUsesAes));
307 333
308 // Non-Webm codec. 334 // Non-Webm codec.
309 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 335 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
310 kAudioWebM, fooaudio_codec(), kUsesAes)); 336 kAudioWebM, fooaudio_codec(), kUsesAes));
311 } 337 }
312 338
313 // No parent is registered for UsesAes. 339 // No parent is registered for UsesAes.
314 TEST_F(KeySystemsTest, Parent_NoParentRegistered) { 340 TEST_F(KeySystemsTest, Parent_NoParentRegistered) {
315 EXPECT_FALSE(IsConcreteSupportedKeySystem(kUsesAesParent)); 341 EXPECT_FALSE(IsConcreteSupportedKeySystem(kUsesAesParent));
316 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 342 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 // Valid video types. 496 // Valid video types.
471 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 497 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
472 kVideoWebM, no_codecs(), kExternal)); 498 kVideoWebM, no_codecs(), kExternal));
473 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 499 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
474 kVideoWebM, vp8_codec(), kExternal)); 500 kVideoWebM, vp8_codec(), kExternal));
475 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 501 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
476 kVideoWebM, vp80_codec(), kExternal)); 502 kVideoWebM, vp80_codec(), kExternal));
477 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 503 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
478 kVideoWebM, vp8_and_vorbis_codecs(), kExternal)); 504 kVideoWebM, vp8_and_vorbis_codecs(), kExternal));
479 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 505 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
506 kVideoWebM, vp9_codec(), kExternal));
507 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
508 kVideoWebM, vp90_codec(), kExternal));
509 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
510 kVideoWebM, vp9_and_vorbis_codecs(), kExternal));
511 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
480 kVideoWebM, vorbis_codec(), kExternal)); 512 kVideoWebM, vorbis_codec(), kExternal));
481 513
482 // Valid video types - parent key system. 514 // Valid video types - parent key system.
483 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 515 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
484 kVideoWebM, no_codecs(), kExternalParent)); 516 kVideoWebM, no_codecs(), kExternalParent));
485 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 517 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
486 kVideoWebM, vp8_codec(), kExternalParent)); 518 kVideoWebM, vp8_codec(), kExternalParent));
487 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 519 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
488 kVideoWebM, vp80_codec(), kExternalParent)); 520 kVideoWebM, vp80_codec(), kExternalParent));
489 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 521 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
490 kVideoWebM, vp8_and_vorbis_codecs(), kExternalParent)); 522 kVideoWebM, vp8_and_vorbis_codecs(), kExternalParent));
491 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 523 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
524 kVideoWebM, vp9_codec(), kExternalParent));
525 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
526 kVideoWebM, vp90_codec(), kExternalParent));
527 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
528 kVideoWebM, vp9_and_vorbis_codecs(), kExternalParent));
529 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
492 kVideoWebM, vorbis_codec(), kExternalParent)); 530 kVideoWebM, vorbis_codec(), kExternalParent));
493 531
494 // Non-Webm codecs. 532 // Non-Webm codecs.
495 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 533 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
496 kVideoWebM, foovideo_codec(), kExternal)); 534 kVideoWebM, foovideo_codec(), kExternal));
497 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 535 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
498 kVideoWebM, unknown_codec(), kExternal)); 536 kVideoWebM, unknown_codec(), kExternal));
499 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 537 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
500 kVideoWebM, mixed_codecs(), kExternal)); 538 kVideoWebM, mixed_codecs(), kExternal));
501 539
502 // Valid audio types. 540 // Valid audio types.
503 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 541 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
504 kAudioWebM, no_codecs(), kExternal)); 542 kAudioWebM, no_codecs(), kExternal));
505 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 543 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
506 kAudioWebM, vorbis_codec(), kExternal)); 544 kAudioWebM, vorbis_codec(), kExternal));
507 545
508 // Valid audio types - parent key system. 546 // Valid audio types - parent key system.
509 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 547 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
510 kAudioWebM, no_codecs(), kExternalParent)); 548 kAudioWebM, no_codecs(), kExternalParent));
511 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType( 549 EXPECT_TRUE(IsSupportedKeySystemWithMediaMimeType(
512 kAudioWebM, vorbis_codec(), kExternalParent)); 550 kAudioWebM, vorbis_codec(), kExternalParent));
513 551
514 // Non-audio codecs. 552 // Non-audio codecs.
515 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 553 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
516 kAudioWebM, vp8_codec(), kExternal)); 554 kAudioWebM, vp8_codec(), kExternal));
517 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 555 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
518 kAudioWebM, vp8_and_vorbis_codecs(), kExternal)); 556 kAudioWebM, vp8_and_vorbis_codecs(), kExternal));
557 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
558 kAudioWebM, vp9_codec(), kExternal));
559 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
560 kAudioWebM, vp9_and_vorbis_codecs(), kExternal));
519 561
520 // Non-Webm codec. 562 // Non-Webm codec.
521 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType( 563 EXPECT_FALSE(IsSupportedKeySystemWithMediaMimeType(
522 kAudioWebM, fooaudio_codec(), kExternal)); 564 kAudioWebM, fooaudio_codec(), kExternal));
523 } 565 }
524 566
525 TEST_F( 567 TEST_F(
526 KeySystemsTest, 568 KeySystemsTest,
527 IsSupportedKeySystemWithMediaMimeType_ExternalDecryptor_TypesContainer2) { 569 IsSupportedKeySystemWithMediaMimeType_ExternalDecryptor_TypesContainer2) {
528 // Valid video types. 570 // Valid video types.
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 637
596 #if defined(WIDEVINE_CDM_AVAILABLE) 638 #if defined(WIDEVINE_CDM_AVAILABLE)
597 const char* const kTestWidevineUmaName = "Widevine"; 639 const char* const kTestWidevineUmaName = "Widevine";
598 #else 640 #else
599 const char* const kTestWidevineUmaName = "Unknown"; 641 const char* const kTestWidevineUmaName = "Unknown";
600 #endif 642 #endif
601 EXPECT_EQ(kTestWidevineUmaName, KeySystemNameForUMA("com.widevine.alpha")); 643 EXPECT_EQ(kTestWidevineUmaName, KeySystemNameForUMA("com.widevine.alpha"));
602 } 644 }
603 645
604 } // namespace content 646 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/crypto/key_systems.cc ('k') | third_party/widevine/cdm/widevine_cdm_common.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698