| <!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> |