Test files: 57; Total subtests: 371
Test | CH55 | ED14 | FF51 | SA10TP13 |
---|---|---|---|---|
/media-source/SourceBuffer-abort-removed.html | OK | TIMEOUT | OK | OK |
SourceBuffer#abort (video/webm; codecs="vorbis,vp8") : if this object has been removed from the sourceBuffers attribute of the parent media source, then throw an INVALID_STATE_ERR exception and abort these steps. | PASS | FAIL | PASS | FAIL |
SourceBuffer#abort (video/mp4) : if this object has been removed from the sourceBuffers attribute of the parent media source, then throw an INVALID_STATE_ERR exception and abort these steps. | FAIL | FAIL | PASS | PASS |
/media-source/SourceBuffer-abort-updating.html | OK | OK | OK | OK |
SourceBuffer#abort() (video/webm; codecs="vorbis,vp8") : Check the algorithm when the updating attribute is true. | PASS | FAIL | PASS | FAIL |
SourceBuffer#abort() (video/mp4) : Check the algorithm when the updating attribute is true. | FAIL | FAIL | PASS | PASS |
/media-source/SourceBuffer-abort.html | OK | TIMEOUT | OK | OK |
SourceBuffer#abort() (video/webm; codecs="vorbis,vp8"): Check the values of appendWindowStart and appendWindowEnd. | PASS | FAIL | PASS | FAIL |
SourceBuffer#abort() (video/mp4): Check the values of appendWindowStart and appendWindowEnd. | FAIL | PASS | PASS | PASS |
/media-source/URL-createObjectURL-null.html | OK | OK | OK | OK |
URL.createObjectURL(null) | PASS | FAIL | PASS | FAIL |
/media-source/URL-createObjectURL-revoke.html | OK | TIMEOUT | OK | OK |
Check revoking behavior of URL.revokeObjectURL(url). | PASS | PASS | PASS | PASS |
Check referenced MediaSource can open after URL.revokeObjectURL(url). | FAIL | PASS | PASS | FAIL |
Check auto-revoking behavior with URL.createObjectURL(MediaSource). | FAIL | FAIL | PASS | FAIL |
/media-source/URL-createObjectURL.html | OK | OK | OK | OK |
URL.createObjectURL(mediaSource) should return a unique Blob URI. | PASS | PASS | PASS | PASS |
/media-source/interfaces.html | OK | TIMEOUT | OK | TIMEOUT |
URL interface: operation createObjectURL(MediaSource) | PASS | FAIL | PASS | PASS |
AudioTrack interface: attribute sourceBuffer | PASS | PASS | FAIL | PASS |
VideoTrack interface: attribute sourceBuffer | PASS | PASS | FAIL | PASS |
TextTrack interface: attribute sourceBuffer | FAIL | FAIL | FAIL | PASS |
MediaSource interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
MediaSource interface object length | PASS | FAIL | PASS | PASS |
MediaSource interface object name | PASS | PASS | PASS | PASS |
MediaSource interface: existence and properties of interface prototype object | FAIL | PASS | PASS | PASS |
MediaSource interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
MediaSource interface: attribute sourceBuffers | PASS | PASS | PASS | PASS |
MediaSource interface: attribute activeSourceBuffers | PASS | PASS | PASS | PASS |
MediaSource interface: attribute readyState | PASS | PASS | PASS | PASS |
MediaSource interface: attribute duration | PASS | FAIL | PASS | PASS |
MediaSource interface: attribute onsourceopen | PASS | FAIL | PASS | FAIL |
MediaSource interface: attribute onsourceended | PASS | FAIL | PASS | FAIL |
MediaSource interface: attribute onsourceclose | PASS | FAIL | FAIL | FAIL |
MediaSource interface: operation addSourceBuffer(DOMString) | PASS | FAIL | PASS | PASS |
MediaSource interface: operation removeSourceBuffer(SourceBuffer) | PASS | FAIL | PASS | PASS |
MediaSource interface: operation endOfStream(EndOfStreamError) | PASS | PASS | PASS | PASS |
MediaSource interface: operation setLiveSeekableRange(double,double) | PASS | FAIL | PASS | FAIL |
MediaSource interface: operation clearLiveSeekableRange() | PASS | FAIL | PASS | FAIL |
MediaSource interface: operation isTypeSupported(DOMString) | PASS | FAIL | PASS | PASS |
MediaSource must be primary interface of mediaSource | PASS | PASS | PASS | PASS |
Stringification of mediaSource | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "sourceBuffers" with the proper type (0) | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "activeSourceBuffers" with the proper type (1) | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "readyState" with the proper type (2) | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "duration" with the proper type (3) | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "onsourceopen" with the proper type (4) | FAIL | FAIL | FAIL | FAIL |
MediaSource interface: mediaSource must inherit property "onsourceended" with the proper type (5) | FAIL | FAIL | FAIL | FAIL |
MediaSource interface: mediaSource must inherit property "onsourceclose" with the proper type (6) | FAIL | FAIL | FAIL | FAIL |
MediaSource interface: mediaSource must inherit property "addSourceBuffer" with the proper type (7) | PASS | PASS | PASS | PASS |
MediaSource interface: calling addSourceBuffer(DOMString) on mediaSource with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "removeSourceBuffer" with the proper type (8) | PASS | PASS | PASS | PASS |
MediaSource interface: calling removeSourceBuffer(SourceBuffer) on mediaSource with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "endOfStream" with the proper type (9) | PASS | PASS | PASS | PASS |
MediaSource interface: calling endOfStream(EndOfStreamError) on mediaSource with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
MediaSource interface: mediaSource must inherit property "setLiveSeekableRange" with the proper type (10) | PASS | FAIL | PASS | FAIL |
MediaSource interface: calling setLiveSeekableRange(double,double) on mediaSource with too few arguments must throw TypeError | PASS | FAIL | PASS | FAIL |
MediaSource interface: mediaSource must inherit property "clearLiveSeekableRange" with the proper type (11) | PASS | FAIL | PASS | FAIL |
MediaSource interface: mediaSource must inherit property "isTypeSupported" with the proper type (12) | PASS | PASS | PASS | PASS |
MediaSource interface: calling isTypeSupported(DOMString) on mediaSource with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
EventTarget interface: mediaSource must inherit property "addEventListener" with the proper type (0) | PASS | PASS | PASS | PASS |
EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on mediaSource with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: mediaSource must inherit property "removeEventListener" with the proper type (1) | PASS | PASS | PASS | PASS |
EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on mediaSource with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: mediaSource must inherit property "dispatchEvent" with the proper type (2) | PASS | PASS | PASS | PASS |
EventTarget interface: calling dispatchEvent(Event) on mediaSource with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
SourceBuffer interface: existence and properties of interface object | PASS | FAIL | PASS | FAIL |
SourceBuffer interface object length | PASS | FAIL | PASS | FAIL |
SourceBuffer interface object name | PASS | PASS | PASS | FAIL |
SourceBuffer interface: existence and properties of interface prototype object | FAIL | PASS | PASS | FAIL |
SourceBuffer interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL |
SourceBuffer interface: attribute mode | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute updating | PASS | PASS | PASS | FAIL |
SourceBuffer interface: attribute buffered | PASS | PASS | PASS | FAIL |
SourceBuffer interface: attribute timestampOffset | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute audioTracks | PASS | PASS | FAIL | FAIL |
SourceBuffer interface: attribute videoTracks | PASS | PASS | FAIL | FAIL |
SourceBuffer interface: attribute textTracks | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: attribute appendWindowStart | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute appendWindowEnd | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute onupdatestart | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute onupdate | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute onupdateend | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute onerror | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: attribute onabort | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: operation appendBuffer(BufferSource) | PASS | FAIL | PASS | FAIL |
SourceBuffer interface: operation abort() | PASS | PASS | PASS | FAIL |
SourceBuffer interface: operation remove(double,unrestricted double) | PASS | FAIL | PASS | FAIL |
SourceBuffer must be primary interface of sourceBuffer | PASS | PASS | PASS | FAIL |
Stringification of sourceBuffer | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "mode" with the proper type (0) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "updating" with the proper type (1) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "buffered" with the proper type (2) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "timestampOffset" with the proper type (3) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "audioTracks" with the proper type (4) | PASS | PASS | FAIL | PASS |
SourceBuffer interface: sourceBuffer must inherit property "videoTracks" with the proper type (5) | PASS | PASS | FAIL | PASS |
SourceBuffer interface: sourceBuffer must inherit property "textTracks" with the proper type (6) | FAIL | FAIL | FAIL | PASS |
SourceBuffer interface: sourceBuffer must inherit property "appendWindowStart" with the proper type (7) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "appendWindowEnd" with the proper type (8) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "onupdatestart" with the proper type (9) | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: sourceBuffer must inherit property "onupdate" with the proper type (10) | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: sourceBuffer must inherit property "onupdateend" with the proper type (11) | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: sourceBuffer must inherit property "onerror" with the proper type (12) | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: sourceBuffer must inherit property "onabort" with the proper type (13) | FAIL | FAIL | FAIL | FAIL |
SourceBuffer interface: sourceBuffer must inherit property "appendBuffer" with the proper type (14) | PASS | PASS | PASS | PASS |
SourceBuffer interface: calling appendBuffer(BufferSource) on sourceBuffer with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "abort" with the proper type (15) | PASS | PASS | PASS | PASS |
SourceBuffer interface: sourceBuffer must inherit property "remove" with the proper type (16) | PASS | PASS | PASS | PASS |
SourceBuffer interface: calling remove(double,unrestricted double) on sourceBuffer with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
EventTarget interface: sourceBuffer must inherit property "addEventListener" with the proper type (0) | PASS | PASS | PASS | PASS |
EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on sourceBuffer with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: sourceBuffer must inherit property "removeEventListener" with the proper type (1) | PASS | PASS | PASS | PASS |
EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on sourceBuffer with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: sourceBuffer must inherit property "dispatchEvent" with the proper type (2) | PASS | PASS | PASS | PASS |
EventTarget interface: calling dispatchEvent(Event) on sourceBuffer with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
SourceBufferList interface: existence and properties of interface object | PASS | FAIL | PASS | FAIL |
SourceBufferList interface object length | PASS | FAIL | PASS | FAIL |
SourceBufferList interface object name | PASS | PASS | PASS | FAIL |
SourceBufferList interface: existence and properties of interface prototype object | FAIL | PASS | PASS | FAIL |
SourceBufferList interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | FAIL |
SourceBufferList interface: attribute length | PASS | PASS | PASS | FAIL |
SourceBufferList interface: attribute onaddsourcebuffer | PASS | FAIL | PASS | FAIL |
SourceBufferList interface: attribute onremovesourcebuffer | PASS | FAIL | PASS | FAIL |
SourceBufferList must be primary interface of mediaSource.sourceBuffers | PASS | PASS | PASS | FAIL |
Stringification of mediaSource.sourceBuffers | PASS | PASS | PASS | PASS |
SourceBufferList interface: mediaSource.sourceBuffers must inherit property "length" with the proper type (0) | PASS | PASS | PASS | PASS |
SourceBufferList interface: mediaSource.sourceBuffers must inherit property "onaddsourcebuffer" with the proper type (1) | FAIL | FAIL | FAIL | FAIL |
SourceBufferList interface: mediaSource.sourceBuffers must inherit property "onremovesourcebuffer" with the proper type (2) | FAIL | FAIL | FAIL | FAIL |
EventTarget interface: mediaSource.sourceBuffers must inherit property "addEventListener" with the proper type (0) | PASS | PASS | PASS | PASS |
EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on mediaSource.sourceBuffers with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: mediaSource.sourceBuffers must inherit property "removeEventListener" with the proper type (1) | PASS | PASS | PASS | PASS |
EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on mediaSource.sourceBuffers with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
EventTarget interface: mediaSource.sourceBuffers must inherit property "dispatchEvent" with the proper type (2) | PASS | PASS | PASS | PASS |
EventTarget interface: calling dispatchEvent(Event) on mediaSource.sourceBuffers with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
/media-source/mediasource-activesourcebuffers.html | OK | TIMEOUT | OK | TIMEOUT |
SourceBuffer added to activeSourceBuffers list when its only audio track gets loaded (and thus becomes enabled). | PASS | PASS | PASS | PASS |
SourceBuffer added to activeSourceBuffers list when its only video track gets loaded (and thus becomes selected). | PASS | PASS | PASS | PASS |
Active SourceBuffers must appear in the same order as they appear in the sourceBuffers attribute: audio is first sourceBuffer, audio media appended first | PASS | FAIL | PASS | PASS |
Active SourceBuffers must appear in the same order as they appear in the sourceBuffers attribute: audio is first sourceBuffer, video media appended first | PASS | FAIL | PASS | PASS |
Active SourceBuffers must appear in the same order as they appear in the sourceBuffers attribute: video is first sourceBuffer, audio media appended first | PASS | PASS | PASS | PASS |
Active SourceBuffers must appear in the same order as they appear in the sourceBuffers attribute: video is first sourceBuffer, video media appended first | PASS | PASS | PASS | PASS |
Active SourceBuffers list reflects changes to selected audio/video tracks associated with separate SourceBuffers. | PASS | PASS | FAIL | TIMEOUT |
Active SourceBuffers list ignores changes to selected audio/video tracks that do not affect the activation of the SourceBuffer. | PASS | PASS | FAIL | TIMEOUT |
/media-source/mediasource-addsourcebuffer-mode.html | OK | TIMEOUT | OK | OK |
addSourceBuffer() sets SourceBuffer.mode to 'segments' when the generate timestamps flag is false | PASS | PASS | PASS | PASS |
addSourceBuffer() sets SourceBuffer.mode to 'sequence' when the generate timestamps flag is true | FAIL | PASS | FAIL | PASS |
/media-source/mediasource-addsourcebuffer.html | OK | TIMEOUT | OK | TIMEOUT |
Test addSourceBuffer() in 'ended' state. | PASS | PASS | PASS | PASS |
Test addSourceBuffer() with empty type | PASS | FAIL | PASS | PASS |
Test addSourceBuffer() with null | PASS | FAIL | PASS | FAIL |
Test addSourceBuffer() with unsupported type | PASS | PASS | PASS | PASS |
Test addSourceBuffer() with Vorbis and VP8 | PASS | FAIL | PASS | FAIL |
Test addSourceBuffer() with Vorbis and VP8 in separate SourceBuffers | PASS | FAIL | PASS | FAIL |
Test addSourceBuffer() video only | PASS | PASS | PASS | PASS |
Test addSourceBuffer() audio only | PASS | PASS | PASS | PASS |
Test addSourceBuffer() with AAC and H.264 | PASS | PASS | PASS | PASS |
Test addSourceBuffer() with AAC and H.264 in separate SourceBuffers | PASS | PASS | PASS | PASS |
Test addSourceBuffer() QuotaExceededError. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-append-buffer.html | TIMEOUT | TIMEOUT | OK | OK |
Test SourceBuffer.appendBuffer() event dispatching. | PASS | PASS | PASS | PASS |
Test SourceBuffer.appendBuffer() call during a pending appendBuffer(). | PASS | PASS | PASS | PASS |
Test SourceBuffer.abort() call during a pending appendBuffer(). | PASS | PASS | PASS | PASS |
Test SourceBuffer.appendBuffer() triggering an 'ended' to 'open' transition. | PASS | PASS | PASS | PASS |
Test zero byte SourceBuffer.appendBuffer() call triggering an 'ended' to 'open' transition. | PASS | PASS | PASS | PASS |
Test MediaSource.removeSourceBuffer() call during a pending appendBuffer(). | PASS | FAIL | PASS | PASS |
Test set MediaSource.duration during a pending appendBuffer() for one of its SourceBuffers. | PASS | PASS | PASS | PASS |
Test MediaSource.endOfStream() during a pending appendBuffer() for one of its SourceBuffers. | PASS | PASS | PASS | PASS |
Test set SourceBuffer.timestampOffset during a pending appendBuffer(). | PASS | PASS | PASS | PASS |
Test appending an empty ArrayBufferView. | PASS | PASS | PASS | PASS |
Test appending a neutered ArrayBufferView. | PASS | PASS | PASS | PASS |
Test appending an empty ArrayBuffer. | PASS | PASS | PASS | PASS |
Test appending a neutered ArrayBuffer. | PASS | PASS | PASS | PASS |
Test appendBuffer with partial init segments. | PASS | TIMEOUT | PASS | FAIL |
Test appendBuffer with partial media segments. | PASS | TIMEOUT | PASS | FAIL |
Test abort in the middle of an initialization segment. | PASS | TIMEOUT | PASS | PASS |
Test abort after removing sourcebuffer. | PASS | FAIL | PASS | PASS |
Test abort after readyState is ended following init segment and media segment. | TIMEOUT | PASS | PASS | PASS |
Test abort after appendBuffer update ends. | TIMEOUT | PASS | PASS | PASS |
Test appending null. | PASS | FAIL | PASS | PASS |
Test appending after removeSourceBuffer(). | TIMEOUT | FAIL | PASS | PASS |
/media-source/mediasource-appendwindow.html | OK | TIMEOUT | OK | OK |
Test correctly reset appendWindowStart and appendWindowEnd values | PASS | PASS | PASS | PASS |
Test set wrong values to appendWindowStart and appendWindowEnd. | PASS | FAIL | PASS | FAIL |
Test set correct values to appendWindowStart and appendWindowEnd. | PASS | PASS | PASS | PASS |
Test appendwindow throw error when mediasource object is not associated with a sourebuffer. | PASS | FAIL | PASS | PASS |
Test set appendWindowStart and appendWindowEnd when source buffer updating. | PASS | PASS | PASS | PASS |
Test appendWindowStart and appendWindowEnd value after a sourceBuffer.abort(). | PASS | PASS | PASS | PASS |
Test read appendWindowStart and appendWindowEnd initial values. | PASS | PASS | PASS | PASS |
/media-source/mediasource-attach-stops-delaying-load-event.html | OK | TIMEOUT | OK | OK |
MediaSource attachment should immediately stop delaying the load event | PASS | TIMEOUT | PASS | FAIL |
/media-source/mediasource-avtracks.html | OK | TIMEOUT | OK | OK |
Check that media tracks and their properties are populated properly | PASS | FAIL | FAIL | PASS |
Media tracks must be removed when the SourceBuffer is removed from the MediaSource | FAIL | PASS | FAIL | FAIL |
Media tracks must be removed when the HTMLMediaElement.src is changed | PASS | FAIL | FAIL | FAIL |
Media tracks must be removed when HTMLMediaElement.load() is called | PASS | FAIL | FAIL | FAIL |
/media-source/mediasource-buffered.html | OK | TIMEOUT | OK | TIMEOUT |
Demuxed content with different lengths | FAIL | FAIL | PASS | FAIL |
Muxed content with different lengths | FAIL | FAIL | PASS | FAIL |
Demuxed content with an empty buffered range on one SourceBuffer | PASS | FAIL | PASS | PASS |
Muxed content empty buffered ranges. | PASS | PASS | PASS | PASS |
Get buffered range when sourcebuffer is empty. | PASS | PASS | PASS | PASS |
Get buffered range when only init segment is appended. | PASS | PASS | PASS | PASS |
Get buffered range after removing sourcebuffer. | PASS | FAIL | PASS | PASS |
/media-source/mediasource-closed.html | OK | OK | OK | OK |
Test attribute values on a closed MediaSource object. | PASS | PASS | PASS | PASS |
Test addSourceBuffer() while closed. | PASS | PASS | PASS | PASS |
Test removeSourceBuffer() while closed. | PASS | PASS | PASS | PASS |
Test endOfStream() while closed. | PASS | PASS | PASS | PASS |
Test endOfStream(decode) while closed. | PASS | PASS | PASS | PASS |
Test endOfStream(network) while closed. | PASS | PASS | PASS | PASS |
Test setting duration while closed. | PASS | PASS | PASS | PASS |
Test setting duration while open->closed. | PASS | PASS | PASS | PASS |
Test getting duration while open->closed. | PASS | PASS | PASS | PASS |
Test sourcebuffer.abort when closed. | PASS | PASS | PASS | PASS |
/media-source/mediasource-config-change-mp4-a-bitrate.html | OK | OK | OK | OK |
Tests mp4 audio-only bitrate changes. | PASS | PASS | PASS | PASS |
/media-source/mediasource-config-change-mp4-av-audio-bitrate.html | OK | OK | OK | OK |
Tests mp4 audio bitrate changes in multiplexed content. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-config-change-mp4-av-framesize.html | OK | OK | OK | OK |
Tests mp4 frame size changes in multiplexed content. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-config-change-mp4-av-video-bitrate.html | OK | OK | OK | OK |
Tests mp4 video bitrate changes in multiplexed content. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-config-change-mp4-v-bitrate.html | OK | OK | OK | OK |
Tests mp4 video-only bitrate changes. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-config-change-mp4-v-framerate.html | OK | OK | OK | TIMEOUT |
Tests mp4 video-only frame rate changes. | PASS | PASS | PASS | TIMEOUT |
/media-source/mediasource-config-change-mp4-v-framesize.html | OK | OK | OK | OK |
Tests mp4 video-only frame size changes. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-config-change-webm-a-bitrate.html | OK | TIMEOUT | OK | OK |
Tests webm audio-only bitrate changes. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-av-audio-bitrate.html | OK | TIMEOUT | OK | OK |
Tests webm audio bitrate changes in multiplexed content. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-av-framesize.html | OK | TIMEOUT | OK | OK |
Tests webm frame size changes in multiplexed content. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-av-video-bitrate.html | OK | TIMEOUT | OK | OK |
Tests webm video bitrate changes in multiplexed content. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-v-bitrate.html | OK | TIMEOUT | OK | OK |
Tests webm video-only bitrate changes. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-v-framerate.html | OK | TIMEOUT | OK | OK |
Tests webm video-only frame rate changes. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-config-change-webm-v-framesize.html | OK | TIMEOUT | OK | OK |
Tests webm video-only frame size changes. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-detach.html | OK | OK | OK | OK |
Test media.load() before appending data will trigger MediaSource detaching from a media element. | PASS | PASS | FAIL | PASS |
Test media.load() after appending data will trigger MediaSource detaching from a media element. | PASS | PASS | FAIL | PASS |
/media-source/mediasource-duration-boundaryconditions.html | OK | TIMEOUT | OK | TIMEOUT |
Set duration to 2^31 - 1 | PASS | PASS | PASS | PASS |
Set duration to 1 | PASS | PASS | PASS | PASS |
Set duration to Number.MAX_VALUE | PASS | PASS | PASS | FAIL |
Set duration to Number.MIN_VALUE | PASS | PASS | PASS | FAIL |
Set duration to Number.MAX_VALUE - 1 | PASS | PASS | PASS | FAIL |
Set duration to Number.MIN_VALUE - 1 | PASS | FAIL | PASS | FAIL |
Set duration to Number.POSITIVE_INFINITY | PASS | PASS | PASS | PASS |
Set duration to Number.NEGATIVE_INFINITY | PASS | FAIL | PASS | FAIL |
Set duration to lowest value. | PASS | FAIL | PASS | FAIL |
Set duration to a negative double. | PASS | FAIL | PASS | FAIL |
Set duration to a positive double. | PASS | PASS | PASS | PASS |
Set duration to zero | PASS | PASS | PASS | TIMEOUT |
Set duration to NaN | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-duration.html | OK | TIMEOUT | OK | OK |
Test seek starts on duration truncation below currentTime | PASS | FAIL | PASS | FAIL |
Test appendBuffer completes previous seek to truncated duration | PASS | FAIL | PASS | FAIL |
Test endOfStream completes previous seek to truncated duration | PASS | FAIL | PASS | FAIL |
Test setting same duration multiple times does not fire duplicate durationchange | PASS | FAIL | PASS | FAIL |
Test setting the duration to less than the highest starting presentation timestamp will throw | PASS | FAIL | PASS | FAIL |
Truncating the duration throws an InvalidStateError exception when new duration is less than the highest buffered range start time of one of the track buffers | PASS | FAIL | PASS | FAIL |
Truncating the duration throws an InvalidStateError exception when new duration is less than a buffered coded frame presentation time | PASS | FAIL | PASS | FAIL |
Increasing the duration does not trigger any SourceBuffer update | PASS | PASS | PASS | PASS |
Increasing the duration during media playback does not trigger any SourceBuffer update | PASS | PASS | PASS | PASS |
/media-source/mediasource-endofstream-invaliderror.html | OK | TIMEOUT | OK | OK |
Test MediaSource.endOfStream() with invalid non-empty error string. | PASS | FAIL | PASS | PASS |
Test MediaSource.endOfStream() with invalid empty error string. | PASS | FAIL | PASS | PASS |
Test MediaSource.endOfStream() with invalid null error parameter. | PASS | FAIL | PASS | PASS |
/media-source/mediasource-endofstream.html | OK | TIMEOUT | TIMEOUT | TIMEOUT |
MediaSource.endOfStream(): duration truncated to 0 when there are no buffered coded frames | FAIL | FAIL | PASS | PASS |
MediaSource.endOfStream(): duration and buffered range end time before and after endOfStream | PASS | FAIL | PASS | PASS |
/media-source/mediasource-errors.html | OK | TIMEOUT | OK | OK |
Appending media segment before the first initialization segment. | PASS | TIMEOUT | FAIL | FAIL |
Signaling 'decode' error via endOfStream() before initialization segment has been appended. | PASS | TIMEOUT | FAIL | PASS |
Signaling 'network' error via endOfStream() before initialization segment has been appended. | PASS | TIMEOUT | FAIL | PASS |
Signaling 'decode' error via endOfStream() after initialization segment has been appended and the HTMLMediaElement has reached HAVE_METADATA. | PASS | PASS | FAIL | FAIL |
Signaling 'network' error via endOfStream() after initialization segment has been appended and the HTMLMediaElement has reached HAVE_METADATA. | PASS | PASS | FAIL | FAIL |
Signaling 'decode' error via segment parser loop algorithm after initialization segment and partial media segment has been appended. | PASS | FAIL | FAIL | FAIL |
/media-source/mediasource-getvideoplaybackquality.html | OK | OK | OK | OK |
/media-source/mediasource-is-type-supported.html | OK | OK | OK | OK |
Test invalid MIME format "video" | PASS | PASS | PASS | PASS |
Test invalid MIME format "video/" | PASS | PASS | PASS | PASS |
Test invalid MIME format "video/webm" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;codecs" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;codecs=" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;codecs="" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;codecs=""" | PASS | PASS | FAIL | PASS |
Test invalid MIME format "video/webm;codecs=","" | PASS | PASS | PASS | PASS |
Test invalid MIME format "" | PASS | PASS | PASS | PASS |
Test invalid MIME format "null" | PASS | PASS | PASS | PASS |
Test invalid MSE MIME media type "xxx" | PASS | PASS | PASS | PASS |
Test invalid MSE MIME media type "text/html" | PASS | PASS | PASS | PASS |
Test invalid MSE MIME media type "image/jpeg" | PASS | PASS | PASS | PASS |
Test invalid mismatch between major type and codec ID "audio/webm;codecs="vp8"" | PASS | PASS | PASS | PASS |
Test invalid mismatch between major type and codec ID "audio/mp4;codecs="avc1.4d001e"" | PASS | FAIL | PASS | FAIL |
Test invalid mismatch between minor type and codec ID "audio/mp4;codecs="vorbis"" | PASS | PASS | PASS | PASS |
Test invalid mismatch between minor type and codec ID "audio/webm;codecs="mp4a.40.2"" | PASS | PASS | PASS | PASS |
Test invalid mismatch between minor type and codec ID "video/mp4;codecs="vp8"" | PASS | PASS | PASS | PASS |
Test invalid mismatch between minor type and codec ID "video/webm;codecs="mp4a.40.2"" | PASS | PASS | PASS | PASS |
Test invalid mismatch between minor type and codec ID "video/mp4;codecs="vorbis"" | PASS | PASS | PASS | PASS |
Test invalid codec ID "audio/mp4;codecs="mp4a"" | PASS | FAIL | PASS | PASS |
Test invalid codec ID "audio/mp4;codecs="mp4a.40"" | PASS | FAIL | PASS | FAIL |
Test invalid codec ID "audio/mp4;codecs="mp4a.40."" | PASS | FAIL | PASS | FAIL |
Test invalid codec ID "audio/mp4;codecs="mp4a.67.3"" | PASS | FAIL | PASS | PASS |
Test valid WebM type "video/webm;codecs="vp8"" | PASS | FAIL | PASS | FAIL |
Test valid WebM type "video/webm;codecs="vorbis"" | PASS | FAIL | PASS | FAIL |
Test valid WebM type "video/webm;codecs="vp8,vorbis"" | PASS | FAIL | PASS | FAIL |
Test valid WebM type "video/webm;codecs="vorbis, vp8"" | PASS | FAIL | PASS | FAIL |
Test valid WebM type "audio/webm;codecs="vorbis"" | PASS | FAIL | PASS | FAIL |
Test valid WebM type "AUDIO/WEBM;CODECS="vorbis"" | PASS | FAIL | PASS | FAIL |
Test valid MP4 type "video/mp4;codecs="avc1.4d001e"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "video/mp4;codecs="avc1.42001e"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "audio/mp4;codecs="mp4a.40.2"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "audio/mp4;codecs="mp4a.40.5"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "audio/mp4;codecs="mp4a.67"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "video/mp4;codecs="mp4a.40.2"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "video/mp4;codecs="avc1.4d001e,mp4a.40.2"" | PASS | PASS | PASS | PASS |
Test valid MP4 type "video/mp4;codecs="mp4a.40.2 , avc1.4d001e "" | PASS | PASS | PASS | PASS |
Test valid MP4 type "video/mp4;codecs="avc1.4d001e,mp4a.40.5"" | PASS | PASS | PASS | PASS |
/media-source/mediasource-liveseekable.html | OK | TIMEOUT | OK | OK |
setLiveSeekableRange throws an InvalidStateError exception if the readyState attribute is not 'open' | PASS | FAIL | PASS | FAIL |
clearLiveSeekableRange throws an InvalidStateError exception if the readyState attribute is not 'open' | PASS | FAIL | PASS | FAIL |
setLiveSeekableRange does not restrict to not currently updating | PASS | FAIL | PASS | FAIL |
clearLiveSeekableRange does not restrict to not currently updating | PASS | FAIL | PASS | FAIL |
setLiveSeekableRange throws a TypeError if start is negative | PASS | PASS | PASS | PASS |
setLiveSeekableRange throws a TypeError if start is greater than end | PASS | PASS | PASS | PASS |
setLiveSeekableRange returns with no error when conditions are correct | PASS | FAIL | PASS | FAIL |
clearLiveSeekableRange returns with no error when conditions are correct | PASS | FAIL | PASS | FAIL |
HTMLMediaElement.seekable returns the live seekable range or an empty range if that range was cleared when nothing is buffered | PASS | FAIL | PASS | FAIL |
HTMLMediaElement.seekable returns the union of the buffered range and the live seekable range, when set | PASS | FAIL | FAIL | FAIL |
/media-source/mediasource-multiple-attach.html | OK | TIMEOUT | OK | OK |
Test exactly one succeeds when two MediaElements attach to same MediaSource | PASS | PASS | PASS | PASS |
Test that MediaSource can reattach if closed first | PASS | PASS | PASS | PASS |
/media-source/mediasource-play-then-seek-back.html | OK | OK | OK | OK |
Test playing then seeking back. | PASS | PASS | PASS | PASS |
/media-source/mediasource-play.html | OK | OK | OK | OK |
Test normal playback case with MediaSource API | PASS | PASS | PASS | FAIL |
/media-source/mediasource-preload.html | OK | TIMEOUT | OK | OK |
sourceopen occurs with element preload=auto | PASS | PASS | PASS | PASS |
sourceopen occurs with element preload=metadata | PASS | PASS | PASS | PASS |
sourceopen occurs with element preload=none | PASS | PASS | PASS | PASS |
error occurs with bogus blob URL (revoked MediaSource object URL) and element preload=auto | PASS | PASS | PASS | PASS |
error occurs with bogus blob URL (revoked MediaSource object URL) and element preload=metadata | PASS | PASS | PASS | PASS |
error occurs with bogus blob URL (corrupted MediaSource object URL) and element preload=auto | PASS | PASS | PASS | PASS |
error occurs with bogus blob URL (corrupted MediaSource object URL) and element preload=metadata | PASS | PASS | PASS | PASS |
/media-source/mediasource-remove.html | OK | TIMEOUT | OK | OK |
Test remove with an negative start. | PASS | FAIL | PASS | FAIL |
Test remove with non-finite start. | PASS | FAIL | PASS | FAIL |
Test remove with a start beyond the duration. | PASS | FAIL | PASS | FAIL |
Test remove with a start larger than the end. | PASS | FAIL | PASS | FAIL |
Test remove with a NEGATIVE_INFINITY end. | PASS | FAIL | PASS | FAIL |
Test remove with a NaN end. | PASS | FAIL | PASS | FAIL |
Test remove after SourceBuffer removed from mediaSource. | PASS | FAIL | PASS | PASS |
Test remove with a NaN duration. | PASS | FAIL | PASS | FAIL |
Test remove while update pending. | PASS | FAIL | PASS | PASS |
Test aborting a remove operation. | PASS | FAIL | PASS | FAIL |
Test remove with a start at the duration. | PASS | PASS | PASS | PASS |
Test remove transitioning readyState from 'ended' to 'open'. | PASS | PASS | PASS | PASS |
Test removing all appended data. | PASS | FAIL | PASS | FAIL |
Test removing beginning of appended data. | PASS | FAIL | FAIL | FAIL |
Test removing the middle of appended data. | PASS | FAIL | FAIL | FAIL |
Test removing the end of appended data. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-removesourcebuffer.html | OK | TIMEOUT | OK | TIMEOUT |
Test addSourceBuffer(), removeSourceBuffer(), addSourceBuffer() sequence. | PASS | FAIL | PASS | PASS |
Test removeSourceBuffer() with null | PASS | FAIL | PASS | PASS |
Test calling removeSourceBuffer() twice with the same object. | PASS | FAIL | PASS | PASS |
Test calling removeSourceBuffer() for a sourceBuffer belonging to a different mediaSource instance. | PASS | FAIL | PASS | PASS |
Test calling removeSourceBuffer() in ended state. | PASS | FAIL | PASS | PASS |
Test removesourcebuffer event on activeSourceBuffers. | PASS | PASS | PASS | FAIL |
Test abort event when removeSourceBuffer() called while SourceBuffer is updating | PASS | FAIL | PASS | PASS |
/media-source/mediasource-seek-beyond-duration.html | OK | TIMEOUT | OK | OK |
Test seeking beyond updated media duration. | PASS | TIMEOUT | PASS | FAIL |
Test seeking beyond media duration. | PASS | TIMEOUT | PASS | FAIL |
/media-source/mediasource-seek-during-pending-seek.html | OK | TIMEOUT | TIMEOUT | OK |
Test seeking to a new location before transitioning beyond HAVE_METADATA. | PASS | FAIL | PASS | FAIL |
Test seeking to a new location during a pending seek. | PASS | TIMEOUT | TIMEOUT | FAIL |
/media-source/mediasource-seekable.html | OK | TIMEOUT | OK | OK |
Get seekable time ranges when the sourcebuffer is empty. | PASS | PASS | PASS | FAIL |
Get seekable time ranges after init segment received. | PASS | PASS | PASS | FAIL |
Get seekable time ranges on an infinite stream. | PASS | FAIL | PASS | FAIL |
/media-source/mediasource-sequencemode-append-buffer.html | OK | TIMEOUT | OK | OK |
Test sequence AppendMode appendBuffer(first media segment) | PASS | FAIL | PASS | FAIL |
Test sequence AppendMode appendBuffer(second media segment) | FAIL | FAIL | FAIL | FAIL |
Test sequence AppendMode appendBuffer(second media segment, then first media segment) | FAIL | FAIL | FAIL | FAIL |
/media-source/mediasource-sourcebuffer-mode-timestamps.html | OK | TIMEOUT | OK | OK |
audio/aac : If generate timestamps flag equals true and new mode equals "segments", then throw a TypeError exception and abort these steps. | FAIL | FAIL | FAIL | FAIL |
audio/mpeg : If generate timestamps flag equals true and new mode equals "segments", then throw a TypeError exception and abort these steps. | FAIL | FAIL | FAIL | FAIL |
/media-source/mediasource-sourcebuffer-mode.html | OK | TIMEOUT | OK | OK |
Test initial value of SourceBuffer.mode is "segments" | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.mode | PASS | PASS | PASS | PASS |
Test setting a removed SourceBuffer's mode | PASS | FAIL | PASS | PASS |
Test setting SourceBuffer.mode while still updating | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.mode triggers parent MediaSource 'ended' to 'open' transition. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.mode and SourceBuffer.timestampOffset while parsing media segment. | PASS | PASS | PASS | FAIL |
/media-source/mediasource-sourcebuffer-trackdefaults.html | OK | TIMEOUT | OK | OK |
/media-source/mediasource-sourcebufferlist.html | OK | TIMEOUT | OK | OK |
Test SourceBufferList getter method | PASS | PASS | PASS | PASS |
Test SourceBufferList event dispatching. | PASS | FAIL | PASS | PASS |
Test that only 1 removesourcebuffer event fires on each SourceBufferList when the MediaSource closes. | PASS | PASS | PASS | PASS |
/media-source/mediasource-timestamp-offset.html | OK | TIMEOUT | OK | OK |
Test setting SourceBuffer.timestampOffset to a positive number. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to a negative number. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to zero. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to positive infinity. | PASS | FAIL | PASS | FAIL |
Test setting SourceBuffer.timestampOffset to negative infinity. | PASS | FAIL | PASS | FAIL |
Test setting SourceBuffer.timestampOffset to NaN. | PASS | FAIL | PASS | FAIL |
Test setting SourceBuffer.timestampOffset to undefined. | PASS | FAIL | PASS | FAIL |
Test setting SourceBuffer.timestampOffset to null. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to false. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to true. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to a number string. | PASS | PASS | PASS | PASS |
Test setting SourceBuffer.timestampOffset to an empty string. | PASS | PASS | PASS | PASS |
Test setting timestampOffset in 'ended' state causes a transition to 'open'. | PASS | PASS | PASS | PASS |
Test getting the initial value of timestampOffset. | PASS | PASS | PASS | PASS |
Test setting timestampoffset after removing the sourcebuffer. | PASS | FAIL | PASS | PASS |
/media-source/SourceBuffer-abort-readyState.html | OK | OK | OK | OK |
SourceBuffer#abort() (video/webm; codecs="vorbis,vp8") : If the readyState attribute of the parent media source is not in the "open" state then throw an INVALID_STATE_ERR exception and abort these steps. | PASS | FAIL | PASS | FAIL |
SourceBuffer#abort() (video/mp4) : If the readyState attribute of the parent media source is not in the "open" state then throw an INVALID_STATE_ERR exception and abort these steps. | FAIL | PASS | PASS | PASS |
/media-source/mediasource-appendbuffer-quota-exceeded.html | OK | OK | OK | TIMEOUT |
Appending data repeatedly should fill up the buffer and throw a QuotaExceededError when buffer is full. | PASS | PASS | FAIL | - |
/media-source/mediasource-redundant-seek.html | OK | OK | OK | OK |
Test redundant fully prebuffered seek | PASS | FAIL | PASS | PASS |