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

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

Issue 186973003: Add browser tests for canPlayType() results (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adding "application/*", "x-" and HLS media types Created 6 years, 9 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 | content/content_tests.gypi » ('j') | no next file with comments »
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
new file mode 100644
index 0000000000000000000000000000000000000000..e6351a79b8060436a0df79c0f04d0f09c28d1d9a
--- /dev/null
+++ b/content/browser/media/media_canplaytype_browsertest.cc
@@ -0,0 +1,637 @@
+// Copyright (c) 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <string>
+
+#include "content/browser/media/media_browsertest.h"
+#include "content/public/test/browser_test_utils.h"
+#include "content/shell/browser/shell.h"
+#include "content/test/content_browser_test_utils.h"
+
+const char* kProbably = "probably";
+const char* kMaybe = "maybe";
+const char* kNot = "";
+
+#if defined(USE_PROPRIETARY_CODECS)
+const char* kPropProbably = "probably";
+const char* kPropMaybe = "maybe";
+const char* kPropProbablyElseMaybe = "probably";
+#else
+const char* kPropProbably = "";
+const char* kPropMaybe = "";
+const char* kPropProbablyElseMaybe = "maybe";
+#endif // USE_PROPRIETARY_CODECS
+
+// TODO(amogh.bihani): Change the opus tests when opus is on
+// Android. (http://crbug.com/318436).
+#if !defined(OS_ANDROID)
+const char* kTheoraProbably = "probably";
+const char* kTheoraMaybe = "maybe";
+const char* kOpusProbably = "probably";
+const char* kHLSProbably = "";
+const char* kHLSMaybe = "";
+const char* kAndroidProbably = "";
+#if defined(USE_PROPRIETARY_CODECS)
+const char* kTheoraAndPropProbably = "probably";
+const char* kTheoraAndPropProbablyElseMaybe = "probably";
+const char* kOpusAndPropProbably = "probably";
+#else
+const char* kTheoraAndPropProbably = "";
+const char* kTheoraAndPropProbablyElseMaybe = "maybe";
+const char* kOpusAndPropProbably = "";
+#endif // USE_PROPRIETARY_CODECS
+#else
+const char* kTheoraProbably = "";
+const char* kTheoraMaybe = "";
+const char* kOpusProbably = "";
+const char* kTheoraAndPropProbably = "";
+const char* kTheoraAndPropProbablyElseMaybe = "";
+const char* kOpusAndPropProbably = "";
+#if defined(USE_PROPRIETARY_CODECS)
+const char* kHLSProbably = "probably";
ddorwin 2014/03/21 21:52:16 kHLSPropProbably ? ^^^^ Except that HLS only
amogh.bihani 2014/03/24 11:04:59 Done.
+#else
+const char* kHLSProbably = "maybe";
+#endif // USE_PROPRIETARY_CODECS
+const char* kHLSMaybe = "maybe";
+const char* kAndroidProbably = "probably";
ddorwin 2014/03/21 21:52:16 Which would make this kHLSProbably - it's only use
amogh.bihani 2014/03/24 11:04:59 Done.
+#endif // !OS_ANDROID
+
+namespace content {
+
+class MediaCanPlayTypeTest : public MediaBrowserTest {
+public:
+ MediaCanPlayTypeTest() : url_("about:blank") { }
+
+ virtual void SetUpOnMainThread() OVERRIDE {
+ NavigateToURL(shell(), url_);
+ }
+
+ std::string CanPlay(const std::string& type) {
+ std::string command("document.createElement('video').canPlayType(");
+ command.append(type);
+ command.append(")");
+
+ std::string result;
+ EXPECT_TRUE(ExecuteScriptAndExtractString(
+ shell()->web_contents(),
+ "window.domAutomationController.send(" + command + ");",
+ &result));
+ return result;
+ }
+
+private:
+ GURL url_;
+ DISALLOW_COPY_AND_ASSIGN(MediaCanPlayTypeTest);
+};
+
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_wav) {
+ EXPECT_EQ(kMaybe, CanPlay("'audio/wav'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/wav; codecs=\"1\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"theora\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vp9.0\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"mp4a.40.5\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"unknown\"'"));
+
+ EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav'"));
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
ddorwin 2014/03/21 21:52:16 All these tests require is adding "audio/x-wav" to
amogh.bihani 2014/03/24 11:04:59 Yes, I will do it in the other CL.
+ // http://crbug.com/53193 ----------------------------------------------------
ddorwin 2014/03/21 21:52:16 You probably mean for this comment to come after 1
amogh.bihani 2014/03/24 11:04:59 According to whatwg[1], line 113 is a correct resu
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"1\"'"));
+
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'audio/x-wav; codecs=\"theora\"'"));
+
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"vp8\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"vp9\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"vp9.0\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'audio/x-wav; codecs=\"opus\"'"));
+
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/x-wav; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/x-wav; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/x-wav; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav; codecs=\"mp4a.40.5\"'"));
+
+ EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+
+}
+
ddorwin 2014/03/21 21:52:16 General: Add tests where there are two audio codec
amogh.bihani 2014/03/24 11:04:59 Done. I also did the same for audio mime_types.
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_webm) {
ddorwin 2014/03/21 21:52:16 General #2: We should also have a few codec case-s
amogh.bihani 2014/03/24 11:04:59 Done. In that case many layout tests need to chang
ddorwin 2014/03/25 23:47:59 I guess that's because we strip the suffix (.4d...
+ EXPECT_EQ(kMaybe, CanPlay("'video/webm'"));
ddorwin 2014/03/21 21:52:16 nit: This line is not part of the pattern that rep
amogh.bihani 2014/03/24 11:04:59 Done.
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8, vorbis\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0, vorbis\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp8.0, opus\"'"));
+
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9.0\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9, vorbis\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp9.0, vorbis\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp9, opus\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'video/webm; codecs=\"vp9.0, opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, 1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, 1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, mp4a.40.2\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8.0, mp4a.40.2\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, 1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, 1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, mp4a.40.2\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9.0, mp4a.40.2\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"theora\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"1\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"mp4a.40.2\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"unknown\"'"));
+
+ EXPECT_EQ(kMaybe, CanPlay("'audio/webm'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/webm; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp8.0, opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9, opus\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vp9.0, opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"mp4a.40.2\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"unknown\"'"));
+}
+
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_ogg) {
+ EXPECT_EQ(kTheoraMaybe, CanPlay("'video/ogg'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"theora\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"theora, opus\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"vp8\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"vp9\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'video/ogg; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"avc1\"'"));
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"avc3\"'"));
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"avc1, vorbis\"'"));
+ EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
+ CanPlay("'video/ogg; codecs=\"avc3, vorbis\"'"));
+
+ EXPECT_EQ(kTheoraMaybe, CanPlay("'video/ogg; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kTheoraMaybe, CanPlay("'video/ogg; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kTheoraMaybe, CanPlay("'video/ogg; codecs=\"mp4a.4.02\"'"));
+ EXPECT_EQ(kTheoraMaybe,
+ CanPlay("'video/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kTheoraMaybe,
+ CanPlay("'video/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'"));
+ EXPECT_EQ(kTheoraMaybe,
+ CanPlay("'video/ogg; codecs=\"avc1.4D401E, vorbis\"'"));
+ EXPECT_EQ(kTheoraMaybe,
+ CanPlay("'video/ogg; codecs=\"avc3.64001F, vorbis\"'"));
+
+ EXPECT_EQ(kTheoraMaybe, CanPlay("'video/ogg; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kMaybe, CanPlay("'audio/ogg'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'audio/ogg; codecs=\"theora\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'audio/ogg; codecs=\"opus\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vp8\"'"));
ddorwin 2014/03/21 21:52:16 Missing: codecs=\"theora, vorbis\" codecs=\"theora
amogh.bihani 2014/03/24 11:04:59 Done.
+ EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vp9\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"mp4a.40.2\"'"));
+
+ EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kMaybe, CanPlay("'application/ogg'"));
amogh.bihani 2014/03/21 13:52:03 From what I could gather from [1], the codecs are
ddorwin 2014/03/21 21:52:16 These tests should match the video ones since anyt
+ EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kTheoraProbably, CanPlay("'application/ogg; codecs=\"theora\"'"));
+ EXPECT_EQ(kOpusProbably, CanPlay("'application/ogg; codecs=\"opus\"'"));
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vp8\"'"));
ddorwin 2014/03/21 21:52:16 Missing: codecs=\"theora, vorbis\" codecs=\"theora
amogh.bihani 2014/03/24 11:04:59 Done.
+ EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vp9\"'"));
+ EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kPropProbablyElseMaybe,
+ CanPlay("'application/ogg; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe,
+ CanPlay("'application/ogg; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbablyElseMaybe,
+ CanPlay("'application/ogg; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"mp4a.40.2\"'"));
+
+ EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+}
+
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mpeg) {
ddorwin 2014/03/21 21:52:16 Since "audio/mpeg" means "mp3", we might as well c
amogh.bihani 2014/03/24 11:04:59 Done.
+ EXPECT_EQ(kNot, CanPlay("'video/mp3'"));
ddorwin 2014/03/21 21:52:16 add video/mpeg and video/x-mp3.
amogh.bihani 2014/03/24 11:04:59 Done.
+ // audio/mpeg and audio/mp3 do not allow any codecs parameter
ddorwin 2014/03/21 21:52:16 This should either be a function-level comment or
amogh.bihani 2014/03/24 11:04:59 Done.
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg'"));
ddorwin 2014/03/21 21:52:16 empty line after the video/ tests
amogh.bihani 2014/03/24 11:04:59 Done.
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1\"'"));
ddorwin 2014/03/21 21:52:16 This is fine for now, but once we prevent codecs,
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc3.64001F\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mpeg; codecs=\"opus\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mpeg; codecs=\"theora\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp9\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc3.64001F\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp3; codecs=\"opus\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mp3; codecs=\"theora\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp9\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc3.64001F\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/x-mp3; codecs=\"opus\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/x-mp3; codecs=\"theora\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp9\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"unknown\"'"));
+ // ---------------------------------------------------------------------------
+}
+
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp4) {
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"unknown\"'"));
ddorwin 2014/03/21 21:52:16 nit: "unknown" has almost been last in all (?) oth
amogh.bihani 2014/03/24 11:04:59 Done.
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp9\"'"));
+
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/mp4; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, vorbis\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/mp4; codecs=\"avc1.4D401E, vorbis\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/mp4; codecs=\"avc3.64001F, vorbis\"'"));
+
+ EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'video/mp4; codecs=\"theora\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/mp4; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/mp4; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/mp4; codecs=\"theora, mp4a.40.2\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/x-mp4'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/x-mp4; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/x-mp4; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/x-mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/x-mp4; codecs=\"avc3.64001F, mp4a.40.5\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropMaybe, CanPlay("'video/x-mp4; codecs=\"unknown\"'"));
ddorwin 2014/03/21 21:52:16 ditto here and twice below.
amogh.bihani 2014/03/24 11:04:59 Done.
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"vp9\"'"));
+
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/x-mp4; codecs=\"opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc1, vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'video/x-mp4; codecs=\"avc3, vorbis\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/x-mp4; codecs=\"avc1.4D401E, vorbis\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'video/x-mp4; codecs=\"avc3.64001F, vorbis\"'"));
+
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"theora\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'video/x-mp4; codecs=\"theora, mp4a.40.2\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"unknown\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'audio/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'audio/mp4; codecs=\"avc3.64001F mp4a.40.2\"'"));
+
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp9\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kTheoraAndPropProbably, CanPlay("'audio/mp4; codecs=\"theora\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/mp4; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/mp4; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1, vorbis\"'"));
+ // ---------------------------------------------------------------------------
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"unknown\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kPropMaybe,
+ CanPlay("'audio/x-m4a; codecs=\"avc3.64001F mp4a.40.2\"'"));
+
+ EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/x-m4a; codecs=\"opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably,
+ CanPlay("'audio/x-m4a; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kOpusAndPropProbably,
+ CanPlay("'audio/x-m4a; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vorbis\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp8.0\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp9\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"vp9.0\"'"));
+
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/x-m4a; codecs=\"theora\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/x-m4a; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kTheoraAndPropProbably,
+ CanPlay("'audio/x-m4a; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1, vorbis\"'"));
+ // ---------------------------------------------------------------------------
+}
+
+IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) {
amogh.bihani 2014/03/21 13:52:03 From what I could gather from [1], HLS use H.264 c
ddorwin 2014/03/21 21:52:16 Yeah, I'm not sure if codecs is ever used with it,
+ EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl'"));
+
+ EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc1\"'"));
+ EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"avc3\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"unknown\"'"));
ddorwin 2014/03/21 21:52:16 ditto here and line 603.
amogh.bihani 2014/03/24 11:04:59 Done.
+
+ EXPECT_EQ(kAndroidProbably,
ddorwin 2014/03/21 21:52:16 If we end up disallowing codecs, we can shorten th
+ CanPlay("'application/x-mpegurl; codecs=\"vp8\"'"));
+ EXPECT_EQ(kAndroidProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"vp9\"'"));
+ EXPECT_EQ(kAndroidProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"vorbis\"'"));
+
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"avc1, vorbis\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/x-mpegurl; codecs=\"avc3, vorbis\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
+ // ---------------------------------------------------------------------------
+ EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"opus\"'"));
+ EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"vp8, opus\"'"));
ddorwin 2014/03/21 21:52:16 Why do the ones above return probably/maybe, but t
amogh.bihani 2014/03/24 11:04:59 Sorry, my bad. I made them kNot as HLS is supporte
+ EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"theora\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/x-mpegurl; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kNot, CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a.40.2\"'"));
+
+ EXPECT_EQ(kHLSMaybe, CanPlay("'application/vnd.apple.mpegurl'"));
+
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a\"'"));
+
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'"));
+
+ // TODO(amogh.bihani): Change these tests when bug 53193 is fixed.
+ // http://crbug.com/53193 ----------------------------------------------------
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"unknown\"'"));
+
+ EXPECT_EQ(kAndroidProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8\"'"));
+ EXPECT_EQ(kAndroidProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9\"'"));
+ EXPECT_EQ(kAndroidProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"vorbis\"'"));
+
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, vorbis\"'"));
+ EXPECT_EQ(kHLSProbably,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, vorbis\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
+ EXPECT_EQ(kHLSMaybe,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
+ // ---------------------------------------------------------------------------
+ EXPECT_EQ(kNot, CanPlay("'application/vnd.apple.mpegurl; codecs=\"opus\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8, opus\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9, opus\"'"));
+
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, vorbis\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a\"'"));
+ EXPECT_EQ(kNot,
+ CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a.40.2\"'"));
+}
+
+} // namespace content
« no previous file with comments | « no previous file | content/content_tests.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698