OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 | 6 |
7 #include "content/browser/media/media_browsertest.h" | 7 #include "content/browser/media/media_browsertest.h" |
8 #include "content/public/test/browser_test_utils.h" | 8 #include "content/public/test/browser_test_utils.h" |
9 #include "content/public/test/content_browser_test_utils.h" | 9 #include "content/public/test/content_browser_test_utils.h" |
10 #include "content/shell/browser/shell.h" | 10 #include "content/shell/browser/shell.h" |
(...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) { | 391 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) { |
392 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'")); | 392 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'")); |
393 | 393 |
394 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'")); | 394 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1\"'")); |
395 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3\"'")); | 395 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3\"'")); |
396 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40\"'")); | 396 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40\"'")); |
397 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40\"'")); | 397 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40\"'")); |
398 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40\"'")); | 398 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40\"'")); |
399 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'")); | 399 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'")); |
400 | 400 |
401 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'")); | 401 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42E01E\"'")); |
402 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'")); | 402 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42E01E\"'")); |
403 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'")); | 403 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'")); |
| 404 EXPECT_EQ(kPropProbably, |
| 405 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
| 406 EXPECT_EQ(kPropProbably, |
| 407 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 408 |
| 409 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1, mp4a.40.2\"'")); |
| 410 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3, mp4a.40.2\"'")); |
404 EXPECT_EQ(kPropMaybe, | 411 EXPECT_EQ(kPropMaybe, |
405 CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 412 CanPlay("'video/mp4; codecs=\"avc1.42E01E, mp4a.40\"'")); |
406 EXPECT_EQ(kPropMaybe, | 413 EXPECT_EQ(kPropMaybe, |
407 CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 414 CanPlay("'video/mp4; codecs=\"avc3.42E01E, mp4a.40\"'")); |
408 | 415 |
409 TestMPEGUnacceptableCombinations("video/mp4"); | 416 TestMPEGUnacceptableCombinations("video/mp4"); |
410 | 417 |
411 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'")); | 418 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'")); |
412 | 419 |
413 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1\"'")); | 420 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1\"'")); |
414 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3\"'")); | 421 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3\"'")); |
415 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40\"'")); | 422 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40\"'")); |
416 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40\"'")); | 423 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40\"'")); |
417 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40\"'")); | 424 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40\"'")); |
418 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'")); | 425 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'")); |
419 | 426 |
420 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1.4D401E\"'")); | 427 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.42E01E\"'")); |
421 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3.64001F\"'")); | 428 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.42E01E\"'")); |
422 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'")); | 429 EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'")); |
| 430 EXPECT_EQ(kPropProbably, |
| 431 CanPlay("'video/x-m4v; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
| 432 EXPECT_EQ(kPropProbably, |
| 433 CanPlay("'video/x-m4v; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 434 |
| 435 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a.40.2\"'")); |
| 436 EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a.40.2\"'")); |
423 EXPECT_EQ(kPropMaybe, | 437 EXPECT_EQ(kPropMaybe, |
424 CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 438 CanPlay("'video/x-m4v; codecs=\"avc1.42E01E, mp4a.40\"'")); |
425 EXPECT_EQ(kPropMaybe, | 439 EXPECT_EQ(kPropMaybe, |
426 CanPlay("'video/x-m4v; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 440 CanPlay("'video/x-m4v; codecs=\"avc3.42E01E, mp4a.40\"'")); |
427 | 441 |
428 TestMPEGUnacceptableCombinations("video/x-m4v"); | 442 TestMPEGUnacceptableCombinations("video/x-m4v"); |
429 | 443 |
430 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); | 444 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'")); |
431 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'")); | 445 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40\"'")); |
432 EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); | 446 EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'")); |
433 | 447 |
434 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'")); | 448 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1\"'")); |
435 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'")); | 449 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3\"'")); |
436 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'")); | 450 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1, mp4a.40\"'")); |
437 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'")); | 451 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3, mp4a.40\"'")); |
438 | 452 |
439 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); | 453 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'")); |
440 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); | 454 EXPECT_EQ(kNot, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'")); |
441 | 455 |
442 TestMPEGUnacceptableCombinations("audio/mp4"); | 456 TestMPEGUnacceptableCombinations("audio/mp4"); |
443 | 457 |
444 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); | 458 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'")); |
445 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'")); | 459 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40\"'")); |
446 EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); | 460 EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'")); |
447 | 461 |
448 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); | 462 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1\"'")); |
449 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); | 463 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3\"'")); |
450 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); | 464 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'")); |
451 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); | 465 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'")); |
452 | 466 |
453 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); | 467 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'")); |
454 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); | 468 EXPECT_EQ(kNot, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'")); |
455 | 469 |
456 TestMPEGUnacceptableCombinations("audio/x-m4a"); | 470 TestMPEGUnacceptableCombinations("audio/x-m4a"); |
457 } | 471 } |
458 | 472 |
459 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) { | 473 IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) { |
460 // HLS are supported only on Android IceCreamSandwich and above (API level 14) | 474 // HLS are supported only on Android IceCreamSandwich and above (API level 14) |
461 std::string canPlayHLS = kNot; | 475 std::string probablyCanPlayHLS = kNot; |
| 476 std::string maybeCanPlayHLS = kNot; |
462 #if defined(OS_ANDROID) | 477 #if defined(OS_ANDROID) |
463 if (base::android::BuildInfo::GetInstance()->sdk_int() > 13) | 478 if (base::android::BuildInfo::GetInstance()->sdk_int() > 13) { |
464 canPlayHLS = kMaybe; | 479 probablyCanPlayHLS = kProbably; |
| 480 maybeCanPlayHLS = kMaybe; |
| 481 } |
465 #endif | 482 #endif |
466 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl'")); | 483 EXPECT_EQ(maybeCanPlayHLS, CanPlay("'application/x-mpegurl'")); |
467 | 484 |
468 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"avc1\"'")); | 485 EXPECT_EQ(maybeCanPlayHLS, |
469 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"avc3\"'")); | 486 CanPlay("'application/x-mpegurl; codecs=\"avc1\"'")); |
470 EXPECT_EQ(canPlayHLS, CanPlay("'application/x-mpegurl; codecs=\"mp4a.40\"'")); | 487 EXPECT_EQ(maybeCanPlayHLS, |
471 EXPECT_EQ(canPlayHLS, | 488 CanPlay("'application/x-mpegurl; codecs=\"avc3\"'")); |
| 489 EXPECT_EQ(maybeCanPlayHLS, |
| 490 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40\"'")); |
| 491 EXPECT_EQ(maybeCanPlayHLS, |
472 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40\"'")); | 492 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40\"'")); |
473 EXPECT_EQ(canPlayHLS, | 493 EXPECT_EQ(maybeCanPlayHLS, |
474 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40\"'")); | 494 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40\"'")); |
475 | 495 |
476 EXPECT_EQ(canPlayHLS, | 496 EXPECT_EQ(probablyCanPlayHLS, |
477 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'")); | 497 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E\"'")); |
478 EXPECT_EQ(canPlayHLS, | 498 EXPECT_EQ(probablyCanPlayHLS, |
479 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'")); | 499 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E\"'")); |
480 EXPECT_EQ(canPlayHLS, | 500 EXPECT_EQ(probablyCanPlayHLS, |
481 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'")); | 501 CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'")); |
482 EXPECT_EQ(canPlayHLS, | 502 EXPECT_EQ(probablyCanPlayHLS, |
483 CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'")); | 503 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40.2\"'")); |
484 EXPECT_EQ(canPlayHLS, | 504 EXPECT_EQ(probablyCanPlayHLS, |
485 CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'")); | 505 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40.5\"'")); |
| 506 |
| 507 EXPECT_EQ(maybeCanPlayHLS, |
| 508 CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.2\"'")); |
| 509 EXPECT_EQ(maybeCanPlayHLS, |
| 510 CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.2\"'")); |
| 511 EXPECT_EQ(maybeCanPlayHLS, |
| 512 CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 513 EXPECT_EQ(maybeCanPlayHLS, |
| 514 CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40\"'")); |
486 | 515 |
487 TestMPEGUnacceptableCombinations("application/x-mpegurl"); | 516 TestMPEGUnacceptableCombinations("application/x-mpegurl"); |
488 | 517 |
489 EXPECT_EQ(canPlayHLS, CanPlay("'application/vnd.apple.mpegurl'")); | 518 EXPECT_EQ(maybeCanPlayHLS, CanPlay("'application/vnd.apple.mpegurl'")); |
490 | 519 |
491 EXPECT_EQ(canPlayHLS, | 520 EXPECT_EQ(maybeCanPlayHLS, |
492 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'")); | 521 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'")); |
493 EXPECT_EQ(canPlayHLS, | 522 EXPECT_EQ(maybeCanPlayHLS, |
494 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'")); | 523 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'")); |
495 EXPECT_EQ(canPlayHLS, | 524 EXPECT_EQ(maybeCanPlayHLS, |
496 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40\"'")); | 525 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40\"'")); |
497 EXPECT_EQ(canPlayHLS, | 526 EXPECT_EQ(maybeCanPlayHLS, |
498 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40\"'")); | 527 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40\"'")); |
499 EXPECT_EQ(canPlayHLS, | 528 EXPECT_EQ(maybeCanPlayHLS, |
500 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40\"'")); | 529 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40\"'")); |
501 | 530 |
502 EXPECT_EQ(canPlayHLS, | 531 EXPECT_EQ(probablyCanPlayHLS, |
503 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'")); | 532 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42E01E\"'")); |
504 EXPECT_EQ(canPlayHLS, | 533 EXPECT_EQ(probablyCanPlayHLS, |
505 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'")); | 534 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.42E01E\"'")); |
506 EXPECT_EQ(canPlayHLS, | 535 EXPECT_EQ(probablyCanPlayHLS, |
507 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'")); | 536 CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'")); |
508 | 537 |
| 538 EXPECT_EQ(maybeCanPlayHLS, |
| 539 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40.2\"'")); |
| 540 EXPECT_EQ(maybeCanPlayHLS, |
| 541 CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40.2\"'")); |
| 542 EXPECT_EQ(maybeCanPlayHLS, |
| 543 CanPlay("'application/vnd.apple.mpegurl; " |
| 544 "codecs=\"avc1.42E01E, mp4a.40\"'")); |
| 545 EXPECT_EQ(maybeCanPlayHLS, |
| 546 CanPlay("'application/vnd.apple.mpegurl; " |
| 547 "codecs=\"avc3.42E01E, mp4a.40\"'")); |
| 548 |
509 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); | 549 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); |
510 } | 550 } |
511 | 551 |
512 } // namespace content | 552 } // namespace content |
OLD | NEW |