blob: 26080621d9ee100aa47a1aa84b6ceef65f058adf [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="video-test.js"></script>
<script>
function DoViParameterSetToString(set) {
if (!set)
return `null`;
return `{ ${set.codecName}, ${set.bitstreamProfileID }, ${set.bitstreamLevelID } }`;
}
function isEqualDoViParameterSet(setA, setB) {
return setA && setB
&& setA.codecName === setB.codecName
&& setA.bitstreamProfileID === setB.bitstreamProfileID
&& setA.bitstreamLevelID === setB.bitstreamLevelID
}
function makeDoViParameterSet(codecName, bitstreamProfileID, bitstreamLevelID)
{
return {
codecName: codecName,
bitstreamProfileID: bitstreamProfileID,
bitstreamLevelID: bitstreamLevelID,
};
}
function testExpectedDoViParameterSet(testFuncString, expected)
{
let observed = eval(testFuncString);
let success = isEqualDoViParameterSet(observed, expected);
reportExpected(success, testFuncString, '===', DoViParameterSetToString(expected), DoViParameterSetToString(observed));
}
window.addEventListener('load', event => {
testExpected('internals.parseDoViCodecParameters("bad-parameter")', null);
testExpected('internals.parseDoViCodecParameters("dvh1")', null);
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvh1.04.09")', makeDoViParameterSet('hvc1', 4, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvh1.05.13")', makeDoViParameterSet('hvc1', 5, 13));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvhe.07.09")', makeDoViParameterSet('hev1', 7, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvhe.dtr.9")', makeDoViParameterSet('hev1', 4, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvhe.stn.9")', makeDoViParameterSet('hev1', 5, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvhe.dtb.9")', makeDoViParameterSet('hev1', 7, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvhe.st.9")', makeDoViParameterSet('hev1', 8, 9));
testExpectedDoViParameterSet('internals.parseDoViCodecParameters("dvav.se.5")', makeDoViParameterSet('avc3', 9, 5));
testExpected('internals.parseDoViCodecParameters("dvh1.06.01")', null);
testExpected('internals.parseDoViCodecParameters("dvhe.03.01")', null);
testExpected('internals.parseDoViCodecParameters("dvh1.09.01")', null);
testExpected('internals.parseDoViCodecParameters("dvav.04.01")', null);
endTest();
}, { once: true });
</script>
</head>
<body>
</body>
</html>