Changeset 205777 in webkit


Ignore:
Timestamp:
Sep 9, 2016 5:47:53 PM (8 years ago)
Author:
jer.noble@apple.com
Message:

[Media Source] Import updated w3c/web-platform-tests and rebaseline
https://bugs.webkit.org/show_bug.cgi?id=161723

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/media-source/OWNERS: Added.
  • web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
  • web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
  • web-platform-tests/media-source/SourceBuffer-abort-readyState.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html.
  • web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
  • web-platform-tests/media-source/SourceBuffer-abort-removed.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html.
  • web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
  • web-platform-tests/media-source/SourceBuffer-abort-updating.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html.
  • web-platform-tests/media-source/SourceBuffer-abort.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html.
  • web-platform-tests/media-source/URL-createObjectURL-expected.txt: Added.
  • web-platform-tests/media-source/URL-createObjectURL-null-expected.txt: Added.
  • web-platform-tests/media-source/URL-createObjectURL-null.html: Added.
  • web-platform-tests/media-source/URL-createObjectURL-revoke-expected.txt: Added.
  • web-platform-tests/media-source/URL-createObjectURL-revoke.html: Added.
  • web-platform-tests/media-source/URL-createObjectURL.html: Added.
  • web-platform-tests/media-source/import_tests.sh: Added.
  • web-platform-tests/media-source/interfaces-expected.txt: Added.
  • web-platform-tests/media-source/interfaces.html: Added.
  • web-platform-tests/media-source/manifest.txt: Added.
  • web-platform-tests/media-source/mediasource-activesourcebuffers-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-activesourcebuffers.html: Added.
  • web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt.
  • web-platform-tests/media-source/mediasource-addsourcebuffer-mode-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-addsourcebuffer-mode.html: Added.
  • web-platform-tests/media-source/mediasource-addsourcebuffer.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer.html.
  • web-platform-tests/media-source/mediasource-append-buffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-append-buffer-expected.txt.
  • web-platform-tests/media-source/mediasource-append-buffer.html: Added.
  • web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded.html: Added.
  • web-platform-tests/media-source/mediasource-appendwindow-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow-expected.txt.
  • web-platform-tests/media-source/mediasource-appendwindow.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow.html.
  • web-platform-tests/media-source/mediasource-avtracks-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-avtracks.html: Added.
  • web-platform-tests/media-source/mediasource-buffered-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-buffered.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-buffered.html.
  • web-platform-tests/media-source/mediasource-closed-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-closed-expected.txt.
  • web-platform-tests/media-source/mediasource-closed.html: Added.
  • web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt.
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html.
  • web-platform-tests/media-source/mediasource-config-changes.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-changes.js.

(resolutionFromFilename):
(appendBuffer):
(mediaSourceConfigChangeTest):

  • web-platform-tests/media-source/mediasource-detach-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-detach.html: Added.
  • web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-duration-boundaryconditions.html: Added.
  • web-platform-tests/media-source/mediasource-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration-expected.txt.
  • web-platform-tests/media-source/mediasource-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration.html.
  • web-platform-tests/media-source/mediasource-endofstream-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-endofstream-invaliderror-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt.
  • web-platform-tests/media-source/mediasource-endofstream-invaliderror.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror.html.
  • web-platform-tests/media-source/mediasource-endofstream.html: Added.
  • web-platform-tests/media-source/mediasource-errors-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-errors.html: Added.
  • web-platform-tests/media-source/mediasource-getvideoplaybackquality-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt.
  • web-platform-tests/media-source/mediasource-getvideoplaybackquality.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality.html.
  • web-platform-tests/media-source/mediasource-is-type-supported-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported-expected.txt.
  • web-platform-tests/media-source/mediasource-is-type-supported.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html.
  • web-platform-tests/media-source/mediasource-liveseekable-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-liveseekable.html: Added.
  • web-platform-tests/media-source/mediasource-multiple-attach-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach-expected.txt.
  • web-platform-tests/media-source/mediasource-multiple-attach.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach.html.
  • web-platform-tests/media-source/mediasource-play-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-expected.txt.
  • web-platform-tests/media-source/mediasource-play-then-seek-back-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt.
  • web-platform-tests/media-source/mediasource-play-then-seek-back.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back.html.
  • web-platform-tests/media-source/mediasource-play.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play.html.
  • web-platform-tests/media-source/mediasource-preload-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-preload.html: Added.
  • web-platform-tests/media-source/mediasource-redundant-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek-expected.txt.
  • web-platform-tests/media-source/mediasource-redundant-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek.html.
  • web-platform-tests/media-source/mediasource-remove-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove-expected.txt.
  • web-platform-tests/media-source/mediasource-remove.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove.html.
  • web-platform-tests/media-source/mediasource-removesourcebuffer-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-removesourcebuffer.html: Added.
  • web-platform-tests/media-source/mediasource-seek-beyond-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt.
  • web-platform-tests/media-source/mediasource-seek-beyond-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration.html.
  • web-platform-tests/media-source/mediasource-seek-during-pending-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt.
  • web-platform-tests/media-source/mediasource-seek-during-pending-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek.html.
  • web-platform-tests/media-source/mediasource-seekable-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-seekable.html: Added.
  • web-platform-tests/media-source/mediasource-sequencemode-append-buffer-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html: Added.
  • web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt.
  • web-platform-tests/media-source/mediasource-sourcebuffer-mode.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode.html.
  • web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html: Added.
  • web-platform-tests/media-source/mediasource-sourcebufferlist-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt.
  • web-platform-tests/media-source/mediasource-sourcebufferlist.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html.
  • web-platform-tests/media-source/mediasource-timestamp-offset-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-timestamp-offset.html: Added.
  • web-platform-tests/media-source/mediasource-trackdefault-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-trackdefault.html: Added.
  • web-platform-tests/media-source/mediasource-trackdefaultlist-expected.txt: Added.
  • web-platform-tests/media-source/mediasource-trackdefaultlist.html: Added.
  • web-platform-tests/media-source/mediasource-util.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-util.js.

(EventExpectationsManager):
(EventExpectationsManager.prototype.expectEvent):
(EventExpectationsManager.prototype.waitForExpectedEvents):
(EventExpectationsManager.prototype.expectingEvents):
(EventExpectationsManager.prototype.handleWaitCallback_):
(EventExpectationsManager.prototype.getExpectations_):
(loadData_):
(onSourceOpen):
(openMediaSource_):
(MediaSourceUtil.loadTextData):
(MediaSourceUtil.loadBinaryData):
(MediaSourceUtil.fetchManifestAndData):
(MediaSourceUtil.extractSegmentData):
(MediaSourceUtil.getMediaDataForPlaybackTime):
(getFirstSupportedType):
(getSegmentInfo):
(MediaSourceUtil.getSubType):
(MediaSourceUtil.append):
(onEvent):
(onAppendDone):
(MediaSourceUtil.appendUntilEventFires):
(addExtraTestMethods.test.expectEvent):
(addExtraTestMethods.test.waitForExpectedEvents):
(addExtraTestMethods.test.waitForCurrentTimeChange):
(addExtraTestMethods.test.done):
(addExtraTestMethods):
(window.string_appeared_here):

  • web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json.
  • web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
  • web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json.
  • web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
  • web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4.
  • web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4.
  • web-platform-tests/media-source/mp4/test.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test.mp4.
  • web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json.
  • web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm.
  • web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json.
  • web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm.
  • web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm.
  • web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json.
  • web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm.
  • web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm.
  • web-platform-tests/media-source/webm/test.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test.webm.

LayoutTests:

  • http/tests/media/media-source/mediasource-append-buffer.html: Removed.
  • http/tests/media/media-source/mediasource-buffered-expected.txt: Removed.
  • http/tests/media/media-source/mediasource-closed.html: Removed.
  • http/tests/media/media-source/mediasource-config-changes.js:

(resolutionFromFilename): Deleted.
(appendBuffer): Deleted.
(mediaSourceConfigChangeTest): Deleted.

  • http/tests/media/media-source/mediasource-util.js:

(EventExpectationsManager): Deleted.
(EventExpectationsManager.prototype.expectEvent): Deleted.
(EventExpectationsManager.prototype.waitForExpectedEvents): Deleted.
(EventExpectationsManager.prototype.expectingEvents): Deleted.
(EventExpectationsManager.prototype.handleWaitCallback_): Deleted.
(EventExpectationsManager.prototype.getExpectations_): Deleted.
(loadData_): Deleted.
(onSourceOpen): Deleted.
(openMediaSource_): Deleted.
(MediaSourceUtil.loadTextData): Deleted.
(MediaSourceUtil.loadBinaryData): Deleted.
(MediaSourceUtil.fetchManifestAndData): Deleted.
(MediaSourceUtil.extractSegmentData): Deleted.
(MediaSourceUtil.getMediaDataForPlaybackTime): Deleted.
(getFirstSupportedType): Deleted.
(getSegmentInfo): Deleted.
(MediaSourceUtil.getSubType): Deleted.
(addExtraTestMethods.test.failOnEvent): Deleted.
(addExtraTestMethods.test.endOnEvent): Deleted.
(addExtraTestMethods.test.expectEvent): Deleted.
(addExtraTestMethods.test.waitForExpectedEvents): Deleted.
(addExtraTestMethods.test.waitForCurrentTimeChange): Deleted.
(addExtraTestMethods.test.done): Deleted.
(addExtraTestMethods): Deleted.
(window.string_appeared_here): Deleted.

  • http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Removed.
  • http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Removed.
  • http/tests/media/media-source/webm/segment-info.js: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
  • platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
