The working group maintains a list of all bug reports that the editors have not yet tried to address; there may also be related open bugs in the GitHub repository of the [[[MEDIA-SOURCE]]] specification.
This specification describes a byte stream format based on the WebM container format [[WEBM]].
It defines the MIME-type parameters used to signal codecs, and provides the necessary format specific definitions for [=initialization segments=], [=media segments=], and [=random access points=] required by the Byte Stream Formats section of the [[[MEDIA-SOURCE]]] specification.
This section specifies the parameters that can be used in the MIME-type passed to {{MediaSource/isTypeSupported()}} or {{MediaSource/addSourceBuffer()}}.
Codec ID | Valid with "audio/webm" | Valid with "video/webm" |
---|---|---|
vorbis | true | true |
opus | true | true |
vp8 | false | true |
vp9 | false | true |
vp09... as described in the VP Codec ISO Media File Format Binding document [[VP09CODECSPARAMETERSTRING]] | false | true |
Examples of valid MIME-types with a codecs parameter.
A WebM [=initialization segment=] MUST contain a subset of the elements at the start of a typical WebM file.
The user agent MUST run the [=append error=] algorithm if any of the following conditions are not met:
The user agent MUST accept and ignore any elements other than an EBML Header or a Cluster that occur before, in between, or after the Segment Information and Track elements.
The user agent MUST source attribute values for `id`, `kind`, `label` and `language` for {{AudioTrack}}, {{VideoTrack}} and {{TextTrack}} objects as described for WebM in the in-band tracks spec [[INBANDTRACKS]].
A WebM [=media segment=] is a single Cluster element.
The user agent uses the following rules when interpreting content in a Cluster:
The user agent MUST run the [=append error=] algorithm if any of the following conditions are not met:
The user agent MUST accept and ignore Cues or Chapters elements that follow a Cluster element.
Either a SimpleBlock element with its Keyframe flag set, or a BlockGroup element having no ReferenceBlock elements, signals the location of a [=random access point=] for that track. The order of multiplexed blocks within a [=media segment=] MUST conform to the WebM Muxer Guidelines.