blob: c04b1c43a73a837f7383095b79902ea251a36122 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/media-resources/video-test.js"></script>
<script>
function testTypes(types)
{
for (var i = 0; i < types.length; ++i)
consoleWrite("MediaSource.isTypeSupported(" + types[i] + ") : " + WebKitMediaSource.isTypeSupported(types[i]));
}
function onLoad()
{
var invalidTypes = [
// Invalid MIME format.
'video',
'video/',
'video/webm',
'video/webm;',
'video/webm;codecs',
'video/webm;codecs=',
'video/webm;codecs="',
'video/webm;codecs=""',
'video/webm;codecs=","',
// Mismatch between major type and codec ID
'audio/webm;codecs="vp8"',
'audio/mp4;codecs="avc1.4d001e"',
// Mismatch between minor type and codec ID.
'audio/mp4;codecs="vorbis"',
'audio/webm;codecs="mp4a.40.2"',
'video/mp4;codecs="vp8"',
'video/webm;codecs="mp4a.40.2"',
// Invalid codec IDs.
'audio/webm;codecs="mp4a"',
'audio/webm;codecs="mp4a.40"',
'audio/webm;codecs="mp4a.40."',
'audio/mp4;codecs="mp4a.67.3"'
];
consoleWrite("Testing invalid type strings.");
testTypes(invalidTypes);
consoleWrite("Testing valid type strings.");
var validTypes = [
'video/webm;codecs="vp8"',
'video/webm;codecs="vorbis"',
'video/webm;codecs="vp8,vorbis"',
'video/webm;codecs="vorbis, vp8"',
'audio/webm;codecs="vorbis"',
'video/mp4;codecs="avc1.4d001e"', // H.264 Main Profile level 3.0
'video/mp4;codecs="avc1.42001e"', // H.264 Baseline Profile level 3.0
'audio/mp4;codecs="mp4a.40.2"', // MPEG4 AAC-LC
'audio/mp4;codecs="mp4a.40.5"', // MPEG4 HE-AAC
'audio/mp4;codecs="mp4a.67"', // MPEG2 AAC-LC
'video/mp4;codecs="mp4a.40.2"',
'video/mp4;codecs="avc1.4d001e,mp4a.40.2"',
'video/mp4;codecs="mp4a.40.2 , avc1.4d001e "',
'video/mp4;codecs="avc1.4d001e,mp4a.40.5"',
'video/mp4;codecs="avc1.4d001e,mp4a.40.5"',
];
testTypes(validTypes);
endTest();
}
</script>
</head>
<body onload="onLoad()">
<p>Tests MediaSource.isTypeSupported().</p>
</body>
</html>