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

Unified Diff: content/browser/media/media_canplaytype_browsertest.cc

Issue 2640373002: Add support for audio/{x-}mpegurl mime type for HLS. (Closed)
Patch Set: Update tests. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | media/base/mime_util_internal.cc » ('j') | media/base/mime_util_internal.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 4b877708e3a60e4c1e01710d1594b1a17b65f0fc..5c89066664486791eed25f8c2bac63aa9f89de5f 100644
--- a/content/browser/media/media_canplaytype_browsertest.cc
+++ b/content/browser/media/media_canplaytype_browsertest.cc
@@ -523,6 +523,80 @@ class MediaCanPlayTypeTest : public MediaBrowserTest {
EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"unknown\"'"));
}
+ void TestHLSCombinations(const std::string& mime) {
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "'"));
+
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc1\"'"));
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc3\"'"));
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"mp4a.40\"'"));
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc1, mp4a.40\"'"));
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc3, mp4a.40\"'"));
+
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc1.42E01E\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc1.42101E\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc1.42701E\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc1.42F01E\"'"));
+
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc3.42E01E\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc3.42801E\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"avc3.42C01E\"'"));
+
+ // Android, is the only platform that supports these types, and its HLS
+ // implementations uses platform codecs, which do not include MPEG-2 AAC.
+ // See https://crbug.com/544268.
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.66\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.67\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.68\"'"));
+
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"mp4a.69\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"mp4a.6B\"'"));
+
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"mp4a.40.2\"'"));
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"mp4a.40.02\"'"));
+ EXPECT_EQ(kHlsProbably,
+ CanPlay("'" + mime + "; codecs=\"avc1.42E01E, mp4a.40.2\"'"));
+ EXPECT_EQ(kHlsProbably,
+ CanPlay("'" + mime + "; codecs=\"avc1.42E01E, mp4a.40.02\"'"));
+ EXPECT_EQ(kHlsProbably,
+ CanPlay("'" + mime + "; codecs=\"avc3.42E01E, mp4a.40.5\"'"));
+ EXPECT_EQ(kHlsProbably,
+ CanPlay("'" + mime + "; codecs=\"avc3.42E01E, mp4a.40.05\"'"));
+ EXPECT_EQ(kHlsProbably,
+ CanPlay("'" + mime + "; codecs=\"avc3.42E01E, mp4a.40.29\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'" + mime + "; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'" + mime + "; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
+
+ EXPECT_EQ(kNot,
+ CanPlay("'" + mime + "; codecs=\"vp09.01.01.08.04.03.00.00\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ac-3\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"ec-3\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A5\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.A6\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a5\"'"));
+ EXPECT_EQ(kNot, CanPlay("'" + mime + "; codecs=\"mp4a.a6\"'"));
+
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc1, mp4a.40.2\"'"));
+ EXPECT_EQ(kHlsMaybe,
+ CanPlay("'" + mime + "; codecs=\"avc1, mp4a.40.02\"'"));
+ EXPECT_EQ(kHlsMaybe, CanPlay("'" + mime + "; codecs=\"avc3, mp4a.40.2\"'"));
+ EXPECT_EQ(kHlsMaybe,
+ CanPlay("'" + mime + "; codecs=\"avc3, mp4a.40.02\"'"));
+ EXPECT_EQ(kHlsMaybe,
+ CanPlay("'" + mime + "; codecs=\"avc1.42E01E, mp4a.40\"'"));
+ EXPECT_EQ(kHlsMaybe,
+ CanPlay("'" + mime + "; codecs=\"avc3.42E01E, mp4a.40\"'"));
+
+ TestMPEGUnacceptableCombinations(mime);
+ // This result is incorrect. See https://crbug.com/592889.
+ EXPECT_EQ(kHlsProbably, CanPlay("'" + mime + "; codecs=\"mp3\"'"));
+ }
+
private:
GURL url_;
DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest);
@@ -1336,206 +1410,10 @@ IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_Mp4aVariants) {
}
IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) {
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/x-mpegurl'"));
-
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/x-mpegurl; codecs=\"avc1\"'"));
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/x-mpegurl; codecs=\"avc3\"'"));
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/x-mpegurl; codecs=\"mp4a.40\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42101E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42701E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42F01E\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42801E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42C01E\"'"));
-
- // Android, is the only platform that supports these types, and its HLS
- // implementations uses platform codecs, which do not include MPEG-2 AAC.
- // See https://crbug.com/544268.
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.66\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.67\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.68\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"mp4a.69\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"mp4a.6B\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.02\"'"));
- EXPECT_EQ(
- kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40.2\"'"));
- EXPECT_EQ(
- kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40.02\"'"));
- EXPECT_EQ(
- kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40.5\"'"));
- EXPECT_EQ(
- kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40.05\"'"));
- EXPECT_EQ(
- kHlsProbably,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40.29\"'"));
-
- EXPECT_EQ(kNot,
- CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/x-mpegurl; codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/x-mpegurl; codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
-
- EXPECT_EQ(
- kNot,
- CanPlay("'application/x-mpegurl; codecs=\"vp09.01.01.08.04.03.00.00\"'"));
-
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"ac-3\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"ec-3\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.A5\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.A6\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.a5\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"mp4a.a6\"'"));
-
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.2\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a.40.02\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.2\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a.40.02\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc1.42E01E, mp4a.40\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/x-mpegurl; codecs=\"avc3.42E01E, mp4a.40\"'"));
-
- TestMPEGUnacceptableCombinations("application/x-mpegurl");
- // This result is incorrect. See https://crbug.com/592889.
- EXPECT_EQ(kHlsProbably, CanPlay("'application/x-mpegurl; codecs=\"mp3\"'"));
-
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/vnd.apple.mpegurl'"));
-
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'"));
- EXPECT_EQ(kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42E01E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42101E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42701E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.42F01E\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.42E01E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.42801E\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.42C01E\"'"));
-
- // Android, is the only platform that supports these types, and its HLS
- // implementations uses platform codecs, which do not include MPEG-2 AAC.
- // See https://crbug.com/544268.
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.66\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.67\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.68\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.69\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.6B\"'"));
-
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.02\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.5\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.05\"'"));
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.29\"'"));
-
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40.2\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a.40.02\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40.2\"'"));
- EXPECT_EQ(
- kHlsMaybe,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a.40.02\"'"));
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/vnd.apple.mpegurl; "
- "codecs=\"avc1.42E01E, mp4a.40\"'"));
- EXPECT_EQ(kHlsMaybe, CanPlay("'application/vnd.apple.mpegurl; "
- "codecs=\"avc3.42E01E, mp4a.40\"'"));
-
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"hev1.1.6.L93.B0\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"hvc1.1.6.L93.B0\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; "
- "codecs=\"hev1.1.6.L93.B0,mp4a.40.5\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; "
- "codecs=\"hvc1.1.6.L93.B0,mp4a.40.5\"'"));
-
- EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; "
- "codecs=\"vp09.01.01.08.04.03.00.00\"'"));
-
- EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; codecs=\"ac-3\"'"));
- EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; codecs=\"ec-3\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.A5\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.A6\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.a5\"'"));
- EXPECT_EQ(kNot,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.a6\"'"));
-
- TestMPEGUnacceptableCombinations("application/vnd.apple.mpegurl");
- // This result is incorrect. See https://crbug.com/592889.
- EXPECT_EQ(kHlsProbably,
- CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp3\"'"));
+ TestHLSCombinations("application/vnd.apple.mpegurl");
+ TestHLSCombinations("application/x-mpegurl");
+ TestHLSCombinations("audio/mpegurl");
+ TestHLSCombinations("audio/x-mpegurl");
}
IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_AAC_ADTS) {
« no previous file with comments | « no previous file | media/base/mime_util_internal.cc » ('j') | media/base/mime_util_internal.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698