blob: 1cb699a2598ae9aec6102d719b54f3b11f40986c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>mock-media-source</title>
<script src="mock-media-source.js"></script>
<script src="../video-test.js"></script>
<script>
var source;
var sourceBuffer;
var initSegment;
var exception;
async function appendBuffer(buffer) {
var resultException = null;
try {
consoleWrite('Appending buffer');
sourceBuffer.appendBuffer(buffer);
await waitFor(sourceBuffer, 'updateend');
} catch (e) {
resultException = e;
sourceBuffer.abort();
}
return resultException;
}
if (window.internals)
internals.initializeMockMediaSource();
window.addEventListener('load', async() => {
findMediaElement();
source = new MediaSource();
const videoSource = document.createElement('source');
videoSource.type = 'video/mock; codecs=mock';
videoSource.src = URL.createObjectURL(source);
video.appendChild(videoSource);
await waitFor(source, 'sourceopen');
sourceBuffer = source.addSourceBuffer("video/mock; codecs=mock");
initSegment = makeAInit(350, [makeATrack(1, 'mock', TRACK_KIND.VIDEO)]);
// Set a buffer size that is less than the init segment length.
internals.settings.setMaximumSourceBufferSize(30);
exception = await appendBuffer(initSegment);
waitFor(sourceBuffer, 'error');
testExpected('exception', 'QuotaExceededError: The quota has been exceeded.', '==');
endTest();
});
</script>
</head>
<body>
<video></video>
</body>
</html>