Chromium Code Reviews| Index: content/browser/media/media_canplaytype_browsertest.cc |
| diff --git a/content/browser/media/media_canplaytype_browsertest.cc b/content/browser/media/media_canplaytype_browsertest.cc |
| index 1a3af5a3c6e5ffd53ecca8329e1c9178f43a980a..e96ea4d8066ebbf09a418e423a9ae9733bfab0a0 100644 |
| --- a/content/browser/media/media_canplaytype_browsertest.cc |
| +++ b/content/browser/media/media_canplaytype_browsertest.cc |
| @@ -73,6 +73,15 @@ const char* kMp2tsAc3Eac3Probably = kPropProbably; |
| const char* kMp2tsAc3Eac3Probably = kNot; |
| #endif |
| +// High 10-bit profile is only available when we can use ffmpeg |
| +// to decode h264. On Android, we only use hardware codecs. |
|
ddorwin
2016/04/01 00:36:42
Android is a little more nuanced: "... we only use
hubbe
2016/04/04 22:01:49
Done.
|
| +// Also check if ffmpeg has been disabled. |
|
ddorwin
2016/04/01 00:36:42
This is the main condition; Android is the corner
hubbe
2016/04/04 22:01:49
Done.
|
| +#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(OS_ANDROID) |
| +const char* kHi10pProbably = kPropProbably; |
| +#else |
| +const char* kHi10pProbably = kMaybe; |
| +#endif |
| + |
| namespace content { |
| class MediaCanPlayTypeTest : public MediaBrowserTest { |
| @@ -985,6 +994,21 @@ IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Avc1Variants) { |
| EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.64E0FF\"'")); |
| // |
| + // High 10-bit Profile (110 == 0x6E). |
| + // The first two digits after the dot must be 6E. The third and fourth digits |
| + // contain constraint_set_flags and must be valid hex. The last two digits |
| + // should be any valid H.264 level. If the level value is invalid the result |
| + // will be kMaybe. |
| + // |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc1.6E001E\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc1.6E400A\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc1.6E800A\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc1.6EE00A\"'")); |
| + EXPECT_EQ(kNot, CanPlay("'video/mp4; codecs=\"avc1.6EG01E\"'")); |
| + EXPECT_EQ(kNot, CanPlay("'video/mp4; codecs=\"avc1.6E000G\"'")); |
| + EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.6EE0FF\"'")); |
| + |
| + // |
| // Other profiles are not known to be supported. |
| // |
| @@ -1075,6 +1099,21 @@ IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Avc3Variants) { |
| EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64E0FF\"'")); |
| // |
| + // High 10-bit Profile (110 == 0x6E). |
| + // The first two digits after the dot must be 6E. The third and fourth digits |
| + // contain constraint_set_flags and must be valid hex. The last two digits |
| + // should be any valid H.264 level. If the level value is invalid the result |
| + // will be kMaybe. |
| + // |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc3.6E001E\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc3.6E400A\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc3.6E800A\"'")); |
| + EXPECT_EQ(kHi10pProbably, CanPlay("'video/mp4; codecs=\"avc3.6EE00A\"'")); |
| + EXPECT_EQ(kNot, CanPlay("'video/mp4; codecs=\"avc3.6EG01E\"'")); |
| + EXPECT_EQ(kNot, CanPlay("'video/mp4; codecs=\"avc3.6E000G\"'")); |
| + EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.6EE0FF\"'")); |
| + |
| + // |
| // Other profiles are not known to be supported. |
| // |