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 |
| 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 |