4 <script src="/media-resources/video-test.js"></script>
5 <script src="webkitmediasource-util.js"></script>
8 var ms = new WebKitMediaSource();
10 function sourceOpened()
12 consoleWrite("sourceOpened called.");
13 var vid = document.getElementById('vid');
14 var buffer = ms.addSourceBuffer('video/webm; codecs="vorbis,vp8"');
16 MediaSourceTest.expectSourceState(ms, "open");
18 consoleWrite("Removing video element from DOM.");
19 vid.parentNode.removeChild(vid);
22 consoleWrite("Running the garbage collector.");
25 MediaSourceTest.expectSourceState(ms, "closed");
28 buffer.timestampOffset = 42;
29 failTest("Expected an exception");
31 consoleWrite("Setting timestampOffset failed as expected: " + e.name);
35 function sourceClosed()
37 consoleWrite("sourceClosed called.");
43 waitForEventAndFail('error');
45 ms.addEventListener('webkitsourceopen', sourceOpened);
46 ms.addEventListener('webkitsourceclose', sourceClosed);
48 document.getElementById('vid').src = window.URL.createObjectURL(ms);
52 <body onload="onLoad()">
53 <video id="vid"></video>
54 <p>Tests that the MediaSource is closed when the HTMLMediaElement is destroyed.</p>