Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Unified Diff: LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html

Issue 552943002: MSE: Start letting SourceBuffer begin to do initialization segment received algorithm (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Updated to be part 1 of a 3-sided blink->chromium->blink set of changes Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html
diff --git a/LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html b/LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html
index 1d487a1ad8f141aa833aa630e090d41f12df2160..5790eb84760d90de039912c549b73752d542b354 100644
--- a/LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html
+++ b/LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html
@@ -12,25 +12,21 @@
<script>
function verifySourceBufferLists(mediaSource, expected)
{
- assert_equals(mediaSource.sourceBuffers.length, expected.length, "sourceBuffers length");
- assert_equals(mediaSource.activeSourceBuffers.length, expected.length, "activeSourceBuffers length");
- for (var i = 0; i < expected.length; ++i) {
- assert_equals(mediaSource.sourceBuffers[i], expected[i], "Verifying mediaSource.sourceBuffers[" + i + "]");
- assert_equals(mediaSource.activeSourceBuffers[i], expected[i], "Verifying mediaSource.activeSourceBuffers[" + i + "]");
- }
+ assert_equals(mediaSource.sourceBuffers.length, expected.length, 'sourceBuffers length');
acolwell GONE FROM CHROMIUM 2014/09/10 17:16:26 ditto re: " -> '
wolenetz 2014/09/10 21:18:22 Done.
+ assert_equals(mediaSource.activeSourceBuffers.length, 0, 'activeSourceBuffers length');
+ for (var i = 0; i < expected.length; ++i)
+ assert_equals(mediaSource.sourceBuffers[i], expected[i], 'Verifying mediaSource.sourceBuffers[' + i + ']');
}
mediasource_test(function(test, mediaElement, mediaSource)
{
- test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer", "activeSourceBuffers");
+ test.expectEvent(mediaSource.sourceBuffers, 'addsourcebuffer', 'sourceBuffers');
var sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
var sourceBufferB = null;
test.waitForExpectedEvents(function()
{
- test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer", "activeSourceBuffers");
+ test.expectEvent(mediaSource.sourceBuffers, 'addsourcebuffer', 'sourceBuffers');
sourceBufferB = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);
verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBufferB]);
@@ -38,14 +34,12 @@
test.waitForExpectedEvents(function()
{
- test.expectEvent(mediaSource.activeSourceBuffers, "removesourcebuffer", "activeSourceBuffers");
- test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffer", "sourceBuffers");
+ test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'sourceBuffers');
mediaSource.removeSourceBuffer(sourceBufferA);
verifySourceBufferLists(mediaSource, [sourceBufferB]);
- test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer", "activeSourceBuffers");
+ test.expectEvent(mediaSource.sourceBuffers, 'addsourcebuffer', 'sourceBuffers');
sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
verifySourceBufferLists(mediaSource, [sourceBufferB, sourceBufferA]);
@@ -55,14 +49,12 @@
{
test.done();
});
- }, "Test SourceBufferList event dispatching.");
+ }, 'Test SourceBufferList event dispatching.');
mediasource_test(function(test, mediaElement, mediaSource)
{
- test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer", "activeSourceBuffers");
- test.expectEvent(mediaSource.sourceBuffers, "addsourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource.activeSourceBuffers, "addsourcebuffer", "activeSourceBuffers");
+ test.expectEvent(mediaSource.sourceBuffers, 'addsourcebuffer', 'sourceBuffers');
+ test.expectEvent(mediaSource.sourceBuffers, 'addsourcebuffer', 'sourceBuffers');
var sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
var sourceBufferB = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);
@@ -73,21 +65,53 @@
verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBufferB]);
// Force the media element to close the MediaSource object.
- test.expectEvent(mediaSource.activeSourceBuffers, "removesourcebuffer", "activeSourceBuffers");
- test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffer", "sourceBuffers");
- test.expectEvent(mediaSource, "sourceclose", "mediaSource closing");
- mediaElement.src = "";
+ test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'sourceBuffers');
+ test.expectEvent(mediaSource, 'sourceclose', 'mediaSource closing');
+ test.expectEvent(mediaElement, 'error', 'mediaElement error loading');
+ mediaElement.src = '';
});
test.waitForExpectedEvents(function()
{
- assert_equals(mediaSource.readyState, "closed", "mediaSource is closed.");
+ assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED, 'Expected error code');
+ assert_equals(mediaSource.readyState, 'closed', 'mediaSource is closed.');
verifySourceBufferLists(mediaSource, []);
test.done();
});
- }, "Test that only 1 removesourcebuffer event fires on each SourceBufferList when the MediaSource closes.");
+ }, 'Test that only 1 removesourcebuffer event fires on sourceBuffers when the MediaSource closes.');
+ mediasource_testafterdataloaded_nofailonerror(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
+ {
+ // FIXME: Test two activeSourceBuffers, either demuxed or once multitrack is supported.
+ var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
+
+ test.expectEvent(sourceBuffer, 'updateend', 'initSegment append ended.');
+ test.expectEvent(mediaElement, 'loadedmetadata', 'loadedmetadata done.');
+ sourceBuffer.appendBuffer(initSegment);
+
+ test.waitForExpectedEvents(function()
+ {
+ assert_equals(mediaSource.sourceBuffers.length, 1, 'mediaSource sourceBuffers');
+ assert_equals(mediaSource.activeSourceBuffers.length, 1, 'mediaSource activeSourceBuffers');
+
+ // Force the media element to close the MediaSource object.
+ test.expectEvent(mediaSource.sourceBuffers, 'removesourcebuffer', 'sourcebuffers');
+ test.expectEvent(mediaSource.activeSourceBuffers, 'removesourcebuffer', 'activesourcebuffers');
+ test.expectEvent(mediaSource, 'sourceclose', 'mediaSource closing');
+ test.expectEvent(mediaElement, 'error', 'mediaElement error loading');
+ mediaElement.src = '';
+ });
+
+ test.waitForExpectedEvents(function()
+ {
+ assert_equals(mediaElement.error.code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED, 'Expected error code');
+ assert_equals(mediaSource.readyState, 'closed', 'mediaSource is closed.');
+ assert_equals(mediaSource.sourceBuffers.length, 0, 'mediaSource sourceBuffers');
+ assert_equals(mediaSource.activeSourceBuffers.length, 0, 'mediaSource activeSourceBuffers');
+ test.done();
+ });
+ }, 'Test removesourcebuffer event firing on sourceBuffers and activeSourceBuffers when MediaSource closes.');
</script>
</body>
</html>

Powered by Google App Engine
This is Rietveld 408576698