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 576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
587 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42e01e\"'")); | 587 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42e01e\"'")); |
588 | 588 |
589 // From a YouTube DASH MSE test manifest. | 589 // From a YouTube DASH MSE test manifest. |
590 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d401f\"'")); | 590 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d401f\"'")); |
591 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d401e\"'")); | 591 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d401e\"'")); |
592 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d4015\"'")); | 592 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4d4015\"'")); |
593 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.640028\"'")); | 593 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.640028\"'")); |
594 | 594 |
595 // | 595 // |
596 // Baseline Profile (66 == 0x42). | 596 // Baseline Profile (66 == 0x42). |
597 // The first two digits must be 42. The second two must be valid hex, but | 597 // The first two digits must be 42. The third digit (constraint_set_flags) |
598 // constraint_set_flags are ignored. The last two digits must be any valid | 598 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
599 // level. | 599 // must be 0. The last two digits must be any valid level. |
600 // | 600 // |
601 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42001E\"'")); | 601 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42001E\"'")); |
| 602 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42401E\"'")); |
| 603 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42801E\"'")); |
602 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42E00A\"'")); | 604 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.42E00A\"'")); |
603 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.42G01E\"'")); | 605 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.42G01E\"'")); |
604 | 606 |
605 // The fourth digit must be 0. | 607 // The fourth digit must be 0. |
606 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.42E11E\"'")); | 608 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.42E11E\"'")); |
607 | 609 |
608 // | 610 // |
609 // Main Profile (77 == 0x4D). | 611 // Main Profile (77 == 0x4D). |
610 // The first four digits must be 4D40. | 612 // The first two digits must be 4D. The third digit (constraint_set_flags) |
611 // The last two digits must be any valid level. | 613 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
| 614 // must be 0. The last two digits must be any valid level. |
612 // | 615 // |
| 616 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D001E\"'")); |
613 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D400A\"'")); | 617 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D400A\"'")); |
614 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'")); | 618 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D800A\"'")); |
| 619 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4DE00A\"'")); |
| 620 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4DG01E\"'")); |
615 | 621 |
616 // Other values are not allowed for the third and fourth digits. | 622 // The fourth digit must be 0. |
617 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D301E\"'")); | 623 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4DE11E\"'")); |
618 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D501E\"'")); | |
619 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D411E\"'")); | |
620 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D4F1E\"'")); | |
621 | 624 |
622 // | 625 // |
623 // High Profile (100 == 0x64). | 626 // High Profile (100 == 0x64). |
624 // The first four digits must be 6400. | 627 // The first two digits must be 64. The third digit (constraint_set_flags) |
625 // The last two digits must be any valid level. | 628 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
| 629 // must be 0. The last two digits must be any valid level. |
626 // | 630 // |
627 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64000A\"'")); | |
628 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64001E\"'")); | 631 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64001E\"'")); |
629 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64001F\"'")); | 632 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64400A\"'")); |
| 633 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64800A\"'")); |
| 634 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.64E00A\"'")); |
| 635 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64G01E\"'")); |
630 | 636 |
631 // Other values are not allowed for the third and fourth digits. | 637 // The fourth digit must be 0. |
632 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64101E\"'")); | 638 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64E11E\"'")); |
633 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64f01E\"'")); | |
634 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64011E\"'")); | |
635 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.640F1E\"'")); | |
636 | 639 |
637 // | 640 // |
638 // Other profiles are not known to be supported. | 641 // Other profiles are not known to be supported. |
639 // | 642 // |
640 | 643 |
641 // Extended Profile (88 == 0x58). | 644 // Extended Profile (88 == 0x58). |
642 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.58A01E\"'")); | 645 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.58A01E\"'")); |
643 } | 646 } |
644 | 647 |
645 // When modifying this test, also change CodecSupportTest_Avc1Variants. | 648 // When modifying this test, also change CodecSupportTest_Avc1Variants. |
(...skipping 13 matching lines...) Expand all Loading... |
659 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42e01e\"'")); | 662 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42e01e\"'")); |
660 | 663 |
661 // From a YouTube DASH MSE test manifest. | 664 // From a YouTube DASH MSE test manifest. |
662 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d401f\"'")); | 665 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d401f\"'")); |
663 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d401e\"'")); | 666 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d401e\"'")); |
664 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d4015\"'")); | 667 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4d4015\"'")); |
665 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.640028\"'")); | 668 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.640028\"'")); |
666 | 669 |
667 // | 670 // |
668 // Baseline Profile (66 == 0x42). | 671 // Baseline Profile (66 == 0x42). |
669 // The first two digits must be 42. The second two must be valid hex, but | 672 // The first two digits must be 42. The third digit (constraint_set_flags) |
670 // constraint_set_flags are ignored. The last two digits must be any valid | 673 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
671 // level. | 674 // must be 0. The last two digits must be any valid level. |
672 // | 675 // |
673 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42001E\"'")); | 676 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42001E\"'")); |
| 677 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42400A\"'")); |
| 678 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42800A\"'")); |
674 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42E00A\"'")); | 679 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.42E00A\"'")); |
675 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.42G01E\"'")); | 680 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.42G01E\"'")); |
676 | 681 |
677 // The fourth digit must be 0. | 682 // The fourth digit must be 0. |
678 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.42E11E\"'")); | 683 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.42E11E\"'")); |
679 | 684 |
680 // | 685 // |
681 // Main Profile (77 == 0x4D). | 686 // Main Profile (77 == 0x4D). |
682 // The first four digits must be 4D40. | 687 // The first two digits must be 4D. The third digit (constraint_set_flags) |
683 // The last two digits must be any valid level. | 688 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
| 689 // must be 0. The last two digits must be any valid level. |
684 // | 690 // |
| 691 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4D001E\"'")); |
685 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4D400A\"'")); | 692 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4D400A\"'")); |
686 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4D401E\"'")); | 693 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4D800A\"'")); |
| 694 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.4DE00A\"'")); |
| 695 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4DG01E\"'")); |
687 | 696 |
688 // Other values are not allowed for the third and fourth digits. | 697 // The fourth digit must be 0. |
689 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4D301E\"'")); | 698 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4DE11E\"'")); |
690 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4D501E\"'")); | |
691 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4D411E\"'")); | |
692 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.4D4F1E\"'")); | |
693 | 699 |
694 // | 700 // |
695 // High Profile (100 == 0x64). | 701 // High Profile (100 == 0x64). |
696 // The first four digits must be 6400. | 702 // The first two digits must be 64. The third digit (constraint_set_flags) |
697 // The last two digits must be any valid level. | 703 // must be valid hex but it otherwise is ignored. The fourth digit (reserved) |
| 704 // must be 0. The last two digits must be any valid level. |
698 // | 705 // |
699 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64000A\"'")); | |
700 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001E\"'")); | 706 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001E\"'")); |
701 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'")); | 707 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64400A\"'")); |
| 708 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64800A\"'")); |
| 709 EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64E00A\"'")); |
| 710 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64G01E\"'")); |
702 | 711 |
703 // Other values are not allowed for the third and fourth digits. | 712 // The fourth digit must be 0. |
704 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64101E\"'")); | 713 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64E11E\"'")); |
705 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64f01E\"'")); | |
706 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64011E\"'")); | |
707 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.640F1E\"'")); | |
708 | 714 |
709 // | 715 // |
710 // Other profiles are not known to be supported. | 716 // Other profiles are not known to be supported. |
711 // | 717 // |
712 | 718 |
713 // Extended Profile (88 == 0x58). | 719 // Extended Profile (88 == 0x58). |
714 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.58A01E\"'")); | 720 EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.58A01E\"'")); |
715 } | 721 } |
716 | 722 |
717 // Tests AVC levels using AVC1 Baseline (0x42E0zz). | 723 // Tests AVC levels using AVC1 Baseline (0x42E0zz). |
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1003 CanPlay("'application/vnd.apple.mpegurl; " | 1009 CanPlay("'application/vnd.apple.mpegurl; " |
1004 "codecs=\"avc1.42E01E, mp4a.40\"'")); | 1010 "codecs=\"avc1.42E01E, mp4a.40\"'")); |
1005 EXPECT_EQ(maybeCanPlayHLS, | 1011 EXPECT_EQ(maybeCanPlayHLS, |
1006 CanPlay("'application/vnd.apple.mpegurl; " | 1012 CanPlay("'application/vnd.apple.mpegurl; " |
1007 "codecs=\"avc3.42E01E, mp4a.40\"'")); | 1013 "codecs=\"avc3.42E01E, mp4a.40\"'")); |
1008 | 1014 |
1009 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); | 1015 TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl"); |
1010 } | 1016 } |
1011 | 1017 |
1012 } // namespace content | 1018 } // namespace content |
OLD | NEW |