media-source

edit

WPT coverage of the tests of media-source at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable7684090%
Tentative0300%
Reftests000–
All7687087%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • TEST BUG: 6
  • NOT IMPLEMENTED: 3
  • REQUIRES: 2
    • media: 2

Stable tests

TestResultSubtestsKindDescription
SourceBuffer-abort-readyState.htmlFail1 / 2TEST BUGthe video/mp4 subtest requires MediaSource.isTypeSupported('video/mp4') (a type without codecs) to be true, while mediasource-is-type-supported.html requires it to be false for video/webm: as in Chromium (which fails these subtests too), a type that allows the codecs parameter is only supported with its codecs
SourceBuffer-abort-removed.htmlFail1 / 2TEST BUGthe video/mp4 subtest requires MediaSource.isTypeSupported('video/mp4') (a type without codecs) to be true, while mediasource-is-type-supported.html requires it to be false for video/webm: as in Chromium (which fails these subtests too), a type that allows the codecs parameter is only supported with its codecs
SourceBuffer-abort-updating.htmlFail1 / 2TEST BUGthe video/mp4 subtest requires MediaSource.isTypeSupported('video/mp4') (a type without codecs) to be true, while mediasource-is-type-supported.html requires it to be false for video/webm: as in Chromium (which fails these subtests too), a type that allows the codecs parameter is only supported with its codecs
SourceBuffer-abort.htmlFail1 / 2TEST BUGthe video/mp4 subtest requires MediaSource.isTypeSupported('video/mp4') (a type without codecs) to be true, while mediasource-is-type-supported.html requires it to be false for video/webm: as in Chromium (which fails these subtests too), a type that allows the codecs parameter is only supported with its codecs
SourceBuffer-appendWindowEnd-rounding.htmlPass3 / 3
SourceBuffer-short-frame-endOfStream.htmlPass2 / 2
URL-createObjectURL-null.htmlPass1 / 1
URL-createObjectURL-revoke.htmlPass3 / 3
URL-createObjectURL.htmlPass1 / 1
dedicated-worker/mediasource-worker-detach-element.htmlPass15 / 15
dedicated-worker/mediasource-worker-duration.htmlPass1 / 1
dedicated-worker/mediasource-worker-handle-transfer-to-shared-and-service-workers.https.htmlPass4 / 4
dedicated-worker/mediasource-worker-handle-transfer.htmlPass9 / 9
dedicated-worker/mediasource-worker-handle.htmlPass9 / 9
dedicated-worker/mediasource-worker-objecturl.htmlPass5 / 5
dedicated-worker/mediasource-worker-play-terminate-worker.htmlPass30 / 30
dedicated-worker/mediasource-worker-play.htmlPass1 / 1
idlharness.any.jsPass243 / 243
invalid-third-block.htmlPass1 / 1
last-frame-dimensions.htmlPass2 / 2
mediasource-activesourcebuffers.htmlPass8 / 8
mediasource-addsourcebuffer-mode.htmlPass2 / 2
mediasource-addsourcebuffer.htmlPass10 / 10
mediasource-append-buffer.htmlFail23 / 24TEST BUGTest appendBuffer events order. expects the loadeddata event before the updateend event of the append of the media segment: as in the browsers (Chromium, Firefox and Safari fail the same assertion), the ready state of the media element rises asynchronously, after the events of the append
mediasource-appendbuffer-quota-exceeded.htmlPass1 / 1
mediasource-appendbuffer-sharedarraybuffer.window.jsPass2 / 2
mediasource-appendwindow.htmlPass7 / 7
mediasource-attach-stops-delaying-load-event.htmlPass1 / 1
mediasource-avtracks.htmlPass4 / 4
mediasource-buffered-seek.htmlPass1 / 1
mediasource-buffered.htmlPass8 / 8
mediasource-changetype-play-implicit.htmlPass16 / 16
mediasource-changetype-play-negative.htmlPass49 / 49
mediasource-changetype-play-without-codecs-parameter.htmlPass19 / 19
mediasource-changetype-play.htmlPass19 / 19
mediasource-changetype.htmlPass8 / 8
mediasource-closed.htmlPass10 / 10
mediasource-config-change-mp4-a-bitrate.htmlPass1 / 1
mediasource-config-change-mp4-av-audio-bitrate.htmlPass1 / 1
mediasource-config-change-mp4-av-framesize.htmlPass1 / 1
mediasource-config-change-mp4-av-video-bitrate.htmlPass1 / 1
mediasource-config-change-mp4-v-bitrate.htmlPass1 / 1
mediasource-config-change-mp4-v-framerate.htmlPass1 / 1
mediasource-config-change-mp4-v-framesize.htmlPass1 / 1
mediasource-config-change-webm-a-bitrate.htmlPass1 / 1
mediasource-config-change-webm-av-audio-bitrate.htmlPass1 / 1
mediasource-config-change-webm-av-framesize.htmlPass1 / 1
mediasource-config-change-webm-av-video-bitrate.htmlPass1 / 1
mediasource-config-change-webm-v-bitrate.htmlPass1 / 1
mediasource-config-change-webm-v-framerate.htmlPass1 / 1
mediasource-config-change-webm-v-framesize.htmlPass1 / 1
mediasource-correct-frames-after-reappend.htmlError0 / 1REQUIRES(media)the tests draw the frames of the video on a canvas and read the color of their pixels to identify the frame that is played: the media backend of the tests decodes nothing (its frames are black)
mediasource-correct-frames.htmlError0 / 1REQUIRES(media)the tests draw the frames of the video on a canvas and read the color of their pixels to identify the frame that is played: the media backend of the tests decodes nothing (its frames are black)
mediasource-detach.htmlPass2 / 2
mediasource-duration-boundaryconditions.htmlPass13 / 13
mediasource-duration.htmlPass9 / 9
mediasource-endofstream-invaliderror.htmlPass6 / 6
mediasource-endofstream.htmlPass3 / 3
mediasource-errors.htmlPass7 / 7
mediasource-getvideoplaybackquality.htmlPass1 / 1
mediasource-h264-play-starved.htmlPass1 / 1
mediasource-iamf-playback.htmlPass1 / 1
mediasource-invalid-codec.htmlPass2 / 2
mediasource-is-type-supported.htmlPass55 / 55
mediasource-liveseekable.htmlPass10 / 10
mediasource-multiple-attach.htmlPass3 / 3
mediasource-play-then-seek-back.htmlPass1 / 1
mediasource-play.htmlPass1 / 1
mediasource-preload.htmlTimeout7 / 9TEST BUGthe two preload=none subtests with a blob: URL that references no media source (revoked or corrupted) expect an error event: the URL is then fetched as any resource, and preload=none defers the fetch as specified, so no event is fired (Firefox and Safari time out too; Chromium resolves the URL at once)
mediasource-redundant-seek.htmlPass1 / 1
mediasource-remove-preserves-currentTime.htmlPass1 / 1
mediasource-remove.htmlPass17 / 17
mediasource-removesourcebuffer.htmlPass7 / 7
mediasource-replay.htmlPass1 / 1
mediasource-seek-beyond-duration.htmlPass2 / 2
mediasource-seek-during-pending-seek.htmlPass2 / 2
mediasource-seek-unbuffered-readystate.htmlPass3 / 3
mediasource-seekable.htmlPass3 / 3
mediasource-sequencemode-append-buffer.htmlPass3 / 3
mediasource-sourcebuffer-mode-timestamps.htmlPass2 / 2
mediasource-sourcebuffer-mode.htmlPass6 / 6
mediasource-sourcebufferlist.htmlPass5 / 5
mediasource-timestamp-offset.htmlPass15 / 15
waiting-for-audio.htmlPass1 / 1

Tentative tests

TestResultSubtestsKindDescription
mse-for-webcodecs/tentative/mediasource-encrypted-webcodecs-appendencodedchunks-play.https.htmlError0 / 0NOT IMPLEMENTEDWebCodecs (SourceBuffer.appendEncodedChunks(), addSourceBuffer() with a decoder configuration, EncodedVideoChunk): the tentative MSE for WebCodecs extension
mse-for-webcodecs/tentative/mediasource-webcodecs-addsourcebuffer.htmlError0 / 0NOT IMPLEMENTEDWebCodecs (SourceBuffer.appendEncodedChunks(), addSourceBuffer() with a decoder configuration, EncodedVideoChunk): the tentative MSE for WebCodecs extension
mse-for-webcodecs/tentative/mediasource-webcodecs-appendencodedchunks-play.htmlError0 / 0NOT IMPLEMENTEDWebCodecs (SourceBuffer.appendEncodedChunks(), addSourceBuffer() with a decoder configuration, EncodedVideoChunk): the tentative MSE for WebCodecs extension