
RUN(video.src = URL.createObjectURL(source))
EVENT(sourceopen)
RUN(source.duration = loader.duration())
RUN(sourceBuffer = source.addSourceBuffer(loader.type()))
RUN(sourceBuffer.appendBuffer(loader.initSegment()))
EVENT(update)
Append a media segment.
RUN(sourceBuffer.appendBuffer(loader.mediaSegment(0)))
EVENT(update)
Remove a range, then remove SourceBuffer from its MediaSource. Should not crash.
RUN(sourceBuffer.remove(0, source.duration))
RUN(source.removeSourceBuffer(sourceBuffer))
END OF TEST

