blob: 8cf2efd22c34ff12960a68ad6fa08e8abf2dd6c7 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="/media-resources/video-test.js"></script>
<script src="/media/resources/media-source/webm/segment-info.js"></script>
<script src="media-source.js"></script>
<script>
var segmentHelper = new MediaSourceTest.SegmentHelper(WebMSegmentInfo.testWebM);
function onSourceOpen(event)
{
event.target.removeEventListener('webkitsourceopen', onSourceOpen);
segmentHelper.addSourceBuffer();
consoleWrite("Appending initialization segment.");
segmentHelper.appendInitSegment();
waitForEventOnce('loadedmetadata', function()
{
try
{
consoleWrite("Appending first media segment.");
segmentHelper.appendMediaSegment(0);
consoleWrite("Calling endOfStream().");
mediaSource.endOfStream();
MediaSourceTest.expectSourceState(mediaSource, "ended");
MediaSourceTest.expectBufferedRange(mediaSource.sourceBuffers[0], [[0, 0.399]]);
consoleWrite("Appending zero length Uint8Array.");
segmentHelper.sourceBuffer.append(new Uint8Array(0));
MediaSourceTest.expectSourceState(mediaSource, "open");
}
catch (e)
{
failTest("Unexpected exception: " + e);
}
endTest();
});
}
function onLoad()
{
findMediaElement();
waitForEventAndFail('error');
segmentHelper.init(video, function(success)
{
if (!success) {
failTest("Failed to load segment data");
return;
}
mediaSource.addEventListener('webkitsourceopen', onSourceOpen);
MediaSourceTest.setSrcToMediaSourceTestURL(video);
});
}
</script>
</head>
<body onload="onLoad()">
<video> </video>
<p>Tests calling append() with an empty Uint8Array after the MediaSource has transitioned to the "ended" state.</p>
</body>
</html>