This source file includes following definitions.
- SetUpOnMainThread
- CanPlay
- IN_PROC_BROWSER_TEST_F
- IN_PROC_BROWSER_TEST_F
- IN_PROC_BROWSER_TEST_F
- IN_PROC_BROWSER_TEST_F
- IN_PROC_BROWSER_TEST_F
- IN_PROC_BROWSER_TEST_F
#include <string>
#include "content/browser/media/media_browsertest.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test_utils.h"
#include "content/shell/browser/shell.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
#if !defined(OS_ANDROID)
const char* kOggVideoProbably = "probably";
const char* kOggVideoMaybe = "maybe";
const char* kTheoraProbably = "probably";
const char* kOpusProbably = "probably";
const char* kOpusProbablyElseMaybe = "probably";
const char* kHLSProbably = "";
const char* kHLSMaybe = "";
#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
#else
const char* kOggVideoProbably = "";
const char* kOggVideoMaybe = "";
const char* kTheoraProbably = "maybe";
const char* kOpusProbably = "";
const char* kOpusProbablyElseMaybe = "maybe";
const char* kTheoraAndPropProbably = "maybe";
const char* kTheoraAndPropProbablyElseMaybe = "";
const char* kOpusAndPropProbably = "maybe";
const char* kHLSProbably = "probably";
const char* kHLSMaybe = "maybe";
#endif
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);
};
#if !defined(OS_ANDROID)
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=\"1, mp4a\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, opus\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, theora\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"1, vorbis\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, vorbis\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"opus, theora\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"vorbis, mp4a\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/wav; codecs=\"unknown\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav'"));
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(kOpusProbablyElseMaybe, 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(kPropProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"mp4a.40.5\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"1, mp4a\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"1, opus\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'audio/x-wav; codecs=\"1, theora\"'"));
EXPECT_EQ(kProbably, CanPlay("'audio/x-wav; codecs=\"1, vorbis\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"opus, vorbis\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'audio/x-wav; codecs=\"opus, theora\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/x-wav; codecs=\"vorbis, mp4a\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/x-wav; codecs=\"unknown\"'"));
}
IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_webm) {
EXPECT_EQ(kMaybe, CanPlay("'video/webm'"));
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(kProbably, CanPlay("'video/webm; codecs=\"vp8, vp9\"'"));
EXPECT_EQ(kProbably, CanPlay("'video/webm; codecs=\"vp8.0, vp9.0\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, theora\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, avc1\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, avc3\"'"));
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=\"VP8\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8.0\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"Vp9.0\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP8, Vorbis\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp8, Vorbis\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"VP9, Opus\"'"));
EXPECT_EQ(kNot, CanPlay("'video/webm; codecs=\"vp9, Opus\"'"));
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(kOpusProbably, CanPlay("'audio/webm; codecs=\"opus, vorbis\"'"));
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=\"1, opus\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"1, vorbis\"'"));
EXPECT_EQ(kNot, CanPlay("'audio/webm; codecs=\"vorbis, mp4a\"'"));
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(kOggVideoMaybe, CanPlay("'video/ogg'"));
EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"theora\"'"));
EXPECT_EQ(kOggVideoProbably,
CanPlay("'video/ogg; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kOggVideoProbably,
CanPlay("'video/ogg; codecs=\"theora, opus\"'"));
EXPECT_EQ(kOggVideoProbably,
CanPlay("'video/ogg; codecs=\"opus, vorbis\"'"));
EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"vp8\"'"));
EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"vp8.0\"'"));
EXPECT_EQ(kOggVideoProbably, CanPlay("'video/ogg; codecs=\"vp9\"'"));
EXPECT_EQ(kOggVideoProbably, 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, mp4a\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc3, vorbis\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc1, vp8\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc3, vp9\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc1, avc3\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"mp4a.4.02\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kTheoraAndPropProbablyElseMaybe,
CanPlay("'video/ogg; codecs=\"avc3.64001F, vorbis\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"Theora\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"Opus\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"Vorbis\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"Theora, Opus\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"Theora, Vorbis\"'"));
EXPECT_EQ(kOggVideoMaybe, CanPlay("'video/ogg; codecs=\"unknown\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg'"));
EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vorbis\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"opus\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe,
CanPlay("'audio/ogg; codecs=\"vorbis, opus\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'audio/ogg; codecs=\"theora\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'audio/ogg; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'audio/ogg; codecs=\"theora, opus\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe, CanPlay("'audio/ogg; codecs=\"opus, 1\"'"));
EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vorbis, 1\"'"));
EXPECT_EQ(kProbably, CanPlay("'audio/ogg; codecs=\"vp8\"'"));
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(kPropProbablyElseMaybe,
CanPlay("'audio/ogg; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/ogg; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'audio/ogg; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"Theora\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"Opus\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"Vorbis\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"Theora, Vorbis\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"Theora, Opus\"'"));
EXPECT_EQ(kMaybe, CanPlay("'audio/ogg; codecs=\"unknown\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg'"));
EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vorbis\"'"));
EXPECT_EQ(kTheoraProbably, CanPlay("'application/ogg; codecs=\"theora\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"opus\"'"));
EXPECT_EQ(kTheoraProbably,
CanPlay("'application/ogg; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kTheoraProbably,
CanPlay("'application/ogg; codecs=\"theora, opus\"'"));
EXPECT_EQ(kOpusProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"opus, vorbis\"'"));
EXPECT_EQ(kProbably, CanPlay("'application/ogg; codecs=\"vp8\"'"));
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(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1, mp4a\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1, vorbis\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3, mp4a\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3, vorbis\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1, vp8\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3, vp9\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1, avc3\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3.64001F, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kPropProbablyElseMaybe,
CanPlay("'application/ogg; codecs=\"avc3.64001F, vorbis\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"Theora\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"Vorbis\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"Opus\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"Theora, Vorbis\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"Theora, Opus\"'"));
EXPECT_EQ(kMaybe, CanPlay("'application/ogg; codecs=\"unknown\"'"));
}
IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_mp3) {
EXPECT_EQ(kNot, CanPlay("'video/mp3'"));
EXPECT_EQ(kNot, CanPlay("'video/mpeg'"));
EXPECT_EQ(kNot, CanPlay("'video/x-mp3'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc1.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"avc3.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mpeg; codecs=\"mp4a.\"'"));
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=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mpeg; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mpeg; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mpeg; codecs=\"unknown\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc1.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"avc3.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp3; codecs=\"mp4a.\"'"));
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=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mp3; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp3; codecs=\"unknown\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-mp3; codecs=\"mp4a.unknown\"'"));
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=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/x-mp3; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/x-mp3; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-mp3; codecs=\"mp4ax\"'"));
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=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3, mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1, avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/mp4; codecs=\"avc3.64001F, mp4a.40.5\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc1.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"avc3.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"mp4a.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp8\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/mp4; codecs=\"vp9\"'"));
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(kPropProbably,
CanPlay("'video/mp4; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/mp4; codecs=\"avc3.64001F, vorbis\"'"));
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(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(kTheoraAndPropProbably,
CanPlay("'video/mp4; codecs=\"theora, avc1\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/mp4; codecs=\"theora, avc3\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/mp4; codecs=\"theora, avc1.4D401E\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/mp4; codecs=\"theora, avc3.64001F\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'video/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'video/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/mp4; codecs=\"unknown\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, avc3\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/x-m4v; codecs=\"avc3.64001F, mp4a.40.5\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"mp4a.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vp8\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vp9\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"vorbis\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc1, vorbis\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'video/x-m4v; codecs=\"avc3, vorbis\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/x-m4v; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'video/x-m4v; codecs=\"avc3.64001F, vorbis\"'"));
EXPECT_EQ(kOpusAndPropProbably, CanPlay("'video/x-m4v; codecs=\"opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"vp8, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"vp9, opus\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, mp4a\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, mp4a.40.2\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, avc1\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, avc3\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, avc1.4D401E\"'"));
EXPECT_EQ(kTheoraAndPropProbably,
CanPlay("'video/x-m4v; codecs=\"theora, avc3.64001F\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'video/x-m4v; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'video/x-m4v; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'video/x-m4v; codecs=\"unknown\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.40.2\"'"));
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(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc1.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"avc3.\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/mp4; codecs=\"mp4a.\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/mp4; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/mp4; codecs=\"avc3.64001F mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/mp4; codecs=\"mp4a, vorbis\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/mp4; codecs=\"mp4a.40.2, vorbis\"'"));
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(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/mp4; codecs=\"mp4a, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/mp4; codecs=\"vorbis, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp8, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably, CanPlay("'audio/mp4; codecs=\"vp9, opus\"'"));
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/mp4; codecs=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mp4; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/mp4; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/mp4; codecs=\"unknown\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2\"'"));
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(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kPropProbably, CanPlay("'audio/x-m4a; codecs=\"mp4a.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=\"mp4a.\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/x-m4a; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/x-m4a; codecs=\"avc3.64001F mp4a.40.2\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/x-m4a; codecs=\"mp4a, vorbis\"'"));
EXPECT_EQ(kPropProbably,
CanPlay("'audio/x-m4a; codecs=\"mp4a.40.2, vorbis\"'"));
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(kOpusAndPropProbably, CanPlay("'audio/x-m4a; codecs=\"opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/x-m4a; codecs=\"mp4a, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/x-m4a; codecs=\"vorbis, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/x-m4a; codecs=\"vp8, opus\"'"));
EXPECT_EQ(kOpusAndPropProbably,
CanPlay("'audio/x-m4a; codecs=\"vp9, opus\"'"));
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\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/x-m4a; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe,
CanPlay("'audio/x-m4a; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc2\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc4\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc1x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"avc3x\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"mp4ax\"'"));
EXPECT_EQ(kPropMaybe, CanPlay("'audio/x-m4a; codecs=\"unknown\"'"));
}
IN_PROC_BROWSER_TEST_F(MediaCanPlayTypeTest, CodecSupportTest_HLS) {
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=\"mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc1, mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc3, mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, mp4a.40.2\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, mp4a.40.5\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"mp4a.unknown\"'"));
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=\"mp4a.\"'"));
EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"vp8\"'"));
EXPECT_EQ(kHLSProbably, CanPlay("'application/x-mpegurl; codecs=\"vp9\"'"));
EXPECT_EQ(kHLSProbably,
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(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/x-mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"vp8, opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"vp9, opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"theora\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"theora, mp4a.40.2\"'"));
EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC1\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"AVC3\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kHLSMaybe, CanPlay("'application/x-mpegurl; codecs=\"MP4A\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"avc2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"avc4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"avc1x\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"avc3x\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"mp4ax\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/x-mpegurl; codecs=\"unknown\"'"));
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=\"mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1, mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3, mp4a\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.40.2\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.unknown\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.unknown\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4a.unknown\"'"));
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=\"mp4a.\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9\"'"));
EXPECT_EQ(kHLSProbably,
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(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1.4D401E, vorbis\"'"));
EXPECT_EQ(kHLSProbably,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3.64001F, vorbis\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp8, opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"vp9, opus\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, vorbis\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"theora, mp4a.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1.4d401e\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3.64001f\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"MP4A.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC1, MP4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"AVC3, MP4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; "
"codecs=\", AVC1.4D401E, MP4.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; "
"codecs=\", AVC3.64001F, MP4.40.2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc2\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc4\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc1x\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"avc3x\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"mp4ax\"'"));
EXPECT_EQ(kHLSMaybe,
CanPlay("'application/vnd.apple.mpegurl; codecs=\"unknown\"'"));
}
#endif
}