Location:
trunk/LayoutTests
Files:
64 added
8 deleted
5 edited
105 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r205766 r205777  
     12016-09-09  Jer Noble  <jer.noble@apple.com>
     2
     3        [Media Source] Import updated w3c/web-platform-tests and rebaseline
     4        https://bugs.webkit.org/show_bug.cgi?id=161723
     5
     6        Reviewed by Youenn Fablet.
     7
     8        * http/tests/media/media-source/mediasource-append-buffer.html: Removed.
     9        * http/tests/media/media-source/mediasource-buffered-expected.txt: Removed.
     10        * http/tests/media/media-source/mediasource-closed.html: Removed.
     11        * http/tests/media/media-source/mediasource-config-changes.js:
     12        (resolutionFromFilename): Deleted.
     13        (appendBuffer): Deleted.
     14        (mediaSourceConfigChangeTest): Deleted.
     15        * http/tests/media/media-source/mediasource-util.js:
     16        (EventExpectationsManager): Deleted.
     17        (EventExpectationsManager.prototype.expectEvent): Deleted.
     18        (EventExpectationsManager.prototype.waitForExpectedEvents): Deleted.
     19        (EventExpectationsManager.prototype.expectingEvents): Deleted.
     20        (EventExpectationsManager.prototype.handleWaitCallback_): Deleted.
     21        (EventExpectationsManager.prototype.getExpectations_): Deleted.
     22        (loadData_): Deleted.
     23        (onSourceOpen): Deleted.
     24        (openMediaSource_): Deleted.
     25        (MediaSourceUtil.loadTextData): Deleted.
     26        (MediaSourceUtil.loadBinaryData): Deleted.
     27        (MediaSourceUtil.fetchManifestAndData): Deleted.
     28        (MediaSourceUtil.extractSegmentData): Deleted.
     29        (MediaSourceUtil.getMediaDataForPlaybackTime): Deleted.
     30        (getFirstSupportedType): Deleted.
     31        (getSegmentInfo): Deleted.
     32        (MediaSourceUtil.getSubType): Deleted.
     33        (addExtraTestMethods.test.failOnEvent): Deleted.
     34        (addExtraTestMethods.test.endOnEvent): Deleted.
     35        (addExtraTestMethods.test.expectEvent): Deleted.
     36        (addExtraTestMethods.test.waitForExpectedEvents): Deleted.
     37        (addExtraTestMethods.test.waitForCurrentTimeChange): Deleted.
     38        (addExtraTestMethods.test.done): Deleted.
     39        (addExtraTestMethods): Deleted.
     40        (window.string_appeared_here): Deleted.
     41        * http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Removed.
     42        * http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Removed.
     43        * http/tests/media/media-source/webm/segment-info.js: Removed.
     44        * platform/ios-simulator/TestExpectations:
     45        * platform/mac/TestExpectations:
     46        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
     47        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
     48        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
     49        * platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
     50
    1512016-09-08  Dean Jackson  <dino@apple.com>
    252
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r205755 r205777  
     12016-09-09  Jer Noble  <jer.noble@apple.com>
     2
     3        [Media Source] Import updated w3c/web-platform-tests and rebaseline
     4        https://bugs.webkit.org/show_bug.cgi?id=161723
     5
     6        Reviewed by Youenn Fablet.
     7
     8        * web-platform-tests/media-source/OWNERS: Added.
     9        * web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
     10        * web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
     11        * web-platform-tests/media-source/SourceBuffer-abort-readyState.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html.
     12        * web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
     13        * web-platform-tests/media-source/SourceBuffer-abort-removed.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html.
     14        * web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
     15        * web-platform-tests/media-source/SourceBuffer-abort-updating.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html.
     16        * web-platform-tests/media-source/SourceBuffer-abort.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html.
     17        * web-platform-tests/media-source/URL-createObjectURL-expected.txt: Added.
     18        * web-platform-tests/media-source/URL-createObjectURL-null-expected.txt: Added.
     19        * web-platform-tests/media-source/URL-createObjectURL-null.html: Added.
     20        * web-platform-tests/media-source/URL-createObjectURL-revoke-expected.txt: Added.
     21        * web-platform-tests/media-source/URL-createObjectURL-revoke.html: Added.
     22        * web-platform-tests/media-source/URL-createObjectURL.html: Added.
     23        * web-platform-tests/media-source/import_tests.sh: Added.
     24        * web-platform-tests/media-source/interfaces-expected.txt: Added.
     25        * web-platform-tests/media-source/interfaces.html: Added.
     26        * web-platform-tests/media-source/manifest.txt: Added.
     27        * web-platform-tests/media-source/mediasource-activesourcebuffers-expected.txt: Added.
     28        * web-platform-tests/media-source/mediasource-activesourcebuffers.html: Added.
     29        * web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt.
     30        * web-platform-tests/media-source/mediasource-addsourcebuffer-mode-expected.txt: Added.
     31        * web-platform-tests/media-source/mediasource-addsourcebuffer-mode.html: Added.
     32        * web-platform-tests/media-source/mediasource-addsourcebuffer.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer.html.
     33        * web-platform-tests/media-source/mediasource-append-buffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-append-buffer-expected.txt.
     34        * web-platform-tests/media-source/mediasource-append-buffer.html: Added.
     35        * web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded-expected.txt: Added.
     36        * web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded.html: Added.
     37        * web-platform-tests/media-source/mediasource-appendwindow-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow-expected.txt.
     38        * web-platform-tests/media-source/mediasource-appendwindow.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow.html.
     39        * web-platform-tests/media-source/mediasource-avtracks-expected.txt: Added.
     40        * web-platform-tests/media-source/mediasource-avtracks.html: Added.
     41        * web-platform-tests/media-source/mediasource-buffered-expected.txt: Added.
     42        * web-platform-tests/media-source/mediasource-buffered.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-buffered.html.
     43        * web-platform-tests/media-source/mediasource-closed-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-closed-expected.txt.
     44        * web-platform-tests/media-source/mediasource-closed.html: Added.
     45        * web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt.
     46        * web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html.
     47        * web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt.
     48        * web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html.
     49        * web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt.
     50        * web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html.
     51        * web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt.
     52        * web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html.
     53        * web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt.
     54        * web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html.
     55        * web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt.
     56        * web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html.
     57        * web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt.
     58        * web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html.
     59        * web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt.
     60        * web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html.
     61        * web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt.
     62        * web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html.
     63        * web-platform-tests/media-source/mediasource-config-change-webm-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt.
     64        * web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html.
     65        * web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt.
     66        * web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html.
     67        * web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt.
     68        * web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html.
     69        * web-platform-tests/media-source/mediasource-config-change-webm-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt.
     70        * web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html.
     71        * web-platform-tests/media-source/mediasource-config-change-webm-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt.
     72        * web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html.
     73        * web-platform-tests/media-source/mediasource-config-changes.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-changes.js.
     74        (resolutionFromFilename):
     75        (appendBuffer):
     76        (mediaSourceConfigChangeTest):
     77        * web-platform-tests/media-source/mediasource-detach-expected.txt: Added.
     78        * web-platform-tests/media-source/mediasource-detach.html: Added.
     79        * web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
     80        * web-platform-tests/media-source/mediasource-duration-boundaryconditions.html: Added.
     81        * web-platform-tests/media-source/mediasource-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration-expected.txt.
     82        * web-platform-tests/media-source/mediasource-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration.html.
     83        * web-platform-tests/media-source/mediasource-endofstream-expected.txt: Added.
     84        * web-platform-tests/media-source/mediasource-endofstream-invaliderror-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt.
     85        * web-platform-tests/media-source/mediasource-endofstream-invaliderror.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror.html.
     86        * web-platform-tests/media-source/mediasource-endofstream.html: Added.
     87        * web-platform-tests/media-source/mediasource-errors-expected.txt: Added.
     88        * web-platform-tests/media-source/mediasource-errors.html: Added.
     89        * web-platform-tests/media-source/mediasource-getvideoplaybackquality-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt.
     90        * web-platform-tests/media-source/mediasource-getvideoplaybackquality.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality.html.
     91        * web-platform-tests/media-source/mediasource-is-type-supported-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported-expected.txt.
     92        * web-platform-tests/media-source/mediasource-is-type-supported.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html.
     93        * web-platform-tests/media-source/mediasource-liveseekable-expected.txt: Added.
     94        * web-platform-tests/media-source/mediasource-liveseekable.html: Added.
     95        * web-platform-tests/media-source/mediasource-multiple-attach-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach-expected.txt.
     96        * web-platform-tests/media-source/mediasource-multiple-attach.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach.html.
     97        * web-platform-tests/media-source/mediasource-play-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-expected.txt.
     98        * web-platform-tests/media-source/mediasource-play-then-seek-back-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt.
     99        * web-platform-tests/media-source/mediasource-play-then-seek-back.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back.html.
     100        * web-platform-tests/media-source/mediasource-play.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play.html.
     101        * web-platform-tests/media-source/mediasource-preload-expected.txt: Added.
     102        * web-platform-tests/media-source/mediasource-preload.html: Added.
     103        * web-platform-tests/media-source/mediasource-redundant-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek-expected.txt.
     104        * web-platform-tests/media-source/mediasource-redundant-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek.html.
     105        * web-platform-tests/media-source/mediasource-remove-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove-expected.txt.
     106        * web-platform-tests/media-source/mediasource-remove.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove.html.
     107        * web-platform-tests/media-source/mediasource-removesourcebuffer-expected.txt: Added.
     108        * web-platform-tests/media-source/mediasource-removesourcebuffer.html: Added.
     109        * web-platform-tests/media-source/mediasource-seek-beyond-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt.
     110        * web-platform-tests/media-source/mediasource-seek-beyond-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration.html.
     111        * web-platform-tests/media-source/mediasource-seek-during-pending-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt.
     112        * web-platform-tests/media-source/mediasource-seek-during-pending-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek.html.
     113        * web-platform-tests/media-source/mediasource-seekable-expected.txt: Added.
     114        * web-platform-tests/media-source/mediasource-seekable.html: Added.
     115        * web-platform-tests/media-source/mediasource-sequencemode-append-buffer-expected.txt: Added.
     116        * web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html: Added.
     117        * web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt.
     118        * web-platform-tests/media-source/mediasource-sourcebuffer-mode.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode.html.
     119        * web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults-expected.txt: Added.
     120        * web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html: Added.
     121        * web-platform-tests/media-source/mediasource-sourcebufferlist-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt.
     122        * web-platform-tests/media-source/mediasource-sourcebufferlist.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html.
     123        * web-platform-tests/media-source/mediasource-timestamp-offset-expected.txt: Added.
     124        * web-platform-tests/media-source/mediasource-timestamp-offset.html: Added.
     125        * web-platform-tests/media-source/mediasource-trackdefault-expected.txt: Added.
     126        * web-platform-tests/media-source/mediasource-trackdefault.html: Added.
     127        * web-platform-tests/media-source/mediasource-trackdefaultlist-expected.txt: Added.
     128        * web-platform-tests/media-source/mediasource-trackdefaultlist.html: Added.
     129        * web-platform-tests/media-source/mediasource-util.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-util.js.
     130        (EventExpectationsManager):
     131        (EventExpectationsManager.prototype.expectEvent):
     132        (EventExpectationsManager.prototype.waitForExpectedEvents):
     133        (EventExpectationsManager.prototype.expectingEvents):
     134        (EventExpectationsManager.prototype.handleWaitCallback_):
     135        (EventExpectationsManager.prototype.getExpectations_):
     136        (loadData_):
     137        (onSourceOpen):
     138        (openMediaSource_):
     139        (MediaSourceUtil.loadTextData):
     140        (MediaSourceUtil.loadBinaryData):
     141        (MediaSourceUtil.fetchManifestAndData):
     142        (MediaSourceUtil.extractSegmentData):
     143        (MediaSourceUtil.getMediaDataForPlaybackTime):
     144        (getFirstSupportedType):
     145        (getSegmentInfo):
     146        (MediaSourceUtil.getSubType):
     147        (MediaSourceUtil.append):
     148        (onEvent):
     149        (onAppendDone):
     150        (MediaSourceUtil.appendUntilEventFires):
     151        (addExtraTestMethods.test.expectEvent):
     152        (addExtraTestMethods.test.waitForExpectedEvents):
     153        (addExtraTestMethods.test.waitForCurrentTimeChange):
     154        (addExtraTestMethods.test.done):
     155        (addExtraTestMethods):
     156        (window.string_appeared_here):
     157        * web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json.
     158        * web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
     159        * web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json.
     160        * web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
     161        * web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
     162        * web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4.
     163        * web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     164        * web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
     165        * web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     166        * web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
     167        * web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     168        * web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
     169        * web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json.
     170        * web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4.
     171        * web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json.
     172        * web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4.
     173        * web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json.
     174        * web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4.
     175        * web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json.
     176        * web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4.
     177        * web-platform-tests/media-source/mp4/test.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test.mp4.
     178        * web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json.
     179        * web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm.
     180        * web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json.
     181        * web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm.
     182        * web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
     183        * web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm.
     184        * web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     185        * web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm.
     186        * web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     187        * web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm.
     188        * web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
     189        * web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm.
     190        * web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json.
     191        * web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm.
     192        * web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json.
     193        * web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm.
     194        * web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json.
     195        * web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm.
     196        * web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json.
     197        * web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm.
     198        * web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm.
     199        * web-platform-tests/media-source/webm/test.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test.webm.
     200
    12012016-09-09  Jiewen Tan  <jiewen_tan@apple.com>
    2202
  • trunk/LayoutTests/imported/w3c/resources/ImportExpectations

    r205743 r205777  
    231231web-platform-tests/input-events [ Skip ]
    232232web-platform-tests/js [ Skip ]
    233 web-platform-tests/media-source [ Skip ]
    234233web-platform-tests/mediacapture-streams [ Skip ]
    235234web-platform-tests/microdata [ Skip ]
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState.html

    r205776 r205777  
    44  <meta charset='utf-8'>
    55  <title>SourceBuffer#abort() when readyState attribute is not in the "open"</title>
    6   <script src="/w3c/resources/testharness.js"></script>
    7   <script src="/w3c/resources/testharnessreport.js"></script>
     6  <meta name="timeout" content="long">
     7  <script src="/resources/testharness.js"></script>
     8  <script src="/resources/testharnessreport.js"></script>
    89</head>
    910<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html

    r205776 r205777  
    44  <meta charset='utf-8'>
    55  <title>SourceBuffer#abort() for already removed buffer from parent media source</title>
    6   <script src="/w3c/resources/testharness.js"></script>
    7   <script src="/w3c/resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88</head>
    99<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating.html

    r205776 r205777  
    44  <meta charset='utf-8'>
    55  <title>Check SourceBuffer#abort() when the updating attribute is true</title>
    6   <script src="/w3c/resources/testharness.js"></script>
    7   <script src="/w3c/resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88</head>
    99<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort.html

    r205776 r205777  
    44  <meta charset='utf-8'>
    55  <title>Check the values of appendWindowStart and appendWindowEnd after abort()</title>
    6   <script src="/w3c/resources/testharness.js"></script>
    7   <script src="/w3c/resources/testharnessreport.js"></script>
     6  <script src="/resources/testharness.js"></script>
     7  <script src="/resources/testharnessreport.js"></script>
    88</head>
    99<body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt

    r205776 r205777  
    1  
     1
     2PASS Test addSourceBuffer() in 'ended' state.
    23PASS Test addSourceBuffer() with empty type
     4PASS Test addSourceBuffer() with null
    35PASS Test addSourceBuffer() with unsupported type
    46PASS Test addSourceBuffer() with Vorbis and VP8
    57PASS Test addSourceBuffer() with Vorbis and VP8 in separate SourceBuffers
     8PASS Test addSourceBuffer() video only
     9PASS Test addSourceBuffer() audio only
    610PASS Test addSourceBuffer() with AAC and H.264
    711PASS Test addSourceBuffer() with AAC and H.264 in separate SourceBuffers
     12PASS Test addSourceBuffer() QuotaExceededError.
    813
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MediaSource.addSourceBuffer() test cases</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1113          mediasource_test(function(test, mediaElement, mediaSource)
    1214          {
     15              mediaSource.endOfStream();
     16              assert_throws("InvalidStateError",
     17                          function() { mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE); },
     18                          "addSourceBuffer() threw an exception when in 'ended' state.");
     19              test.done();
     20          }, "Test addSourceBuffer() in 'ended' state.");
     21
     22          mediasource_test(function(test, mediaElement, mediaSource)
     23          {
    1324              assert_throws(new TypeError(),
    1425                          function() { mediaSource.addSourceBuffer(""); },
     
    1627              test.done();
    1728          }, "Test addSourceBuffer() with empty type");
     29
     30          mediasource_test(function(test, mediaElement, mediaSource)
     31          {
     32              assert_throws("NotSupportedError",
     33                          function() { mediaSource.addSourceBuffer(null); },
     34                          "addSourceBuffer() threw an exception when passed null.");
     35              test.done();
     36          }, "Test addSourceBuffer() with null");
    1837
    1938          mediasource_test(function(test, mediaElement, mediaSource)
     
    5877          mediasource_test(function(test, mediaElement, mediaSource)
    5978          {
     79              var mimetype = MediaSourceUtil.VIDEO_ONLY_TYPE;
     80
     81              assert_true(MediaSource.isTypeSupported(mimetype), mimetype + " is supported");
     82
     83              var sourceBuffer = mediaSource.addSourceBuffer(mimetype);
     84              assert_true(sourceBuffer != null, "New SourceBuffer returned");
     85              assert_equals(mediaSource.sourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.sourceBuffers");
     86              assert_equals(mediaSource.activeSourceBuffers.length, 0, "SourceBuffer is in mediaSource.activeSourceBuffers");
     87              test.done();
     88          }, "Test addSourceBuffer() video only");
     89
     90          mediasource_test(function(test, mediaElement, mediaSource)
     91          {
     92              var mimetype = MediaSourceUtil.AUDIO_ONLY_TYPE;
     93
     94              assert_true(MediaSource.isTypeSupported(mimetype), mimetype + " is supported");
     95
     96              var sourceBuffer = mediaSource.addSourceBuffer(mimetype);
     97              assert_true(sourceBuffer != null, "New SourceBuffer returned");
     98              assert_equals(mediaSource.sourceBuffers[0], sourceBuffer, "SourceBuffer is in mediaSource.sourceBuffers");
     99              assert_equals(mediaSource.activeSourceBuffers.length, 0, "SourceBuffer is in mediaSource.activeSourceBuffers");
     100              test.done();
     101          }, "Test addSourceBuffer() audio only");
     102
     103          mediasource_test(function(test, mediaElement, mediaSource)
     104          {
    60105              var mimetype = 'video/mp4;codecs="avc1.4D4001,mp4a.40.2"';
    61106
     
    85130              test.done();
    86131          }, "Test addSourceBuffer() with AAC and H.264 in separate SourceBuffers");
     132
     133          mediasource_test(function(test, mediaElement, mediaSource)
     134          {
     135              var reachedLimit = false;
     136
     137             // The 20 here is an arbitrary upper limit to make sure the test terminates. This test
     138             // assumes that implementations won't support more than 20 SourceBuffers simultaneously.
     139             for (var i = 0; i < 20; ++i) {
     140                 try {
     141                     mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     142                 } catch(e) {
     143                     assert_equals(e.name, "QuotaExceededError");
     144                     reachedLimit = true;
     145                     break;
     146                 }
     147             }
     148             assert_true(reachedLimit, "Reached SourceBuffer limit.");
     149             test.done();
     150          }, "Test addSourceBuffer() QuotaExceededError.");
     151
    87152        </script>
    88153    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-append-buffer-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test SourceBuffer.appendBuffer() event dispatching.
    33PASS Test SourceBuffer.appendBuffer() call during a pending appendBuffer().
    44PASS Test SourceBuffer.abort() call during a pending appendBuffer().
    55PASS Test SourceBuffer.appendBuffer() triggering an 'ended' to 'open' transition.
     6PASS Test zero byte SourceBuffer.appendBuffer() call triggering an 'ended' to 'open' transition.
    67PASS Test MediaSource.removeSourceBuffer() call during a pending appendBuffer().
    78PASS Test set MediaSource.duration during a pending appendBuffer() for one of its SourceBuffers.
     
    910PASS Test set SourceBuffer.timestampOffset during a pending appendBuffer().
    1011PASS Test appending an empty ArrayBufferView.
     12PASS Test appending a neutered ArrayBufferView.
    1113PASS Test appending an empty ArrayBuffer.
    12 PASS Test passing null or undefined to some MediaSource and SourceBuffer API methods.
     14PASS Test appending a neutered ArrayBuffer.
     15PASS Test appendBuffer with partial init segments.
     16PASS Test appendBuffer with partial media segments.
     17PASS Test abort in the middle of an initialization segment.
     18PASS Test abort after removing sourcebuffer.
     19PASS Test abort after readyState is ended following init segment and media segment.
     20PASS Test abort after appendBuffer update ends.
     21PASS Test appending null.
     22PASS Test appending after removeSourceBuffer().
    1323
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-appendwindow-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test correctly reset appendWindowStart and appendWindowEnd values
    33PASS Test set wrong values to appendWindowStart and appendWindowEnd.
     4PASS Test set correct values to appendWindowStart and appendWindowEnd.
    45PASS Test appendwindow throw error when mediasource object is not associated with a sourebuffer.
    56PASS Test set appendWindowStart and appendWindowEnd when source buffer updating.
    67PASS Test appendWindowStart and appendWindowEnd value after a sourceBuffer.abort().
     8PASS Test read appendWindowStart and appendWindowEnd initial values.
    79
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-appendwindow.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>SourceBuffer.appendWindowStart and SourceBuffer.appendWindowEnd test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    4446                  "set appendWindowStart throws an exception for Number.NaN.");
    4547
    46               assert_throws("InvalidAccessError",
     48              assert_throws(new TypeError(),
    4749                  function() { sourceBuffer.appendWindowStart = 600.0; },
    4850                  "set appendWindowStart throws an exception when greater than appendWindowEnd.");
    4951
    50               assert_throws("InvalidAccessError",
     52              assert_throws(new TypeError(),
     53                  function() { sourceBuffer.appendWindowStart = sourceBuffer.appendWindowEnd; },
     54                  "set appendWindowStart throws an exception when equal to appendWindowEnd.");
     55
     56              assert_throws(new TypeError(),
     57                  function() { sourceBuffer.appendWindowEnd = sourceBuffer.appendWindowStart; },
     58                  "set appendWindowEnd throws an exception when equal to appendWindowStart.");
     59
     60              assert_throws(new TypeError(),
     61                  function() { sourceBuffer.appendWindowEnd = sourceBuffer.appendWindowStart - 1; },
     62                  "set appendWindowEnd throws an exception if less than appendWindowStart.");
     63
     64              assert_throws(new TypeError(),
    5165                  function() { sourceBuffer.appendWindowStart = -100.0; },
    5266                  "set appendWindowStart throws an exception when less than 0.");
    5367
    54               assert_throws("InvalidAccessError",
     68              assert_throws(new TypeError(),
     69                  function() { sourceBuffer.appendWindowEnd = -100.0; },
     70                  "set appendWindowEnd throws an exception when less than 0.");
     71
     72              assert_throws(new TypeError(),
    5573                  function() { sourceBuffer.appendWindowEnd = Number.NaN; },
    5674                  "set appendWindowEnd throws an exception if NaN.");
     75
     76              assert_throws(new TypeError(),
     77                  function() { sourceBuffer.appendWindowEnd = undefined; },
     78                  "set appendWindowEnd throws an exception if undefined.");
     79
     80              assert_throws({name: "TypeError"},
     81                  function() { sourceBuffer.appendWindowStart = undefined; },
     82                  "set appendWindowStart throws an exception if undefined.");
     83
    5784              test.done();
    5885          }, "Test set wrong values to appendWindowStart and appendWindowEnd.");
     86
     87          mediasource_test(function(test, mediaElement, mediaSource)
     88          {
     89              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     90              assert_true(sourceBuffer != null, "New SourceBuffer returned");
     91
     92              sourceBuffer.appendWindowStart = "";
     93              assert_true(sourceBuffer.appendWindowStart == 0, "appendWindowStart is 0");
     94
     95              sourceBuffer.appendWindowStart = "10";
     96              assert_true(sourceBuffer.appendWindowStart == 10, "appendWindowStart is 10");
     97
     98              sourceBuffer.appendWindowStart = null;
     99              assert_true(sourceBuffer.appendWindowStart == 0, "appendWindowStart is 0");
     100
     101              sourceBuffer.appendWindowStart = true;
     102              assert_true(sourceBuffer.appendWindowStart == 1, "appendWindowStart is 1");
     103
     104              sourceBuffer.appendWindowStart = false;
     105              assert_true(sourceBuffer.appendWindowStart == 0, "appendWindowStart is 0");
     106
     107              sourceBuffer.appendWindowEnd = "100";
     108              assert_true(sourceBuffer.appendWindowEnd == 100, "appendWindowEnd is 100");
     109
     110              test.done();
     111
     112          }, "Test set correct values to appendWindowStart and appendWindowEnd.");
    59113
    60114          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     
    101155              sourceBuffer.abort();
    102156              assert_equals(sourceBuffer.appendWindowStart, 0, "appendWindowStart is 0 after an abort'");
    103               assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY, 
     157              assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
    104158                            "appendWindowStart is POSITIVE_INFINITY after an abort");
    105159              test.waitForExpectedEvents(function()
     
    110164          }, "Test appendWindowStart and appendWindowEnd value after a sourceBuffer.abort().");
    111165
     166          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     167          {
     168               assert_equals(sourceBuffer.appendWindowStart, 0, "appendWindowStart is 0 initially");
     169               assert_equals(sourceBuffer.appendWindowEnd, Number.POSITIVE_INFINITY,
     170                            "appendWindowStart is POSITIVE_INFINITY initially");
     171               test.done();
     172          }, "Test read appendWindowStart and appendWindowEnd initial values.");
     173
    112174       </script>
    113175    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-buffered.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>SourceBuffer.buffered test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1416            var manifestFilenameB = subType + "/test-v-128k-320x240-30fps-10kfr-manifest.json";
    1517
     18            // Audio track expectations
    1619            var expectationsA = {
    17               webm: "{ [0.000, 2.022) }",
     20              webm: "{ [0.000, 2.023) }",
    1821              mp4: "{ [0.000, 2.043) }",
    1922            };
    2023
     24            // Video track expectations
    2125            var expectationsB = {
    22               webm: "{ [0.000, 2.000) }",
    23               mp4: "{ [0.000, 2.000) }",
     26              webm: "{ [0.000, 2.001) }",
     27              mp4: "{ [0.067, 2.067) }",
     28            };
     29
     30            // Audio and Video intersection expectations.
     31            // https://w3c.github.io/media-source/index.html#dom-sourcebuffer-buffered
     32            // When mediaSource.readyState is "ended", then set the end time on the last range in track ranges to highest end time.
     33            var expectationsC = {
     34              webm: ["{ [0.000, 2.001) }", "{ [0.000, 2.023) }"],
     35              mp4: ["{ [0.067, 2.043) }", "{ [0.067, 2.067) }"]
    2436            };
    2537
     
    2941                {
    3042                    mediaElement.pause();
    31                     test.failOnEvent(mediaElement, 'error');
    32                     test.endOnEvent(mediaElement, 'ended');
     43                    mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
     44                    mediaElement.addEventListener("ended", test.step_func_done());
    3345
    3446                    MediaSourceUtil.fetchManifestAndData(test, manifestFilenameA, function(typeA, dataA)
     
    6678
    6779            mediaSourceDemuxedTest(function(test, mediaElement, mediaSource, dataA, dataB) {
     80                test.expectEvent(mediaElement, "loadedmetadata");
    6881                appendData(test, mediaSource, dataA, dataB, function()
    6982                {
     83                    var expectedBeforeEndOfStreamIntersection = expectationsC[subType][0];
     84                    var expectedAfterEndOfStreamIntersection = expectationsC[subType][1];
     85
    7086                    assertBufferedEquals(mediaSource.activeSourceBuffers[0], expectationsA[subType], "mediaSource.activeSourceBuffers[0]");
    7187                    assertBufferedEquals(mediaSource.activeSourceBuffers[1], expectationsB[subType], "mediaSource.activeSourceBuffers[1]");
    72                     assertBufferedEquals(mediaElement, expectationsB[subType], "mediaElement.buffered");
     88                    assertBufferedEquals(mediaElement, expectedBeforeEndOfStreamIntersection, "mediaElement.buffered");
    7389
    7490                    mediaSource.endOfStream();
     
    7692                    assertBufferedEquals(mediaSource.activeSourceBuffers[0], expectationsA[subType], "mediaSource.activeSourceBuffers[0]");
    7793                    assertBufferedEquals(mediaSource.activeSourceBuffers[1], expectationsB[subType], "mediaSource.activeSourceBuffers[1]");
    78                     assertBufferedEquals(mediaElement, expectationsA[subType], "mediaElement.buffered");
     94                    assertBufferedEquals(mediaElement, expectedAfterEndOfStreamIntersection, "mediaElement.buffered");
    7995
    8096                    test.done();
     
    85101            {
    86102                mediaElement.pause();
    87                 test.failOnEvent(mediaElement, 'error');
    88                 test.endOnEvent(mediaElement, 'ended');
     103                mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
     104                mediaElement.addEventListener("ended", test.step_func_done());
    89105
    90106                MediaSourceUtil.fetchManifestAndData(test, subType + "/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json", function(type, data)
     
    98114                    {
    99115                        var expectationsAV = {
    100                             webm: ["{ [0.000, 2.003) }", "{ [0.000, 2.022) }"],
    101                             mp4: ["{ [0.000, 2.000) }", "{ [0.000, 2.043) }"],
     116                            webm: ["{ [0.003, 2.004) }", "{ [0.003, 2.023) }"],
     117                            mp4: ["{ [0.067, 2.043) }", "{ [0.067, 2.067) }"],
    102118                        };
    103119
     
    116132                    });
    117133                });
    118             }, "Muxed tracks with different lengths");
     134            }, "Muxed content with different lengths");
    119135
    120136            mediaSourceDemuxedTest(function(test, mediaElement, mediaSource, dataA, dataB) {
    121137                var dataBSize = {
    122138                    webm: 318,
    123                     mp4: 856,
     139                    mp4: 835,
    124140                };
     141                test.expectEvent(mediaElement, "loadedmetadata");
    125142                appendData(test, mediaSource, dataA, dataB.subarray(0, dataBSize[subType]), function()
    126143                {
     
    142159            {
    143160                mediaElement.pause();
    144                 test.failOnEvent(mediaElement, 'error');
    145                 test.endOnEvent(mediaElement, 'ended');
     161                mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
     162                mediaElement.addEventListener("ended", test.step_func_done());
    146163
    147164                MediaSourceUtil.fetchManifestAndData(test, subType + "/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json", function(type, data)
    148165                {
    149166                    var sourceBuffer = mediaSource.addSourceBuffer(type);
     167                    test.expectEvent(mediaElement, "loadedmetadata");
    150168                    test.expectEvent(sourceBuffer, "update");
    151169                    test.expectEvent(sourceBuffer, "updateend");
     
    167185            }, "Muxed content empty buffered ranges.");
    168186
     187            mediasource_test(function(test, mediaElement, mediaSource)
     188            {
     189                mediaElement.pause();
     190                mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
     191                mediaElement.addEventListener("ended", test.step_func_done());
     192
     193                var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);
     194
     195                assertBufferedEquals(mediaSource.sourceBuffers[0], "{ }", "mediaSource.sourceBuffers[0]");
     196                assertBufferedEquals(mediaElement, "{ }", "mediaElement.buffered");
     197                test.done();
     198
     199            }, "Get buffered range when sourcebuffer is empty.");
     200
     201            mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     202            {
     203                var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
     204
     205                test.expectEvent(mediaElement, "loadedmetadata");
     206                test.expectEvent(sourceBuffer, "updateend", "initSegment append ended.");
     207                sourceBuffer.appendBuffer(initSegment);
     208                test.waitForExpectedEvents(function()
     209                {
     210                    assertBufferedEquals(mediaSource.sourceBuffers[0], "{ }", "mediaSource.sourceBuffers[0]");
     211                    assertBufferedEquals(mediaSource.activeSourceBuffers[0], "{ }", "mediaSource.activeSourceBuffers[0]");
     212                    assertBufferedEquals(mediaElement, "{ }", "mediaElement.buffered");
     213                    test.done();
     214                });
     215
     216            }, "Get buffered range when only init segment is appended.");
     217
     218            mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     219            {
     220                test.expectEvent(mediaSource.sourceBuffers, "removesourcebuffer", "SourceBuffer removed.");
     221                mediaSource.removeSourceBuffer(sourceBuffer);
     222
     223                test.waitForExpectedEvents(function()
     224                {
     225                    assert_throws("InvalidStateError",
     226                        function() { sourceBuffer.buffered; },
     227                        "get sourceBuffer.buffered throws an exception for InvalidStateError.");
     228                    test.done();
     229                });
     230            }, "Get buffered range after removing sourcebuffer.");
    169231        </script>
    170232    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-closed-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test attribute values on a closed MediaSource object.
    33PASS Test addSourceBuffer() while closed.
    44PASS Test removeSourceBuffer() while closed.
    55PASS Test endOfStream() while closed.
     6PASS Test endOfStream(decode) while closed.
     7PASS Test endOfStream(network) while closed.
    68PASS Test setting duration while closed.
     9PASS Test setting duration while open->closed.
     10PASS Test getting duration while open->closed.
     11PASS Test sourcebuffer.abort when closed.
    712
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 audio-only bitrate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 audio-only bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 audio bitrate changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 muxed audio &amp; video with an audio bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 frame size changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 muxed audio &amp; video with a video frame size change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 video bitrate changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 muxed audio &amp; video with a video bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 video-only bitrate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 video-only bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 video-only frame rate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 video-only frame rate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests mp4 video-only frame size changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MP4 video-only frame size change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm audio-only bitrate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM audio-only bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm audio bitrate changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM muxed audio &amp; video with an audio bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-framesize-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm frame size changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM muxed audio &amp; video with a video frame size change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm video bitrate changes in multiplexed content.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM muxed audio &amp; video with a video bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm video-only bitrate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM video-only bitrate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm video-only frame rate changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM video-only frame rate change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Tests webm video-only frame size changes.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>WebM video-only frame size change.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79        <script src="mediasource-config-changes.js"></script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-config-changes.js

    r205776 r205777  
     1// Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).
     2
    13// Extract & return the resolution string from a filename, if any.
    24function resolutionFromFilename(filename)
     
    2325    {
    2426        mediaElement.pause();
    25         test.failOnEvent(mediaElement, 'error');
     27        mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
    2628        var expectResizeEvents = resolutionFromFilename(manifestFilenameA) != resolutionFromFilename(manifestFilenameB);
    2729        var expectedResizeEventCount = 0;
     
    6567                {
    6668                    assert_false(sourceBuffer.updating, "updating");
     69
     70                    // Truncate the presentation to a duration of 2 seconds.
     71                    sourceBuffer.remove(2, Infinity);
     72
     73                    assert_true(sourceBuffer.updating, "updating");
     74                    test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
     75                    test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');
     76                    test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     77                });
     78
     79                test.waitForExpectedEvents(function()
     80                {
     81                    assert_false(sourceBuffer.updating, "updating");
    6782                    assert_greater_than(mediaSource.duration, 2, "duration");
    6883
     
    7085                    mediaSource.duration = 2;
    7186
    72                     assert_true(sourceBuffer.updating, "updating");
    73                     test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
    74                     test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');
    75                     test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
    76                 });
     87                    test.expectEvent(mediaElement, "durationchange");
     88                });
    7789
    78                 test.waitForExpectedEvents(function()
     90                test.waitForExpectedEvents(function()
    7991                {
    8092                    assert_false(sourceBuffer.updating, "updating");
     
    98110            });
    99111        });
    100     }, description, { timeout: 10000 } );
     112    }, description);
    101113};
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-duration-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test seek starts on duration truncation below currentTime
    33PASS Test appendBuffer completes previous seek to truncated duration
    44PASS Test endOfStream completes previous seek to truncated duration
    55PASS Test setting same duration multiple times does not fire duplicate durationchange
    6 
     6PASS Test setting the duration to less than the highest starting presentation timestamp will throw
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-duration.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MediaSource.duration &amp; HTMLMediaElement.duration test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1921                  var truncatedDuration = seekTo / 2.0;
    2022
     23                  mediaElement.play();
     24
    2125                  // Append all the segments
    2226                  test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     27                  test.expectEvent(mediaElement, 'playing', 'Playing triggered');
    2328                  sourceBuffer.appendBuffer(mediaData);
    2429
    2530                  test.waitForExpectedEvents(function()
    2631                  {
    27                       assert_equals(mediaElement.duration, fullDuration, 'mediaElement fullDuration');
    28                       assert_equals(mediaSource.duration, fullDuration, 'mediaSource fullDuration');
    29 
    3032                      test.expectEvent(mediaElement, 'seeking', 'seeking to seekTo');
    3133                      test.expectEvent(mediaElement, 'timeupdate', 'timeupdate while seeking to seekTo');
     
    3840                  {
    3941                      assert_greater_than_equal(mediaElement.currentTime, seekTo, 'Playback time has reached seekTo');
    40                       assert_equals(mediaElement.duration, fullDuration, 'mediaElement fullDuration after seekTo');
    41                       assert_equals(mediaSource.duration, fullDuration, 'mediaSource fullDuration after seekTo');
    4242                      assert_false(mediaElement.seeking, 'mediaElement.seeking after seeked to seekTo');
    4343
    44                       test.expectEvent(mediaElement, 'seeking', 'Seeking to truncated duration');
    45 
    4644                      assert_false(sourceBuffer.updating, 'sourceBuffer.updating');
    4745
    48                       mediaSource.duration = truncatedDuration;
     46                      sourceBuffer.remove(truncatedDuration, Infinity);
    4947
    5048                      assert_true(sourceBuffer.updating, 'sourceBuffer.updating');
     
    5250                      test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');
    5351                      test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     52                  });
     53
     54                  test.waitForExpectedEvents(function()
     55                  {
     56                      // remove will not remove partial frames. The truncated duration is as such the highest end time.
     57                      truncatedDuration = sourceBuffer.buffered.end(sourceBuffer.buffered.length-1);
     58                      assert_greater_than_equal(mediaElement.currentTime, seekTo, 'Playback time has reached seekTo');
     59                      test.expectEvent(mediaElement, 'seeking', 'Seeking to truncated duration');
     60
     61                      assert_false(sourceBuffer.updating, 'sourceBuffer.updating');
     62
     63                      mediaSource.duration = truncatedDuration;
    5464
    5565                      assert_true(mediaElement.seeking, 'Seeking after setting truncatedDuration');
     
    124134              test.waitForExpectedEvents(function()
    125135              {
    126                   assert_approx_equals(mediaElement.currentTime, truncatedDuration, 0.05,
     136                  assert_greater_than_equal(mediaElement.currentTime, truncatedDuration,
    127137                                'Playback time has reached truncatedDuration');
    128                   assert_approx_equals(mediaElement.duration, truncatedDuration, 0.05,
     138                  // The mediaSource.readyState is "ended". Buffered ranges have been adjusted to the longest track.
     139                  truncatedDuration = sourceBuffer.buffered.end(sourceBuffer.buffered.length-1);
     140                  assert_equals(mediaElement.duration, truncatedDuration,
    129141                                'mediaElement truncatedDuration after seek to it');
    130                   assert_approx_equals(mediaSource.duration, truncatedDuration, 0.05,
     142                  assert_equals(mediaSource.duration, truncatedDuration,
    131143                                'mediaSource truncatedDuration after seek to it');
    132144                  assert_false(mediaElement.seeking, 'mediaElement.seeking after seeked to truncatedDuration');
     
    147159              var durationchangeEventHandler = test.step_func(function(event)
    148160              {
    149                   assert_equals(mediaElement.duration, newDuration, 'mediaElement newDuration');
    150                   assert_equals(mediaSource.duration, newDuration, 'mediaSource newDuration');
     161                  assert_equals(mediaElement.duration, mediaSource.duration, 'mediaElement newDuration');
     162                  // Final duration may be greater than originally set as per MSE's 2.4.6 Duration change
     163                  // Adjust newDuration accordingly.
     164                  assert_less_than_equal(newDuration, mediaSource.duration, 'mediaSource newDuration');
    151165                  durationchangeEventCounter++;
    152166              });
     167
     168              mediaElement.play();
    153169
    154170              // Append all the segments
    155171              test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     172              test.expectEvent(mediaElement, 'playing', 'Playing triggered');
    156173              sourceBuffer.appendBuffer(mediaData);
    157174
    158175              test.waitForExpectedEvents(function()
    159176              {
    160                   assert_equals(mediaElement.duration, fullDuration, 'mediaElement fullDuration');
    161                   assert_equals(mediaSource.duration, fullDuration, 'mediaSource fullDuration');
    162177                  assert_less_than(mediaElement.currentTime, newDuration / 2, 'mediaElement currentTime');
    163178
    164                   // Media load also fires 'durationchange' event, so only start counting them now.
    165                   mediaElement.addEventListener('durationchange', durationchangeEventHandler);
    166 
    167179                  assert_false(sourceBuffer.updating, "updating");
    168180
    169181                  // Truncate duration. This should result in one 'durationchange' fired.
    170                   mediaSource.duration = newDuration;
     182                  sourceBuffer.remove(newDuration, Infinity);
    171183
    172184                  assert_true(sourceBuffer.updating, "updating");
     
    178190              test.waitForExpectedEvents(function()
    179191              {
     192                  // Media load also fires 'durationchange' event, so only start counting them now.
     193                  mediaElement.addEventListener('durationchange', durationchangeEventHandler);
     194
    180195                  assert_false(sourceBuffer.updating, "updating");
     196
     197                  // Truncate duration. This should result in one 'durationchange' fired.
     198                  mediaSource.duration = newDuration;
     199
     200                  // Final duration may be greater than originally set as per MSE's 2.4.6 Duration change
     201                  // Adjust newDuration accordingly.
     202                  assert_true(newDuration <= mediaSource.duration, 'adjusted duration');
     203                  newDuration = mediaSource.duration;
    181204
    182205                  // Set duration again to make sure it does not trigger another 'durationchange' event.
     
    187210                  mediaSource.endOfStream();
    188211
    189                   // endOfStream can change duration downwards slightly.
     212                  // endOfStream can change duration slightly.
    190213                  // Allow for one more 'durationchange' event only in this case.
    191214                  var currentDuration = mediaSource.duration;
    192215                  if (currentDuration != newDuration) {
    193                       assert_true(currentDuration > 0 && currentDuration < newDuration, 'adjusted duration');
    194216                      newDuration = currentDuration;
    195217                      ++expectedDurationChangeEventCount;
    196218                  }
    197219
    198                   mediaElement.play();
    199 
    200220                  // Allow media to play to end while counting 'durationchange' events.
    201                   test.expectEvent(mediaElement, 'playing', 'Playing triggered');
    202221                  test.expectEvent(mediaElement, 'ended', 'Playback ended');
    203222                  test.waitForExpectedEvents(function()
     
    208227                  });
    209228              });
    210           }, 'Test setting same duration multiple times does not fire duplicate durationchange', {timeout: 2500});
     229          }, 'Test setting same duration multiple times does not fire duplicate durationchange');
     230
     231          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     232          {
     233              assert_greater_than(segmentInfo.duration, 2, 'Sufficient test media duration');
     234
     235              var fullDuration = segmentInfo.duration;
     236              var newDuration = fullDuration / 2;
     237
     238              // Append all the segments
     239              test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     240              test.expectEvent(mediaElement, 'loadedmetadata', 'mediaElement');
     241              sourceBuffer.appendBuffer(mediaData);
     242
     243              test.waitForExpectedEvents(function()
     244              {
     245                  assert_false(sourceBuffer.updating, "updating");
     246
     247                  assert_throws("InvalidStateError", function()
     248                  {
     249                      mediaSource.duration = newDuration;
     250                  }, "duration");
     251
     252                  test.done();
     253              });
     254          }, 'Test setting the duration to less than the highest starting presentation timestamp will throw');
    211255
    212256        </script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-endofstream-invaliderror-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test MediaSource.endOfStream() with invalid non-empty error string.
    33PASS Test MediaSource.endOfStream() with invalid empty error string.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Invalid MediaSource.endOfStream() parameter test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1113          mediasource_test(function(test, mediaElement, mediaSource)
    1214          {
    13               test.failOnEvent(mediaElement, 'error');
     15              mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
    1416              assert_equals(mediaSource.readyState, 'open');
    1517
     
    2426          mediasource_test(function(test, mediaElement, mediaSource)
    2527          {
    26               test.failOnEvent(mediaElement, 'error');
     28              mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
    2729              assert_equals(mediaSource.readyState, 'open');
    2830
     
    3739          mediasource_test(function(test, mediaElement, mediaSource)
    3840          {
    39               test.failOnEvent(mediaElement, 'error');
     41              mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
    4042              assert_equals(mediaSource.readyState, 'open');
    4143
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-getvideoplaybackquality-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test HTMLVideoElement.getVideoPlaybackQuality() with MediaSource API
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-getvideoplaybackquality.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>HTMLVideoElement.getVideoPlaybackQuality() test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    3335              }));
    3436
    35               test.failOnEvent(mediaElement, 'error');
     37              mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
    3638
    3739              test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
     
    4345              {
    4446                  assert_false(sourceBuffer.updating, "updating");
    45                   assert_greater_than(mediaSource.duration, 1, "duration");
    4647
    47                   mediaSource.duration = 1;
     48                  sourceBuffer.remove(1, Infinity);
    4849
    4950                  assert_true(sourceBuffer.updating, "updating");
     
    5152                  test.expectEvent(sourceBuffer, 'update', 'sourceBuffer');
    5253                  test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     54              });
     55
     56              test.waitForExpectedEvents(function()
     57              {
     58                  assert_false(sourceBuffer.updating, "updating");
     59                  assert_greater_than(mediaSource.duration, 1, "duration");
     60
     61                  mediaSource.duration = 1;
     62
     63                  test.expectEvent(mediaElement, "durationchange");
    5364              });
    5465
     
    6576                  test.done();
    6677              });
    67           }, "Test HTMLVideoElement.getVideoPlaybackQuality() with MediaSource API", {timeout: 5000});
     78          }, "Test HTMLVideoElement.getVideoPlaybackQuality() with MediaSource API");
    6879        </script>
    6980    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported-expected.txt

    • Property svn:executable deleted
    r205776 r205777  
    1  
     1
    22PASS Test invalid MIME format "video"
    33PASS Test invalid MIME format "video/"
     
    99PASS Test invalid MIME format "video/webm;codecs="""
    1010PASS Test invalid MIME format "video/webm;codecs=",""
     11PASS Test invalid MIME format ""
     12PASS Test invalid MIME format "null"
    1113PASS Test invalid mismatch between major type and codec ID "audio/webm;codecs="vp8""
    1214PASS Test invalid mismatch between major type and codec ID "audio/mp4;codecs="avc1.4d001e""
     
    2527PASS Test valid WebM type "video/webm;codecs="vp8,vorbis""
    2628PASS Test valid WebM type "video/webm;codecs="vorbis, vp8""
    27 PASS Test valid WebM type "audio/webm;codecs="vorbis""
    28 PASS Test valid WebM type "AUdio/WebM;codECS="VoRbiS""
    29 PASS Test valid WebM type "AUDIO/WEBM;CODECS="VORBIS""
     29PASS Test valid WebM type "audio/webm;codecs="vorbis""
     30PASS Test valid WebM type "AUDIO/WEBM;CODECS="vorbis""
    3031PASS Test valid MP4 type "video/mp4;codecs="avc1.4d001e""
    3132PASS Test valid MP4 type "video/mp4;codecs="avc1.42001e""
     
    3738PASS Test valid MP4 type "video/mp4;codecs="mp4a.40.2 , avc1.4d001e ""
    3839PASS Test valid MP4 type "video/mp4;codecs="avc1.4d001e,mp4a.40.5""
    39 PASS Test valid MP4 type "VIdeo/Mp4;CDdeCS="mp4A.40.2""
    40 PASS Test valid MP4 type "VIDEO/MP4;CDDECS="MP4A.40.2""
    4140
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported.html

    • Property svn:executable deleted
    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>MediaSource.isTypeSupported() test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68    </head>
    79    <body>
     
    3032              'video/webm;codecs=""',
    3133              'video/webm;codecs=","',
     34              '',
     35              null
    3236          ], false, 'Test invalid MIME format');
    3337
     
    5963              'video/webm;codecs="vorbis, vp8"',
    6064              'audio/webm;codecs="vorbis"',
    61               'AUdio/WebM;codECS="VoRbiS"',
    62               'AUDIO/WEBM;CODECS="VORBIS"',
     65              'AUDIO/WEBM;CODECS="vorbis"',
    6366          ], true, 'Test valid WebM type');
    6467
     
    7376              'video/mp4;codecs="mp4a.40.2 , avc1.4d001e "',
    7477              'video/mp4;codecs="avc1.4d001e,mp4a.40.5"',
    75               'VIdeo/Mp4;CDdeCS="mp4A.40.2"',
    76               'VIDEO/MP4;CDDECS="MP4A.40.2"',
    7778          ], true, 'Test valid MP4 type');
    7879        </script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-multiple-attach-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test exactly one succeeds when two MediaElements attach to same MediaSource
    33PASS Test that MediaSource can reattach if closed first
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-multiple-attach.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Test Attaching a MediaSource to multiple HTMLMediaElements.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-play-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test normal playback case with MediaSource API
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-play-then-seek-back-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test playing then seeking back.
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-play-then-seek-back.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Simple MediaSource playback &amp; seek test case.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    3032                function finishSeekThenPlay()
    3133                {
    32                     assert_true(mediaElement.seeking, 'mediaElement is seeking');
    33                     assert_equals(mediaElement.currentTime, 0.0, 'Current time is 0.0');
    3434                    test.expectEvent(mediaElement, 'seeked', 'mediaElement finished seek');
    3535
     
    4242                    test.expectEvent(mediaElement, 'seeking', 'mediaElement');
    4343                    mediaElement.currentTime = 0.0;
     44                    assert_true(mediaElement.seeking, 'mediaElement is seeking');
    4445
    4546                    test.waitForExpectedEvents(finishSeekThenPlay);
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-play.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Simple MediaSource playback test case.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1113          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
    1214          {
    13               test.failOnEvent(mediaElement, 'error');
    14               test.endOnEvent(mediaElement, 'ended');
     15              mediaElement.addEventListener('error', test.unreached_func("Unexpected event 'error'"));
     16              mediaElement.addEventListener('ended', test.step_func_done());
    1517
    1618              test.expectEvent(sourceBuffer, 'updatestart', 'sourceBuffer');
     
    2325              {
    2426                  assert_false(sourceBuffer.updating, "updating");
    25                   assert_greater_than(mediaSource.duration, 1, "duration");
    2627
    27                   mediaSource.duration = 1;
     28                  sourceBuffer.remove(1, Infinity);
    2829
    2930                  assert_true(sourceBuffer.updating, "updating");
     
    3536              test.waitForExpectedEvents(function()
    3637              {
     38                  assert_false(sourceBuffer.updating, "updating");
     39                  assert_greater_than(mediaSource.duration, 1, "duration");
     40
     41                  mediaSource.duration = 1;
     42
     43                  test.expectEvent(mediaElement, "durationchange");
     44              });
     45
     46              test.waitForExpectedEvents(function()
     47              {
    3748                  mediaSource.endOfStream();
    3849                  mediaElement.play();
    3950              });
    40           }, "Test normal playback case with MediaSource API", {timeout: 5000});
     51          }, "Test normal playback case with MediaSource API");
    4152        </script>
    4253    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-redundant-seek-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test redundant fully prebuffered seek
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-redundant-seek.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Test MediaSource behavior when receiving multiple seek requests during a pending seek.</title>
     6        <meta name="timeout" content="long">
     7        <script src="/resources/testharness.js"></script>
     8        <script src="/resources/testharnessreport.js"></script>
    69        <script src="mediasource-util.js"></script>
    710    </head>
     
    4851                {
    4952                    // No more seeking or seeked events should occur.
    50                     test.failOnEvent(mediaElement, 'seeking');
    51                     test.failOnEvent(mediaElement, 'seeked');
     53                    mediaElement.addEventListener('seeking', test.unreached_func("Unexpected event 'seeking'"));
     54                    mediaElement.addEventListener('seeked', test.unreached_func("Unexpected event 'seeked'"));
    5255
    5356                    assert_false(mediaElement.seeking, 'Element is not seeking');
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test remove with an negative start.
     3PASS Test remove with non-finite start.
    34PASS Test remove with a start beyond the duration.
    45PASS Test remove with a start larger than the end.
     6PASS Test remove with a NEGATIVE_INFINITY end.
     7PASS Test remove with a NaN end.
    58PASS Test remove after SourceBuffer removed from mediaSource.
    69PASS Test remove while update pending.
    710PASS Test aborting a remove operation.
     11PASS Test remove with a start at the duration.
    812PASS Test remove transitioning readyState from 'ended' to 'open'.
    913PASS Test removing all appended data.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-remove.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>SourceBuffer.remove() test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1315              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
    1416
    15               assert_throws("InvalidAccessError", function()
     17              assert_throws(new TypeError(), function()
    1618              {
    1719                  sourceBuffer.remove(-1, 2);
     
    2123          }, "Test remove with an negative start.");
    2224
    23 
    24           mediasource_test(function(test, mediaElement, mediaSource)
    25           {
    26               var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
    27 
    28               mediaSource.duration = 10;
    29 
    30               assert_throws("InvalidAccessError", function()
     25          mediasource_test(function(test, mediaElement, mediaSource)
     26          {
     27              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     28
     29              [ undefined, NaN, Infinity, -Infinity ].forEach(function(item)
     30              {
     31                  assert_throws(new TypeError(), function()
     32                  {
     33                      sourceBuffer.remove(item, 2);
     34                  }, "remove");
     35              });
     36
     37              test.done();
     38          }, "Test remove with non-finite start.");
     39
     40          mediasource_test(function(test, mediaElement, mediaSource)
     41          {
     42              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     43
     44              mediaSource.duration = 10;
     45
     46              assert_throws(new TypeError(), function()
    3147              {
    3248                  sourceBuffer.remove(11, 12);
     
    4258              mediaSource.duration = 10;
    4359
    44               assert_throws("InvalidAccessError", function()
     60              assert_throws(new TypeError(), function()
    4561              {
    4662                  sourceBuffer.remove(2, 1);
     
    5066          }, "Test remove with a start larger than the end.");
    5167
     68          mediasource_test(function(test, mediaElement, mediaSource)
     69          {
     70              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     71
     72              assert_throws(new TypeError(), function()
     73              {
     74                  sourceBuffer.remove(0, Number.NEGATIVE_INFINITY);
     75              }, "remove");
     76
     77              test.done();
     78          }, "Test remove with a NEGATIVE_INFINITY end.");
     79
     80          mediasource_test(function(test, mediaElement, mediaSource)
     81          {
     82              var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_VIDEO_TYPE);
     83
     84              assert_throws(new TypeError(), function()
     85              {
     86                  sourceBuffer.remove(0, Number.NaN);
     87              }, "remove");
     88
     89              test.done();
     90          }, "Test remove with a NaN end.");
    5291
    5392          mediasource_test(function(test, mediaElement, mediaSource)
     
    99138
    100139              test.expectEvent(sourceBuffer, "updatestart");
    101               test.expectEvent(sourceBuffer, "abort");
     140              test.expectEvent(sourceBuffer, "update");
    102141              test.expectEvent(sourceBuffer, "updateend");
    103142              sourceBuffer.remove(1, 2);
     
    105144              assert_true(sourceBuffer.updating, "updating");
    106145
    107               sourceBuffer.abort();
    108 
    109               assert_false(sourceBuffer.updating, "updating");
     146              assert_throws("InvalidStateError", function()
     147              {
     148                  sourceBuffer.abort();
     149              }, "abort");
     150
     151              assert_true(sourceBuffer.updating, "updating");
    110152
    111153              test.waitForExpectedEvents(function()
     
    115157          }, "Test aborting a remove operation.");
    116158
     159          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     160          {
     161              sourceBuffer.appendBuffer(mediaData);
     162
     163              test.expectEvent(sourceBuffer, "updatestart");
     164              test.expectEvent(sourceBuffer, "update");
     165              test.expectEvent(sourceBuffer, "updateend");
     166
     167              test.waitForExpectedEvents(function()
     168              {
     169                  assert_less_than(mediaSource.duration, 10)
     170
     171                  mediaSource.duration = 10;
     172
     173                  sourceBuffer.remove(mediaSource.duration, mediaSource.duration + 2);
     174
     175                  assert_true(sourceBuffer.updating, "updating");
     176                  test.expectEvent(sourceBuffer, "updatestart");
     177                  test.expectEvent(sourceBuffer, "update");
     178                  test.expectEvent(sourceBuffer, "updateend");
     179              });
     180
     181              test.waitForExpectedEvents(function()
     182              {
     183                  test.done();
     184              });
     185
     186          }, "Test remove with a start at the duration.");
    117187
    118188          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     
    156226                  test.waitForExpectedEvents(function()
    157227                  {
    158                       var duration = segmentInfo.duration.toFixed(3);
     228                      mediaSource.endOfStream();
     229                      assert_false(sourceBuffer.updating, "updating");
     230
     231                      var start = Math.max(segmentInfo.media[0].timev, segmentInfo.media[0].timea).toFixed(3);
     232                      var duration = mediaElement.duration.toFixed(3);
    159233                      var subType = MediaSourceUtil.getSubType(segmentInfo.type);
    160234
    161                       assertBufferedEquals(sourceBuffer, "{ [0.000, " + duration + ") }", "Initial buffered range.");
    162                       callback(test, sourceBuffer, duration, subType);
     235                      assertBufferedEquals(sourceBuffer, "{ [" + start + ", " + duration + ") }", "Initial buffered range.");
     236                      callback(test, mediaSource, sourceBuffer, duration, subType, segmentInfo);
    163237                  });
    164238              }, description);
    165239          };
    166 
    167           function removeAndCheckBufferedRanges(test, sourceBuffer, start, end, expected)
     240          function removeAndCheckBufferedRanges(test, mediaSource, sourceBuffer, start, end, expected)
    168241          {
    169242              test.expectEvent(sourceBuffer, "updatestart");
     
    174247              test.waitForExpectedEvents(function()
    175248              {
     249                  mediaSource.endOfStream();
     250                  assert_false(sourceBuffer.updating, "updating");
     251
    176252                  assertBufferedEquals(sourceBuffer, expected, "Buffered ranges after remove().");
    177253                  test.done();
     
    179255          }
    180256
    181           removeAppendedDataTests(function(test, sourceBuffer, duration, subType)
    182           {
    183               removeAndCheckBufferedRanges(test, sourceBuffer, 0, Number.POSITIVE_INFINITY, "{ }");
     257          removeAppendedDataTests(function(test, mediaSource, sourceBuffer, duration, subType, segmentInfo)
     258          {
     259              removeAndCheckBufferedRanges(test, mediaSource, sourceBuffer, 0, Number.POSITIVE_INFINITY, "{ }");
    184260          }, "Test removing all appended data.");
    185261
    186           removeAppendedDataTests(function(test, sourceBuffer, duration, subType)
     262          removeAppendedDataTests(function(test, mediaSource, sourceBuffer, duration, subType, segmentInfo)
    187263          {
    188264              var expectations = {
    189265                webm: ("{ [3.187, " + duration + ") }"),
    190                 mp4: ("{ [3.228, " + duration + ") }"),
     266                mp4: ("{ [3.187, " + duration + ") }"),
    191267              };
    192268
    193269              // Note: Range doesn't start exactly at the end of the remove range because there isn't
    194270              // a keyframe there. The resulting range starts at the first keyframe >= the end time.
    195               removeAndCheckBufferedRanges(test, sourceBuffer, 0, 3, expectations[subType]);
     271              removeAndCheckBufferedRanges(test, mediaSource, sourceBuffer, 0, 3, expectations[subType]);
    196272          }, "Test removing beginning of appended data.");
    197273
    198           removeAppendedDataTests(function(test, sourceBuffer, duration, subType)
    199           {
     274          removeAppendedDataTests(function(test, mediaSource, sourceBuffer, duration, subType, segmentInfo)
     275          {
     276              var start = Math.max(segmentInfo.media[0].timev, segmentInfo.media[0].timea).toFixed(3);
    200277              var expectations = {
    201                 webm: ("{ [0.000, 1.012) [3.187, " + duration + ") }"),
    202                 mp4: ("{ [0.000, 1.029) [3.228, " + duration + ") }"),
     278                webm: ("{ [" + start + ", 1.012) [3.187, " + duration + ") }"),
     279                mp4: ("{ [" + start + ", 0.996) [3.187, " + duration + ") }"),
    203280              };
    204281
     
    206283              // frames with a timestamp >= the start time. If a frame starts before and ends after the remove() start
    207284              // timestamp, then it stays in the buffer.
    208               removeAndCheckBufferedRanges(test, sourceBuffer, 1, 3, expectations[subType]);
     285              removeAndCheckBufferedRanges(test, mediaSource, sourceBuffer, 1, 3, expectations[subType]);
    209286          }, "Test removing the middle of appended data.");
    210287
    211           removeAppendedDataTests(function(test, sourceBuffer, duration, subType)
    212           {
     288          removeAppendedDataTests(function(test, mediaSource, sourceBuffer, duration, subType, segmentInfo)
     289          {
     290              var start = Math.max(segmentInfo.media[0].timev, segmentInfo.media[0].timea).toFixed(3);
    213291              var expectations = {
    214                 webm: "{ [0.000, 1.012) }",
    215                 mp4: "{ [0.000, 1.029) }",
     292                webm: "{ [" + start + ", 1.029) }",
     293                mp4: "{ [" + start + ", 1.022) }",
    216294              };
    217295
    218               removeAndCheckBufferedRanges(test, sourceBuffer, 1, Number.POSITIVE_INFINITY, expectations[subType]);
     296              removeAndCheckBufferedRanges(test, mediaSource, sourceBuffer, 1, Number.POSITIVE_INFINITY, expectations[subType]);
    219297          }, "Test removing the end of appended data.");
    220298        </script>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-seek-beyond-duration-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test seeking beyond updated media duration.
    33PASS Test seeking beyond media duration.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-seek-beyond-duration.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Test MediaSource behavior when seeking beyond the duration of the clip.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    6264                    assert_equals(mediaElement.duration, segmentInfo.duration);
    6365                    assert_greater_than_equal(mediaElement.duration, 2.0, 'Duration is >2.0s.');
     66
     67                    test.expectEvent(sourceBuffer, "updateend");
     68                    sourceBuffer.remove(1.5, Infinity);
     69                    assert_true(sourceBuffer.updating, "updating");
     70                });
     71
     72                test.waitForExpectedEvents(function()
     73                {
     74                    assert_false(sourceBuffer.updating, "updating");
    6475                    test.waitForCurrentTimeChange(mediaElement, function()
    6576                    {
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-seek-during-pending-seek-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test seeking to a new location before transitioning beyond HAVE_METADATA.
    33PASS Test seeking to a new location during a pending seek.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-seek-during-pending-seek.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>Test MediaSource behavior when a seek is requested while another seek is pending.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    911        <div id="log"></div>
    1012        <script>
    11 
    1213          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
    1314          {
     
    1617              var initSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.init);
    1718              var firstSegment = MediaSourceUtil.extractSegmentData(mediaData, segmentInfo.media[0]);
    18               var secondSegmentInfo = segmentInfo.media[2];
    19               var secondSegment = MediaSourceUtil.extractSegmentData(mediaData, secondSegmentInfo);
     19              var segmentIndex = 2;
     20              var secondSegmentInfo = segmentInfo.media[segmentIndex];
    2021
    2122              // Append the initialization segment to trigger a transition to HAVE_METADATA.
     
    3132                  // Seek to a new position before letting the initial seek to 0 completes.
    3233                  test.expectEvent(mediaElement, 'seeking', 'mediaElement');
    33                   mediaElement.currentTime = secondSegmentInfo.timecode;
     34                  mediaElement.currentTime = Math.max(secondSegmentInfo.timev, secondSegmentInfo.timea);
    3435                  assert_true(mediaElement.seeking, 'mediaElement is seeking');
    3536
     
    4546                  assert_equals(mediaElement.readyState, mediaElement.HAVE_METADATA, 'Still in HAVE_METADATA');
    4647
    47                   // Append media data for the current position.
    48                   test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     48                  // Append media data for the current position until the element starts playing.
    4949                  test.expectEvent(mediaElement, 'seeked', 'mediaElement finished seek');
    5050                  test.expectEvent(mediaElement, 'playing', 'mediaElement playing');
    51                   sourceBuffer.appendBuffer(secondSegment);
     51
     52                  MediaSourceUtil.appendUntilEventFires(test, mediaElement, 'playing', sourceBuffer, mediaData, segmentInfo, segmentIndex);
    5253              });
    5354
    5455              test.waitForExpectedEvents(function()
    5556              {
    56                   test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
    57                   mediaSource.endOfStream();
     57                  if (sourceBuffer.updating)
     58                  {
     59                      // The event playing was fired prior to the appendBuffer completing.
     60                      test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     61                      test.waitForExpectedEvents(function()
     62                      {
     63                          assert_false(sourceBuffer.updating, 'append have compleded');
     64                          test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
     65                          mediaSource.endOfStream();
     66                      });
     67                  }
     68                  else
     69                  {
     70                      test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
     71                      mediaSource.endOfStream();
     72                  }
    5873              });
    5974
    6075              test.waitForExpectedEvents(function()
    6176              {
    62                   assert_greater_than(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA, 'Greater than HAVE_CURRENT_DATA');
     77                  // Note: we just completed the seek. However, we only have less than a second worth of data to play. It is possible that
     78                  // playback has reached the end since the seek completed.
     79                  if (!mediaElement.paused)
     80                  {
     81                      assert_greater_than_equal(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA, 'Greater or equal than HAVE_CURRENT_DATA');
     82                  }
     83                  else
     84                  {
     85                      assert_true(mediaElement.ended);
     86                  }
    6387                  test.done();
    6488              });
    6589
    66           }, 'Test seeking to a new location before transitioning beyond HAVE_METADATA.', {timeout: 10000} );
     90          }, 'Test seeking to a new location before transitioning beyond HAVE_METADATA.');
    6791
    6892          mediasource_testafterdataloaded(function(test, mediaElement, mediaSource, segmentInfo, sourceBuffer, mediaData)
     
    7498              var secondSegmentInfo = segmentInfo.media[2];
    7599              var secondSegment = MediaSourceUtil.extractSegmentData(mediaData, secondSegmentInfo);
    76               var thirdSegmentInfo = segmentInfo.media[4];
    77               var thirdSegment = MediaSourceUtil.extractSegmentData(mediaData, thirdSegmentInfo);
     100              var segmentIndex = 4;
     101              var thirdSegmentInfo = segmentInfo.media[segmentIndex];
    78102
    79103              // Append the initialization segment to trigger a transition to HAVE_METADATA.
     
    95119                  // Seek to a new position.
    96120                  test.expectEvent(mediaElement, 'seeking', 'mediaElement');
    97                   mediaElement.currentTime = secondSegmentInfo.timecode;
     121                  mediaElement.currentTime = Math.max(secondSegmentInfo.timev, secondSegmentInfo.timea);
    98122                  assert_true(mediaElement.seeking, 'mediaElement is seeking');
    99123
     
    106130                  // Seek to a second position while the first seek is still pending.
    107131                  test.expectEvent(mediaElement, 'seeking', 'mediaElement');
    108                   mediaElement.currentTime = thirdSegmentInfo.timecode;
     132                  mediaElement.currentTime = Math.max(thirdSegmentInfo.timev, thirdSegmentInfo.timea);
    109133                  assert_true(mediaElement.seeking, 'mediaElement is seeking');
    110134
     
    116140              test.waitForExpectedEvents(function()
    117141              {
    118                   assert_true(mediaElement.seeking, 'mediaElement is still seeking');
     142                  // Note that we can't assume that the element is still seeking
     143                  // when the seeking event is fired as the operation is asynchronous.
    119144
    120145                  // Append media data for the second seek position.
    121                   test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
    122146                  test.expectEvent(mediaElement, 'seeked', 'mediaElement finished seek');
    123                   sourceBuffer.appendBuffer(thirdSegment);
     147                  MediaSourceUtil.appendUntilEventFires(test, mediaElement, 'seeked', sourceBuffer, mediaData, segmentInfo, segmentIndex);
    124148              });
    125149
     
    128152                  assert_false(mediaElement.seeking, 'mediaElement is no longer seeking');
    129153
    130                   test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
    131                   mediaSource.endOfStream();
     154                  if (sourceBuffer.updating)
     155                  {
     156                      // The event seeked was fired prior to the appendBuffer completing.
     157                      test.expectEvent(sourceBuffer, 'updateend', 'sourceBuffer');
     158                      test.waitForExpectedEvents(function()
     159                      {
     160                          assert_false(sourceBuffer.updating, 'append have compleded');
     161                          test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
     162                          mediaSource.endOfStream();
     163                      });
     164                  }
     165                  else
     166                  {
     167                      test.expectEvent(mediaSource, 'sourceended', 'mediaSource ended');
     168                      mediaSource.endOfStream();
     169                  }
    132170              });
    133171
    134172              test.waitForExpectedEvents(function()
    135173              {
    136                   assert_greater_than(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA, 'Greater than HAVE_CURRENT_DATA');
     174                  // Note: we just completed the seek. However, we only have less than a second worth of data to play. It is possible that
     175                  // playback has reached the end since the seek completed.
     176                  if (!mediaElement.paused)
     177                  {
     178                      assert_greater_than_equal(mediaElement.readyState, mediaElement.HAVE_CURRENT_DATA, 'Greater or equal than HAVE_CURRENT_DATA');
     179                  }
     180                  else
     181                  {
     182                      assert_true(mediaElement.ended);
     183                  }
    137184                  test.done();
    138185              });
    139           }, 'Test seeking to a new location during a pending seek.', {timeout: 10000} );
     186          }, 'Test seeking to a new location during a pending seek.');
    140187        </script>
    141188    </body>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt

    r205776 r205777  
    1  
     1
    22PASS Test initial value of SourceBuffer.mode is "segments"
    33PASS Test setting SourceBuffer.mode
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>SourceBuffer.mode test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-sourcebufferlist-expected.txt

    r205776 r205777  
    1  
     1
     2PASS Test SourceBufferList getter method
    23PASS Test SourceBufferList event dispatching.
    34PASS Test that only 1 removesourcebuffer event fires on each SourceBufferList when the MediaSource closes.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-sourcebufferlist.html

    r205776 r205777  
    11<!DOCTYPE html>
     2<!--  Copyright © 2016 Chromium authors and World Wide Web Consortium, (Massachusetts Institute of Technology, ERCIM, Keio University, Beihang).  -->
    23<html>
    34    <head>
    4         <script src="/w3c/resources/testharness.js"></script>
    5         <script src="/w3c/resources/testharnessreport.js"></script>
     5        <title>SourceBufferList test cases.</title>
     6        <script src="/resources/testharness.js"></script>
     7        <script src="/resources/testharnessreport.js"></script>
    68        <script src="mediasource-util.js"></script>
    79    </head>
     
    1315              assert_equals(mediaSource.sourceBuffers.length, expected.length, "sourceBuffers length");
    1416              assert_equals(mediaSource.activeSourceBuffers.length, 0, "activeSourceBuffers length");
    15               for (var i = 0; i < expected.length; ++i)
     17              for (var i = 0; i < expected.length; ++i) {
    1618                assert_equals(mediaSource.sourceBuffers[i], expected[i], "Verifying mediaSource.sourceBuffers[" + i + "]");
     19              }
     20              assert_equals(mediaSource.sourceBuffers[expected.length], undefined,
     21                "If index is greater than or equal to the length attribute then return undefined.");
    1722          }
     23
     24          mediasource_test(function(test, mediaElement, mediaSource)
     25          {
     26              var sourceBufferA = mediaSource.addSourceBuffer(MediaSourceUtil.VIDEO_ONLY_TYPE);
     27              verifySourceBufferLists(mediaSource, [sourceBufferA]);
     28
     29              var sourceBufferB = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);
     30              verifySourceBufferLists(mediaSource, [sourceBufferA, sourceBufferB]);
     31              test.done();
     32          }, "Test SourceBufferList getter method");
    1833
    1934          mediasource_test(function(test, mediaElement, mediaSource)
  • trunk/LayoutTests/platform/ios-simulator/TestExpectations

    r205579 r205777  
    169169# MediaSource is not currently supported on iOS.
    170170media/media-source
     171http/tests/media/media-source [ Skip ]
     172imported/w3c/web-platform-tests/media-source/ [ Skip ]
    171173fast/history/page-cache-media-source-closed-2.html [ Skip ]
    172174fast/history/page-cache-media-source-closed.html [ Skip ]
  • trunk/LayoutTests/platform/mac/TestExpectations

    r205673 r205777  
    10431043
    10441044# Passing Media Source tests
    1045 [ Yosemite+ ] http/tests/media/media-source/ [ Skip ]
    1046 [ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-readyState.html [ Pass ]
    1047 [ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-removed.html [ Pass ]
    1048 [ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort.html [ Pass ]
    1049 [ Yosemite+ ] http/tests/media/media-source/mediasource-addsourcebuffer.html [ Pass ]
    1050 [ Yosemite+ ] http/tests/media/media-source/mediasource-append-buffer.html [ Pass ]
    1051 [ Yosemite+ ] http/tests/media/media-source/mediasource-closed.html [ Pass ]
    1052 [ Yosemite+ ] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html [ Pass ]
    1053 [ Yosemite+ ] http/tests/media/media-source/mediasource-endofstream-invaliderror.html [ Pass ]
    1054 [ Yosemite+ ] http/tests/media/media-source/mediasource-is-type-supported.html [ Pass ]
    1055 [ Yosemite+ ] http/tests/media/media-source/mediasource-multiple-attach.html [ Pass ]
    1056 [ Yosemite+ ] http/tests/media/media-source/mediasource-play.html [ Pass ]
    1057 [ Yosemite+ ] http/tests/media/media-source/mediasource-remove.html [ Pass ]
    1058 [ Yosemite+ ] http/tests/media/media-source/mediasource-sourcebufferlist.html [ Pass ]
    1059 [ Yosemite+ ] http/tests/media/media-source/mediasource-sourcebuffer-mode.html [ Pass ]
     1045[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/ [ Skip ]
     1046[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState.html [ Pass ]
     1047[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html [ Pass ]
     1048[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort.html [ Pass ]
     1049[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-closed.html [ Pass ]
     1050[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-endofstream-invaliderror.html [ Pass ]
     1051[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-multiple-attach.html [ Pass ]
     1052[ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-sourcebufferlist.html [ Pass ]
    10601053
    10611054# Flaky Media Source tests
    1062 webkit.org/b/149816 [ Yosemite+ ] http/tests/media/media-source/SourceBuffer-abort-updating.html [ Pass Timeout ]
    1063 webkit.org/b/161391 [ Yosemite+ ] http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html [ Pass Failure ]
     1055webkit.org/b/149816 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating.html [ Pass Timeout ]
     1056webkit.org/b/161391 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html [ Pass Failure ]
     1057
     1058# Newly failing Media Source tests
     1059webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html [ Failure ]
     1060webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-append-buffer.html [ Failure ]
     1061webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html [ Failure ]
     1062webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported.html [ Failure ]
     1063webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-play.html [ Failure ]
     1064webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-remove.html [ Failure ]
     1065webkit.org/b/161725 [ Yosemite+ ] imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html [ Failure ]
    10641066
    10651067# These two tests have "InvalidStateError (DOM Exception 11): The object is in an invalid state." in output.
Note: See TracChangeset for help on using the changeset viewer.