| Index: LayoutTests/http/tests/media/media-source/mediasource-append-buffer.html
|
| diff --git a/LayoutTests/http/tests/media/media-source/mediasource-append-buffer.html b/LayoutTests/http/tests/media/media-source/mediasource-append-buffer.html
|
| index 16347a57dbf6bfc4311f68b2957c956789e40531..741dd8aabaef7cdf9b4ab46da1ef6bd6b34796d8 100644
|
| --- a/LayoutTests/http/tests/media/media-source/mediasource-append-buffer.html
|
| +++ b/LayoutTests/http/tests/media/media-source/mediasource-append-buffer.html
|
| @@ -13,334 +13,408 @@
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test SourceBuffer.appendBuffer() event dispatching.");
|
| + }, 'Test SourceBuffer.appendBuffer() event dispatching.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| - assert_throws("InvalidStateError",
|
| + assert_throws('InvalidStateError',
|
| function() { sourceBuffer.appendBuffer(mediaData); },
|
| - "appendBuffer() throws an exception there is a pending append.");
|
| + 'appendBuffer() throws an exception there is a pending append.');
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test SourceBuffer.appendBuffer() call during a pending appendBuffer().");
|
| + }, 'Test SourceBuffer.appendBuffer() call during a pending appendBuffer().');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "abort", "Append aborted.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'abort', 'Append aborted.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| sourceBuffer.abort();
|
|
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test SourceBuffer.abort() call during a pending appendBuffer().");
|
| + }, 'Test SourceBuffer.abort() call during a pending appendBuffer().');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
|
|
| - test.expectEvent(mediaSource, "sourceended", "MediaSource sourceended event");
|
| + test.expectEvent(mediaSource, 'sourceended', 'MediaSource sourceended event');
|
| mediaSource.endOfStream();
|
| - assert_equals(mediaSource.readyState, "ended", "MediaSource readyState is 'ended'");
|
| + assert_equals(mediaSource.readyState, 'ended', 'MediaSource readyState is "ended"');
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_equals(mediaSource.readyState, "ended", "MediaSource readyState is 'ended'");
|
| + assert_equals(mediaSource.readyState, 'ended', 'MediaSource readyState is "ended"');
|
|
|
| - test.expectEvent(mediaSource, "sourceopen", "MediaSource sourceopen event");
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(mediaSource, 'sourceopen', 'MediaSource sourceopen event');
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_equals(mediaSource.readyState, "open", "MediaSource readyState is 'open'");
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_equals(mediaSource.readyState, 'open', 'MediaSource readyState is "open"');
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_equals(mediaSource.readyState, "open", "MediaSource readyState is 'open'");
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_equals(mediaSource.readyState, 'open', 'MediaSource readyState is "open"');
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test SourceBuffer.appendBuffer() triggering an 'ended' to 'open' transition.");
|
| + }, 'Test SourceBuffer.appendBuffer() triggering an "ended" to "open" transition.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
|
|
| - test.expectEvent(mediaSource, "sourceended", "MediaSource sourceended event");
|
| + test.expectEvent(mediaSource, 'sourceended', 'MediaSource sourceended event');
|
| mediaSource.endOfStream();
|
| - assert_equals(mediaSource.readyState, "ended", "MediaSource readyState is 'ended'");
|
| + assert_equals(mediaSource.readyState, 'ended', 'MediaSource readyState is "ended"');
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_equals(mediaSource.readyState, "ended", "MediaSource readyState is 'ended'");
|
| + assert_equals(mediaSource.readyState, 'ended', 'MediaSource readyState is "ended"');
|
|
|
| - test.expectEvent(mediaSource, "sourceopen", "MediaSource sourceopen event");
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(mediaSource, 'sourceopen', 'MediaSource sourceopen event');
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(new Uint8Array(0));
|
|
|
| - assert_equals(mediaSource.readyState, "open", "MediaSource readyState is 'open'");
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_equals(mediaSource.readyState, 'open', 'MediaSource readyState is "open"');
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_equals(mediaSource.readyState, "open", "MediaSource readyState is 'open'");
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_equals(mediaSource.readyState, 'open', 'MediaSource readyState is "open"');
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test zero byte SourceBuffer.appendBuffer() call triggering an 'ended' to 'open' transition.");
|
| + }, 'Test zero byte SourceBuffer.appendBuffer() call triggering an "ended" to "open" transition.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "abort", "Append aborted.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'abort', 'Append aborted.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| - test.expectEvent(mediaSource.activeSourceBuffers, "removesourcebuffer", "activeSourceBuffers");
|
| - test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffer", "sourceBuffers");
|
| + test.expectEvent(mediaSource.activeSourceBuffers, 'removesourcebuffer', 'activeSourceBuffers');
|
| + test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'sourceBuffers');
|
| mediaSource.removeSourceBuffer(sourceBuffer);
|
|
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
|
|
| - assert_throws("InvalidStateError",
|
| + assert_throws('InvalidStateError',
|
| function() { sourceBuffer.appendBuffer(mediaData); },
|
| - "appendBuffer() throws an exception because it isn't attached to the mediaSource anymore.");
|
| + 'appendBuffer() throws an exception because it isn\'t attached to the mediaSource anymore.');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test MediaSource.removeSourceBuffer() call during a pending appendBuffer().");
|
| + }, 'Test MediaSource.removeSourceBuffer() call during a pending appendBuffer().');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| - assert_throws("InvalidStateError",
|
| + assert_throws('InvalidStateError',
|
| function() { mediaSource.duration = 1.0; },
|
| - "set duration throws an exception when updating attribute is true.");
|
| + 'set duration throws an exception when updating attribute is true.');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test set MediaSource.duration during a pending appendBuffer() for one of its SourceBuffers.");
|
| + }, 'Test set MediaSource.duration during a pending appendBuffer() for one of its SourceBuffers.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| - test.failOnEvent(mediaElement, "error");
|
| - test.failOnEvent(mediaSource, "sourceended");
|
| + test.failOnEvent(mediaElement, 'error');
|
| + test.failOnEvent(mediaSource, 'sourceended');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| - assert_throws("InvalidStateError",
|
| + assert_throws('InvalidStateError',
|
| function() { mediaSource.endOfStream(); },
|
| - "endOfStream() throws an exception when updating attribute is true.");
|
| + 'endOfStream() throws an exception when updating attribute is true.');
|
|
|
| - assert_equals(mediaSource.readyState, "open");
|
| + assert_equals(mediaSource.readyState, 'open');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| - assert_equals(mediaSource.readyState, "open");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| + assert_equals(mediaSource.readyState, 'open');
|
| test.done();
|
| });
|
| - }, "Test MediaSource.endOfStream() during a pending appendBuffer() for one of its SourceBuffers.");
|
| + }, 'Test MediaSource.endOfStream() during a pending appendBuffer() for one of its SourceBuffers.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(mediaData);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| - assert_throws("InvalidStateError",
|
| + assert_throws('InvalidStateError',
|
| function() { sourceBuffer.timestampOffset = 10.0; },
|
| - "set timestampOffset throws an exception when updating attribute is true.");
|
| + 'set timestampOffset throws an exception when updating attribute is true.');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test set SourceBuffer.timestampOffset during a pending appendBuffer().");
|
| + }, 'Test set SourceBuffer.timestampOffset during a pending appendBuffer().');
|
|
|
| mediasource_test(function(test, mediaElement, mediaSource)
|
| {
|
| var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(new Uint8Array(0));
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test appending an empty ArrayBufferView.");
|
| + }, 'Test appending an empty ArrayBufferView.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
|
|
| var arrayBufferView = new Uint8Array(mediaData);
|
|
|
| - assert_equals(arrayBufferView.length, mediaData.length, "arrayBufferView.length before transfer.");
|
| + assert_equals(arrayBufferView.length, mediaData.length, 'arrayBufferView.length before transfer.');
|
|
|
| // Send the buffer as in a message so it gets neutered.
|
| - window.postMessage( "test", "*", [arrayBufferView.buffer]);
|
| + window.postMessage( 'test', '*', [arrayBufferView.buffer]);
|
|
|
| - assert_equals(arrayBufferView.length, 0, "arrayBufferView.length after transfer.");
|
| + assert_equals(arrayBufferView.length, 0, 'arrayBufferView.length after transfer.');
|
|
|
| sourceBuffer.appendBuffer(arrayBufferView);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test appending a neutered ArrayBufferView.");
|
| + }, 'Test appending a neutered ArrayBufferView.');
|
|
|
| mediasource_test(function(test, mediaElement, mediaSource)
|
| {
|
| var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| sourceBuffer.appendBuffer(new ArrayBuffer(0));
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test appending an empty ArrayBuffer.");
|
| + }, 'Test appending an empty ArrayBuffer.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| test.failOnEvent(mediaElement, 'error');
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
|
|
| var arrayBuffer = mediaData.buffer.slice();
|
|
|
| - assert_equals(arrayBuffer.byteLength, mediaData.buffer.byteLength, "arrayBuffer.byteLength before transfer.");
|
| + assert_equals(arrayBuffer.byteLength, mediaData.buffer.byteLength, 'arrayBuffer.byteLength before transfer.');
|
|
|
| // Send the buffer as in a message so it gets neutered.
|
| - window.postMessage( "test", "*", [arrayBuffer]);
|
| + window.postMessage( 'test', '*', [arrayBuffer]);
|
|
|
| - assert_equals(arrayBuffer.byteLength, 0, "arrayBuffer.byteLength after transfer.");
|
| + assert_equals(arrayBuffer.byteLength, 0, 'arrayBuffer.byteLength after transfer.');
|
|
|
| sourceBuffer.appendBuffer(arrayBuffer);
|
|
|
| - assert_true(sourceBuffer.updating, "updating attribute is true");
|
| + assert_true(sourceBuffer.updating, 'updating attribute is true');
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - assert_false(sourceBuffer.updating, "updating attribute is false");
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| test.done();
|
| });
|
| - }, "Test appending a neutered ArrayBuffer.");
|
| + }, 'Test appending a neutered ArrayBuffer.');
|
| +
|
| + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| + {
|
| + var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
|
| + var halfIndex = (initSegment.length + 1) / 2;
|
| + var partialInitSegment = initSegment.subarray(0, halfIndex);
|
| + var remainingInitSegment = initSegment.subarray(halfIndex);
|
| + var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
|
| +
|
| + test.expectEvent(sourceBuffer, 'updateend', 'partialInitSegment append ended.');
|
| + sourceBuffer.appendBuffer(partialInitSegment);
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_equals(mediaElement.readyState, mediaElement.HAVE_NOTHING);
|
| + assert_equals(mediaSource.duration, Number.NaN);
|
| + test.expectEvent(sourceBuffer, 'updateend', 'remainingInitSegment append ended.');
|
| + test.expectEvent(mediaElement, 'loadedmetadata', 'loadedmetadata event received.');
|
| + sourceBuffer.appendBuffer(remainingInitSegment);
|
| + });
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_equals(mediaElement.readyState, mediaElement.HAVE_METADATA);
|
| + assert_equals(mediaSource.duration, segmentInfo.durationInInitSegment);
|
| + test.expectEvent(sourceBuffer, 'updateend', 'mediaSegment append ended.');
|
| + test.expectEvent(mediaElement, 'loadeddata', 'loadeddata fired.');
|
| + sourceBuffer.appendBuffer(mediaSegment);
|
| + });
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_greater_than_equal(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA);
|
| + assert_equals(sourceBuffer.updating, false);
|
| + assert_equals(mediaSource.readyState, 'open');
|
| + test.done();
|
| + });
|
| + }, 'Test appendBuffer with partial init segments.');
|
| +
|
| + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| + {
|
| + var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
|
| + var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
|
| + var halfIndex = (mediaSegment.length + 1) / 2;
|
| + var partialMediaSegment = mediaSegment.subarray(0, halfIndex);
|
| + var remainingMediaSegment = mediaSegment.subarray(halfIndex);
|
| +
|
| + test.expectEvent(sourceBuffer, 'updateend', 'InitSegment append ended.');
|
| + test.expectEvent(mediaElement, 'loadedmetadata', 'loadedmetadata done.');
|
| + sourceBuffer.appendBuffer(initSegment);
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_equals(mediaElement.readyState, mediaElement.HAVE_METADATA);
|
| + assert_equals(mediaSource.duration, segmentInfo.durationInInitSegment);
|
| + test.expectEvent(sourceBuffer, 'updateend', 'partial media segment append ended.');
|
| + sourceBuffer.appendBuffer(partialMediaSegment);
|
| + });
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + test.expectEvent(sourceBuffer, 'updateend', 'mediaSegment append ended.');
|
| + test.expectEvent(mediaElement, 'loadeddata', 'loadeddata fired.');
|
| + sourceBuffer.appendBuffer(remainingMediaSegment);
|
| + });
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_greater_than_equal(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA);
|
| + assert_equals(mediaSource.readyState, 'open');
|
| + assert_equals(sourceBuffer.updating, false);
|
| + test.done();
|
| + });
|
| + }, 'Test appendBuffer with partial media segments.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| @@ -348,7 +422,7 @@
|
| var partialInitSegment = initSegment.subarray(0, initSegment.length / 2);
|
| var mediaSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
|
|
|
| - test.expectEvent(sourceBuffer, "updateend", "partialInitSegment append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'partialInitSegment append ended.');
|
| sourceBuffer.appendBuffer(partialInitSegment);
|
|
|
| test.waitForExpectedEvents(function()
|
| @@ -357,14 +431,14 @@
|
| sourceBuffer.abort();
|
|
|
| // Append the full intiialization segment.
|
| - test.expectEvent(sourceBuffer, "updateend", "initSegment append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'initSegment append ended.');
|
| sourceBuffer.appendBuffer(initSegment);
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
|
| - test.expectEvent(mediaElement, "loadeddata", "loadeddata fired.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'mediaSegment append ended.');
|
| + test.expectEvent(mediaElement, 'loadeddata', 'loadeddata fired.');
|
| sourceBuffer.appendBuffer(mediaSegment);
|
| });
|
|
|
| @@ -372,7 +446,7 @@
|
| {
|
| test.done();
|
| });
|
| - }, "Test abort in the middle of an initialization segment.");
|
| + }, 'Test abort in the middle of an initialization segment.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| @@ -381,12 +455,12 @@
|
| var partialMediaSegment = mediaSegment.subarray(0, 3 * mediaSegment.length / 4);
|
| var partialBufferedRanges = null;
|
|
|
| - test.expectEvent(sourceBuffer, "updateend", "initSegment append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'initSegment append ended.');
|
| sourceBuffer.appendBuffer(initSegment);
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - test.expectEvent(sourceBuffer, "updateend", "partialMediaSegment append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'partialMediaSegment append ended.');
|
| sourceBuffer.appendBuffer(partialMediaSegment);
|
| });
|
|
|
| @@ -397,48 +471,99 @@
|
|
|
| // Keep a copy of the buffered ranges before we append the whole media segment.
|
| partialBufferedRanges = sourceBuffer.buffered;
|
| - assert_equals(partialBufferedRanges.length, 1, "partialBufferedRanges has 1 range");
|
| + assert_equals(partialBufferedRanges.length, 1, 'partialBufferedRanges has 1 range');
|
|
|
| // Append the full media segment.
|
| - test.expectEvent(sourceBuffer, "updateend", "mediaSegment append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'mediaSegment append ended.');
|
| sourceBuffer.appendBuffer(mediaSegment);
|
| });
|
|
|
| test.waitForExpectedEvents(function()
|
| {
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| +
|
| + assert_equals(sourceBuffer.buffered.length, 1, 'sourceBuffer.buffered has 1 range');
|
| + assert_equals(sourceBuffer.buffered.length, partialBufferedRanges.length, 'sourceBuffer.buffered and partialBufferedRanges are the same length.');
|
| + assert_equals(sourceBuffer.buffered.start(0), partialBufferedRanges.start(0), 'sourceBuffer.buffered and partialBufferedRanges start times match.');
|
| + assert_greater_than(sourceBuffer.buffered.end(0), partialBufferedRanges.end(0), 'sourceBuffer.buffered has a higher end time than partialBufferedRanges.');
|
| + test.done();
|
| + });
|
| + }, 'Test abort in the middle of a media segment.');
|
| +
|
| + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| + {
|
| + test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'SourceBuffer removed.');
|
| + mediaSource.removeSourceBuffer(sourceBuffer);
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_throws('InvalidStateError',
|
| + function() { sourceBuffer.abort(); },
|
| + 'sourceBuffer.abort() throws an exception for InvalidStateError.');
|
| +
|
| + test.done();
|
| + });
|
| + }, 'Test abort after removing sourcebuffer.');
|
|
|
| - assert_equals(sourceBuffer.buffered.length, 1, "sourceBuffer.buffered has 1 range");
|
| - assert_equals(sourceBuffer.buffered.length, partialBufferedRanges.length, "sourceBuffer.buffered and partialBufferedRanges are the same length.");
|
| - assert_equals(sourceBuffer.buffered.start(0), partialBufferedRanges.start(0), "sourceBuffer.buffered and partialBufferedRanges start times match.");
|
| - assert_greater_than(sourceBuffer.buffered.end(0), partialBufferedRanges.end(0), "sourceBuffer.buffered has a higher end time than partialBufferedRanges.");
|
| + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| + {
|
| + test.expectEvent(mediaSource, 'sourceended', 'source ended');
|
| +
|
| + assert_equals(mediaSource.readyState, 'open', 'readyState is open.');
|
| + mediaSource.endOfStream();
|
| +
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_equals(mediaSource.readyState, 'ended', 'readyState is ended.');
|
| + assert_throws('InvalidStateError',
|
| + function() { sourceBuffer.abort(); },
|
| + 'sourceBuffer.abort() throws an exception for InvalidStateError.');
|
| test.done();
|
| });
|
| - }, "Test abort in the middle of a media segment.");
|
| +
|
| + }, 'Test abort after readyState is ended.');
|
| +
|
| + mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| + {
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
| + sourceBuffer.appendWindowStart = 1;
|
| + sourceBuffer.appendWindowEnd = 100;
|
| + sourceBuffer.appendBuffer(mediaData);
|
|
|
| + test.waitForExpectedEvents(function()
|
| + {
|
| + assert_false(sourceBuffer.updating, 'updating attribute is false');
|
| + sourceBuffer.abort();
|
| + assert_equals(sourceBuffer.appendWindowStart, 0, 'appendWindowStart is reset to 0');
|
| + assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
|
| + 'appendWindowEnd is reset to +INFINITY');
|
| + test.done();
|
| + });
|
| + }, 'Test abort after appendBuffer update ends.');
|
| +
|
| mediasource_test(function(test, mediaElement, mediaSource)
|
| {
|
| var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
|
|
|
| - test.expectEvent(sourceBuffer, "updatestart", "Append started.");
|
| - test.expectEvent(sourceBuffer, "update", "Append success.");
|
| - test.expectEvent(sourceBuffer, "updateend", "Append ended.");
|
| + test.expectEvent(sourceBuffer, 'updatestart', 'Append started.');
|
| + test.expectEvent(sourceBuffer, 'update', 'Append success.');
|
| + test.expectEvent(sourceBuffer, 'updateend', 'Append ended.');
|
|
|
| - assert_throws( { name: "TypeError"} ,
|
| + assert_throws( { name: 'TypeError'} ,
|
| function() { sourceBuffer.appendBuffer(null); },
|
| - "appendBuffer(null) throws an exception.");
|
| + 'appendBuffer(null) throws an exception.');
|
| test.done();
|
| - }, "Test appending null.");
|
| + }, 'Test appending null.');
|
|
|
| mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
|
| {
|
| mediaSource.removeSourceBuffer(sourceBuffer);
|
|
|
| - assert_throws( { name: "InvalidStateError"} ,
|
| + assert_throws( { name: 'InvalidStateError'} ,
|
| function() { sourceBuffer.appendBuffer(mediaData); },
|
| - "appendBuffer() throws an exception when called after removeSourceBuffer().");
|
| + 'appendBuffer() throws an exception when called after removeSourceBuffer().');
|
| test.done();
|
| - }, "Test appending after removeSourceBuffer().");
|
| + }, 'Test appending after removeSourceBuffer().');
|
| </script>
|
| </body>
|
| </html>
|
|
|