OLD | NEW |
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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/memory/scoped_ptr.h" | 6 #include "base/memory/scoped_ptr.h" |
7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "base/win/windows_version.h" | 9 #include "base/win/windows_version.h" |
10 #include "chrome/browser/media/media_browsertest.h" | 10 #include "chrome/browser/media/media_browsertest.h" |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 // Base class for encrypted media tests. | 105 // Base class for encrypted media tests. |
106 class EncryptedMediaTestBase : public MediaBrowserTest { | 106 class EncryptedMediaTestBase : public MediaBrowserTest { |
107 public: | 107 public: |
108 EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {} | 108 EncryptedMediaTestBase() : is_pepper_cdm_registered_(false) {} |
109 | 109 |
110 bool IsExternalClearKey(const std::string& key_system) { | 110 bool IsExternalClearKey(const std::string& key_system) { |
111 return key_system == kExternalClearKeyKeySystem || | 111 return key_system == kExternalClearKeyKeySystem || |
112 IsParentKeySystemOf(kExternalClearKeyKeySystem, key_system); | 112 IsParentKeySystemOf(kExternalClearKeyKeySystem, key_system); |
113 } | 113 } |
114 | 114 |
115 #if defined(WIDEVINE_CDM_AVAILABLE) | 115 #if defined(ENABLE_WIDEVINE_CDM) |
116 bool IsWidevine(const std::string& key_system) { | 116 bool IsWidevine(const std::string& key_system) { |
117 return key_system == kWidevineKeySystem; | 117 return key_system == kWidevineKeySystem; |
118 } | 118 } |
119 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 119 #endif // defined(ENABLE_WIDEVINE_CDM) |
120 | 120 |
121 void RunEncryptedMediaTestPage( | 121 void RunEncryptedMediaTestPage( |
122 const std::string& html_page, | 122 const std::string& html_page, |
123 const std::string& key_system, | 123 const std::string& key_system, |
124 base::StringPairs& query_params, | 124 base::StringPairs& query_params, |
125 const std::string& expected_title) { | 125 const std::string& expected_title) { |
126 base::StringPairs new_query_params = query_params; | 126 base::StringPairs new_query_params = query_params; |
127 StartLicenseServerIfNeeded(key_system, &new_query_params); | 127 StartLicenseServerIfNeeded(key_system, &new_query_params); |
128 RunMediaTestPage(html_page, new_query_params, expected_title, true); | 128 RunMediaTestPage(html_page, new_query_params, expected_title, true); |
129 } | 129 } |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 scoped_ptr<TestLicenseServerConfig> config = GetServerConfig(key_system); | 200 scoped_ptr<TestLicenseServerConfig> config = GetServerConfig(key_system); |
201 if (!config) | 201 if (!config) |
202 return; | 202 return; |
203 license_server_.reset(new TestLicenseServer(config.Pass())); | 203 license_server_.reset(new TestLicenseServer(config.Pass())); |
204 EXPECT_TRUE(license_server_->Start()); | 204 EXPECT_TRUE(license_server_->Start()); |
205 query_params->push_back( | 205 query_params->push_back( |
206 std::make_pair("licenseServerURL", license_server_->GetServerURL())); | 206 std::make_pair("licenseServerURL", license_server_->GetServerURL())); |
207 } | 207 } |
208 | 208 |
209 bool IsPlayBackPossible(const std::string& key_system) { | 209 bool IsPlayBackPossible(const std::string& key_system) { |
210 #if defined(WIDEVINE_CDM_AVAILABLE) | 210 #if defined(ENABLE_WIDEVINE_CDM) |
211 if (IsWidevine(key_system) && !GetServerConfig(key_system)) | 211 if (IsWidevine(key_system) && !GetServerConfig(key_system)) |
212 return false; | 212 return false; |
213 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 213 #endif // defined(ENABLE_WIDEVINE_CDM) |
214 return true; | 214 return true; |
215 } | 215 } |
216 | 216 |
217 scoped_ptr<TestLicenseServerConfig> GetServerConfig( | 217 scoped_ptr<TestLicenseServerConfig> GetServerConfig( |
218 const std::string& key_system) { | 218 const std::string& key_system) { |
219 #if defined(WIDEVINE_CDM_AVAILABLE) | 219 #if defined(ENABLE_WIDEVINE_CDM) |
220 if (IsWidevine(key_system)) { | 220 if (IsWidevine(key_system)) { |
221 scoped_ptr<TestLicenseServerConfig> config = | 221 scoped_ptr<TestLicenseServerConfig> config = |
222 scoped_ptr<TestLicenseServerConfig>(new WVTestLicenseServerConfig()); | 222 scoped_ptr<TestLicenseServerConfig>(new WVTestLicenseServerConfig()); |
223 if (config->IsPlatformSupported()) | 223 if (config->IsPlatformSupported()) |
224 return config.Pass(); | 224 return config.Pass(); |
225 } | 225 } |
226 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 226 #endif // defined(ENABLE_WIDEVINE_CDM) |
227 return scoped_ptr<TestLicenseServerConfig>(); | 227 return scoped_ptr<TestLicenseServerConfig>(); |
228 } | 228 } |
229 | 229 |
230 protected: | 230 protected: |
231 scoped_ptr<TestLicenseServer> license_server_; | 231 scoped_ptr<TestLicenseServer> license_server_; |
232 | 232 |
233 // We want to fail quickly when a test fails because an error is encountered. | 233 // We want to fail quickly when a test fails because an error is encountered. |
234 void AddWaitForTitles(content::TitleWatcher* title_watcher) override { | 234 void AddWaitForTitles(content::TitleWatcher* title_watcher) override { |
235 MediaBrowserTest::AddWaitForTitles(title_watcher); | 235 MediaBrowserTest::AddWaitForTitles(title_watcher); |
236 title_watcher->AlsoWaitForTitle(base::ASCIIToUTF16(kEmeNotSupportedError)); | 236 title_watcher->AlsoWaitForTitle(base::ASCIIToUTF16(kEmeNotSupportedError)); |
(...skipping 12 matching lines...) Expand all Loading... |
249 if (GetServerConfig(key_system)) | 249 if (GetServerConfig(key_system)) |
250 // Since the web and license servers listen on different ports, we need to | 250 // Since the web and license servers listen on different ports, we need to |
251 // disable web-security to send license requests to the license server. | 251 // disable web-security to send license requests to the license server. |
252 // TODO(shadi): Add port forwarding to the test web server configuration. | 252 // TODO(shadi): Add port forwarding to the test web server configuration. |
253 command_line->AppendSwitch(switches::kDisableWebSecurity); | 253 command_line->AppendSwitch(switches::kDisableWebSecurity); |
254 | 254 |
255 #if defined(ENABLE_PEPPER_CDMS) | 255 #if defined(ENABLE_PEPPER_CDMS) |
256 if (IsExternalClearKey(key_system)) { | 256 if (IsExternalClearKey(key_system)) { |
257 RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, key_system); | 257 RegisterPepperCdm(command_line, kClearKeyCdmAdapterFileName, key_system); |
258 } | 258 } |
259 #if defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) | 259 #if defined(ENABLE_WIDEVINE_CDM) && defined(WIDEVINE_CDM_IS_COMPONENT) |
260 else if (IsWidevine(key_system)) { // NOLINT | 260 else if (IsWidevine(key_system)) { // NOLINT |
261 RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, key_system); | 261 RegisterPepperCdm(command_line, kWidevineCdmAdapterFileName, key_system); |
262 } | 262 } |
263 #endif // defined(WIDEVINE_CDM_AVAILABLE) && defined(WIDEVINE_CDM_IS_COMPONENT) | 263 #endif // defined(ENABLE_WIDEVINE_CDM) && defined(WIDEVINE_CDM_IS_COMPONENT) |
264 #endif // defined(ENABLE_PEPPER_CDMS) | 264 #endif // defined(ENABLE_PEPPER_CDMS) |
265 } | 265 } |
266 | 266 |
267 private: | 267 private: |
268 #if defined(ENABLE_PEPPER_CDMS) | 268 #if defined(ENABLE_PEPPER_CDMS) |
269 void RegisterPepperCdm(CommandLine* command_line, | 269 void RegisterPepperCdm(CommandLine* command_line, |
270 const std::string& adapter_name, | 270 const std::string& adapter_name, |
271 const std::string& key_system) { | 271 const std::string& key_system) { |
272 DCHECK(!is_pepper_cdm_registered_) | 272 DCHECK(!is_pepper_cdm_registered_) |
273 << "RegisterPepperCdm() can only be called once."; | 273 << "RegisterPepperCdm() can only be called once."; |
(...skipping 12 matching lines...) Expand all Loading... |
286 pepper_plugin.append(GetPepperType(key_system)); | 286 pepper_plugin.append(GetPepperType(key_system)); |
287 #endif | 287 #endif |
288 command_line->AppendSwitchNative(switches::kRegisterPepperPlugins, | 288 command_line->AppendSwitchNative(switches::kRegisterPepperPlugins, |
289 pepper_plugin); | 289 pepper_plugin); |
290 } | 290 } |
291 | 291 |
292 // Adapted from key_systems.cc. | 292 // Adapted from key_systems.cc. |
293 std::string GetPepperType(const std::string& key_system) { | 293 std::string GetPepperType(const std::string& key_system) { |
294 if (IsExternalClearKey(key_system)) | 294 if (IsExternalClearKey(key_system)) |
295 return kClearKeyCdmPluginMimeType; | 295 return kClearKeyCdmPluginMimeType; |
296 #if defined(WIDEVINE_CDM_AVAILABLE) | 296 #if defined(ENABLE_WIDEVINE_CDM) |
297 if (IsWidevine(key_system)) | 297 if (IsWidevine(key_system)) |
298 return kWidevineCdmPluginMimeType; | 298 return kWidevineCdmPluginMimeType; |
299 #endif // WIDEVINE_CDM_AVAILABLE | 299 #endif // ENABLE_WIDEVINE_CDM |
300 | 300 |
301 NOTREACHED(); | 301 NOTREACHED(); |
302 return ""; | 302 return ""; |
303 } | 303 } |
304 #endif // defined(ENABLE_PEPPER_CDMS) | 304 #endif // defined(ENABLE_PEPPER_CDMS) |
305 | 305 |
306 bool is_pepper_cdm_registered_; | 306 bool is_pepper_cdm_registered_; |
307 }; | 307 }; |
308 | 308 |
309 #if defined(ENABLE_PEPPER_CDMS) | 309 #if defined(ENABLE_PEPPER_CDMS) |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 // enabled by default. | 341 // enabled by default. |
342 class ECKUnprefixedEncryptedMediaTest : public EncryptedMediaTestBase { | 342 class ECKUnprefixedEncryptedMediaTest : public EncryptedMediaTestBase { |
343 protected: | 343 protected: |
344 void SetUpCommandLine(CommandLine* command_line) override { | 344 void SetUpCommandLine(CommandLine* command_line) override { |
345 EncryptedMediaTestBase::SetUpCommandLine(command_line); | 345 EncryptedMediaTestBase::SetUpCommandLine(command_line); |
346 command_line->AppendSwitch(switches::kEnableEncryptedMedia); | 346 command_line->AppendSwitch(switches::kEnableEncryptedMedia); |
347 SetUpCommandLineForKeySystem(kExternalClearKeyKeySystem, command_line); | 347 SetUpCommandLineForKeySystem(kExternalClearKeyKeySystem, command_line); |
348 } | 348 } |
349 }; | 349 }; |
350 | 350 |
351 #if defined(WIDEVINE_CDM_AVAILABLE) | 351 #if defined(ENABLE_WIDEVINE_CDM) |
352 // Tests encrypted media playback using Widevine key system. | 352 // Tests encrypted media playback using Widevine key system. |
353 class WVEncryptedMediaTest : public EncryptedMediaTestBase { | 353 class WVEncryptedMediaTest : public EncryptedMediaTestBase { |
354 protected: | 354 protected: |
355 virtual void SetUpCommandLine(CommandLine* command_line) override { | 355 virtual void SetUpCommandLine(CommandLine* command_line) override { |
356 EncryptedMediaTestBase::SetUpCommandLine(command_line); | 356 EncryptedMediaTestBase::SetUpCommandLine(command_line); |
357 command_line->AppendSwitch(switches::kEnableEncryptedMedia); | 357 command_line->AppendSwitch(switches::kEnableEncryptedMedia); |
358 SetUpCommandLineForKeySystem(kWidevineKeySystem, command_line); | 358 SetUpCommandLineForKeySystem(kWidevineKeySystem, command_line); |
359 } | 359 } |
360 }; | 360 }; |
361 | 361 |
362 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 362 #endif // defined(ENABLE_WIDEVINE_CDM) |
363 #endif // defined(ENABLE_PEPPER_CDMS) | 363 #endif // defined(ENABLE_PEPPER_CDMS) |
364 | 364 |
365 // Tests encrypted media playback with a combination of parameters: | 365 // Tests encrypted media playback with a combination of parameters: |
366 // - char*: Key system name. | 366 // - char*: Key system name. |
367 // - bool: True to load media using MSE, otherwise use src. | 367 // - bool: True to load media using MSE, otherwise use src. |
368 // - bool: True to use unprefixed EME, otherwise use prefixed EME. | 368 // - bool: True to use unprefixed EME, otherwise use prefixed EME. |
369 // | 369 // |
370 // Note: Only parameterized (*_P) tests can be used. Non-parameterized (*_F) | 370 // Note: Only parameterized (*_P) tests can be used. Non-parameterized (*_F) |
371 // tests will crash at GetParam(). To add non-parameterized tests, use | 371 // tests will crash at GetParam(). To add non-parameterized tests, use |
372 // EncryptedMediaTestBase or one of its subclasses (e.g. WVEncryptedMediaTest). | 372 // EncryptedMediaTestBase or one of its subclasses (e.g. WVEncryptedMediaTest). |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 Combine(Values(kExternalClearKeyDecryptOnlyKeySystem), | 502 Combine(Values(kExternalClearKeyDecryptOnlyKeySystem), |
503 Values(MSE), | 503 Values(MSE), |
504 Values(PREFIXED))); | 504 Values(PREFIXED))); |
505 INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKeyDecryptOnly, | 505 INSTANTIATE_TEST_CASE_P(MSE_ExternalClearKeyDecryptOnly, |
506 EncryptedMediaTest, | 506 EncryptedMediaTest, |
507 Combine(Values(kExternalClearKeyDecryptOnlyKeySystem), | 507 Combine(Values(kExternalClearKeyDecryptOnlyKeySystem), |
508 Values(MSE), | 508 Values(MSE), |
509 Values(UNPREFIXED))); | 509 Values(UNPREFIXED))); |
510 #endif // defined(ENABLE_PEPPER_CDMS) | 510 #endif // defined(ENABLE_PEPPER_CDMS) |
511 | 511 |
512 #if defined(WIDEVINE_CDM_AVAILABLE) | 512 #if defined(ENABLE_WIDEVINE_CDM) |
513 // This test doesn't fully test playback with Widevine. So we only run Widevine | 513 // This test doesn't fully test playback with Widevine. So we only run Widevine |
514 // test with MSE (no SRC) to reduce test time. Also, on Android EME only works | 514 // test with MSE (no SRC) to reduce test time. Also, on Android EME only works |
515 // with MSE and we cannot run this test with SRC. | 515 // with MSE and we cannot run this test with SRC. |
516 INSTANTIATE_TEST_CASE_P(MSE_Widevine_Prefixed, | 516 INSTANTIATE_TEST_CASE_P(MSE_Widevine_Prefixed, |
517 EncryptedMediaTest, | 517 EncryptedMediaTest, |
518 Combine(Values(kWidevineKeySystem), | 518 Combine(Values(kWidevineKeySystem), |
519 Values(MSE), | 519 Values(MSE), |
520 Values(PREFIXED))); | 520 Values(PREFIXED))); |
521 | 521 |
522 // Following tests fail if Widevine is loaded as a component, crbug.com/356833. | 522 // Following tests fail if Widevine is loaded as a component, crbug.com/356833. |
523 #if !defined(WIDEVINE_CDM_IS_COMPONENT) | 523 #if !defined(WIDEVINE_CDM_IS_COMPONENT) |
524 INSTANTIATE_TEST_CASE_P(MSE_Widevine, | 524 INSTANTIATE_TEST_CASE_P(MSE_Widevine, |
525 EncryptedMediaTest, | 525 EncryptedMediaTest, |
526 Combine(Values(kWidevineKeySystem), | 526 Combine(Values(kWidevineKeySystem), |
527 Values(MSE), | 527 Values(MSE), |
528 Values(UNPREFIXED))); | 528 Values(UNPREFIXED))); |
529 #endif // !defined(WIDEVINE_CDM_IS_COMPONENT) | 529 #endif // !defined(WIDEVINE_CDM_IS_COMPONENT) |
530 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 530 #endif // defined(ENABLE_WIDEVINE_CDM) |
531 | 531 |
532 // These tests time out in Chrome OS official builds. http://crbug.com/430711 | 532 // These tests time out in Chrome OS official builds. http://crbug.com/430711 |
533 #if !(defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) | 533 #if !(defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) |
534 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, Playback_AudioOnly_WebM) { | 534 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, Playback_AudioOnly_WebM) { |
535 TestSimplePlayback("bear-a_enc-a.webm", kWebMAudioOnly); | 535 TestSimplePlayback("bear-a_enc-a.webm", kWebMAudioOnly); |
536 } | 536 } |
537 | 537 |
538 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, Playback_AudioClearVideo_WebM) { | 538 IN_PROC_BROWSER_TEST_P(EncryptedMediaTest, Playback_AudioClearVideo_WebM) { |
539 TestSimplePlayback("bear-320x240-av_enc-a.webm", kWebMAudioVideo); | 539 TestSimplePlayback("bear-320x240-av_enc-a.webm", kWebMAudioVideo); |
540 } | 540 } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 // MP4 without MSE is not support yet, http://crbug.com/170793. | 610 // MP4 without MSE is not support yet, http://crbug.com/170793. |
611 if (CurrentSourceType() != MSE) { | 611 if (CurrentSourceType() != MSE) { |
612 DVLOG(0) << "Skipping test; Can only play MP4 encrypted streams by MSE."; | 612 DVLOG(0) << "Skipping test; Can only play MP4 encrypted streams by MSE."; |
613 return; | 613 return; |
614 } | 614 } |
615 TestSimplePlayback("bear-640x360-a_frag-cenc.mp4", kMP4AudioOnly); | 615 TestSimplePlayback("bear-640x360-a_frag-cenc.mp4", kMP4AudioOnly); |
616 } | 616 } |
617 #endif // defined(USE_PROPRIETARY_CODECS) | 617 #endif // defined(USE_PROPRIETARY_CODECS) |
618 #endif // !(defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) | 618 #endif // !(defined(OS_CHROMEOS) && defined(OFFICIAL_BUILD)) |
619 | 619 |
620 #if defined(WIDEVINE_CDM_AVAILABLE) | 620 #if defined(ENABLE_WIDEVINE_CDM) |
621 // The parent key system cannot be used in generateKeyRequest. | 621 // The parent key system cannot be used in generateKeyRequest. |
622 IN_PROC_BROWSER_TEST_F(WVEncryptedMediaTest, ParentThrowsException_Prefixed) { | 622 IN_PROC_BROWSER_TEST_F(WVEncryptedMediaTest, ParentThrowsException_Prefixed) { |
623 RunEncryptedMediaTest(kDefaultEmePlayer, | 623 RunEncryptedMediaTest(kDefaultEmePlayer, |
624 "bear-a_enc-a.webm", | 624 "bear-a_enc-a.webm", |
625 kWebMAudioOnly, | 625 kWebMAudioOnly, |
626 "com.widevine", | 626 "com.widevine", |
627 MSE, | 627 MSE, |
628 PREFIXED, | 628 PREFIXED, |
629 kNoSessionToLoad, | 629 kNoSessionToLoad, |
630 false, | 630 false, |
631 kEmeNotSupportedError); | 631 kEmeNotSupportedError); |
632 } | 632 } |
633 | 633 |
634 // TODO(jrummell): http://crbug.com/349181 | 634 // TODO(jrummell): http://crbug.com/349181 |
635 // The parent key system cannot be used when creating MediaKeys. | 635 // The parent key system cannot be used when creating MediaKeys. |
636 IN_PROC_BROWSER_TEST_F(WVEncryptedMediaTest, ParentThrowsException) { | 636 IN_PROC_BROWSER_TEST_F(WVEncryptedMediaTest, ParentThrowsException) { |
637 RunEncryptedMediaTest(kDefaultEmePlayer, | 637 RunEncryptedMediaTest(kDefaultEmePlayer, |
638 "bear-a_enc-a.webm", | 638 "bear-a_enc-a.webm", |
639 kWebMAudioOnly, | 639 kWebMAudioOnly, |
640 "com.widevine", | 640 "com.widevine", |
641 MSE, | 641 MSE, |
642 UNPREFIXED, | 642 UNPREFIXED, |
643 kNoSessionToLoad, | 643 kNoSessionToLoad, |
644 false, | 644 false, |
645 kEmeNotSupportedError); | 645 kEmeNotSupportedError); |
646 } | 646 } |
647 #endif // defined(WIDEVINE_CDM_AVAILABLE) | 647 #endif // defined(ENABLE_WIDEVINE_CDM) |
648 | 648 |
649 #if defined(ENABLE_PEPPER_CDMS) | 649 #if defined(ENABLE_PEPPER_CDMS) |
650 IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, InitializeCDMFail) { | 650 IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, InitializeCDMFail) { |
651 TestNonPlaybackCases(kExternalClearKeyInitializeFailKeySystem, kEmeKeyError); | 651 TestNonPlaybackCases(kExternalClearKeyInitializeFailKeySystem, kEmeKeyError); |
652 } | 652 } |
653 | 653 |
654 // When CDM crashes, we should still get a decode error. | 654 // When CDM crashes, we should still get a decode error. |
655 // crbug.com/386657 | 655 // crbug.com/386657 |
656 IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, DISABLED_CDMCrashDuringDecode) { | 656 IN_PROC_BROWSER_TEST_F(ECKEncryptedMediaTest, DISABLED_CDMCrashDuringDecode) { |
657 IgnorePluginCrash(); | 657 IgnorePluginCrash(); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 "bear-320x240-v_enc-v.webm", | 715 "bear-320x240-v_enc-v.webm", |
716 kWebMVideoOnly, | 716 kWebMVideoOnly, |
717 kExternalClearKeyKeySystem, | 717 kExternalClearKeyKeySystem, |
718 SRC, | 718 SRC, |
719 UNPREFIXED, | 719 UNPREFIXED, |
720 kUnknownSession, | 720 kUnknownSession, |
721 false, | 721 false, |
722 kEmeKeyError); | 722 kEmeKeyError); |
723 } | 723 } |
724 #endif // defined(ENABLE_PEPPER_CDMS) | 724 #endif // defined(ENABLE_PEPPER_CDMS) |
OLD | NEW |