Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=windows-1252">
<title>MSE: check buffered status after removed all source buffer</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<script type="text/javascript" src="mediasource.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<pre id="test"><script class="testbody" type="text/javascript">
const videoURL = "seek.webm";
SimpleTest.waitForExplicitFinish();
runWithMSE(async function(ms, el) {
info("- wait for sourceopen -");
await once(ms, "sourceopen");
info("- wait for fetching data -");
const arrayBuffer = await fetchWithXHR(videoURL);
info("- create source buffer and append data -");
const sourceBuffer = ms.addSourceBuffer("video/webm");
sourceBuffer.appendBuffer(arrayBuffer);
await once(sourceBuffer, "updateend");
is(ms.sourceBuffers.length, 1,
"the length of source buffers list is 1.");
is(ms.activeSourceBuffers.length, 1,
"the length of active source buffers list is 1.");
ok(ms.duration != 0, "duration is not 0.");
is(el.buffered.length, 1, "buffered range is 1.");
info("- remove source buffer from media source -");
ms.removeSourceBuffer(sourceBuffer);
await once(ms.sourceBuffers, "removesourcebuffer");
is(ms.sourceBuffers.length, 0, "source buffers list is empty.");
is(ms.activeSourceBuffers.length, 0, "active source buffers list is empty.");
ok(ms.duration != 0, "duration is not 0.");
is(el.buffered.length, 0,
"buffered range is empty since we don't have any source buffer.");
info("- call endOfStream -");
ms.endOfStream();
is(ms.duration, 0, "duraton is 0 since we don't have any source buffer.");
SimpleTest.finish();
});
</script>
</pre>
</body>
</html>