test_RemoveSourceBuffer.html (1823B)
1 <!DOCTYPE html> 2 <html><head> 3 <meta http-equiv="content-type" content="text/html; charset=windows-1252"> 4 <title>MSE: check buffered status after removed all source buffer</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <script type="text/javascript" src="mediasource.js"></script> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 8 </head> 9 <body> 10 <pre id="test"><script class="testbody" type="text/javascript"> 11 12 const videoURL = "seek.webm"; 13 14 SimpleTest.waitForExplicitFinish(); 15 16 runWithMSE(async function(ms, el) { 17 info("- wait for sourceopen -"); 18 await once(ms, "sourceopen"); 19 20 info("- wait for fetching data -"); 21 const arrayBuffer = await fetchWithXHR(videoURL); 22 23 info("- create source buffer and append data -"); 24 const sourceBuffer = ms.addSourceBuffer("video/webm"); 25 sourceBuffer.appendBuffer(arrayBuffer); 26 await once(sourceBuffer, "updateend"); 27 is(ms.sourceBuffers.length, 1, 28 "the length of source buffers list is 1."); 29 is(ms.activeSourceBuffers.length, 1, 30 "the length of active source buffers list is 1."); 31 ok(ms.duration != 0, "duration is not 0."); 32 is(el.buffered.length, 1, "buffered range is 1."); 33 34 info("- remove source buffer from media source -"); 35 ms.removeSourceBuffer(sourceBuffer); 36 await once(ms.sourceBuffers, "removesourcebuffer"); 37 is(ms.sourceBuffers.length, 0, "source buffers list is empty."); 38 is(ms.activeSourceBuffers.length, 0, "active source buffers list is empty."); 39 ok(ms.duration != 0, "duration is not 0."); 40 is(el.buffered.length, 0, 41 "buffered range is empty since we don't have any source buffer."); 42 43 info("- call endOfStream -"); 44 ms.endOfStream(); 45 is(ms.duration, 0, "duraton is 0 since we don't have any source buffer."); 46 SimpleTest.finish(); 47 }); 48 49 </script> 50 </pre> 51 </body> 52 </html>