diff --git a/index.html b/index.html new file mode 100644 index 0000000..fb3072b --- /dev/null +++ b/index.html @@ -0,0 +1,639 @@ +
+ + + + + + + ++ Copyright + © + 2024 + + World Wide Web Consortium. + W3C® + liability, + trademark and + permissive document license rules apply. +
+This section describes the status of this + document at the time of its publication. A list of current W3C + publications and the latest revision of this technical report can be found + in the W3C technical reports index at + https://www.w3.org/TR/.
+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 Extensions™ specification.
++ This document was published by the Media Working Group as + an Editor's Draft. +
Publication as an Editor's Draft does not + imply endorsement by W3C and its Members.
+ This is a draft document and may be updated, replaced or obsoleted by other + documents at any time. It is inappropriate to cite this document as other + than work in progress. + +
+ + This document was produced by a group + operating under the + W3C Patent + Policy. + + + W3C maintains a + public list of any patent disclosures + made in connection with the deliverables of + the group; that page also includes + instructions for disclosing a patent. An individual who has actual + knowledge of a patent which the individual believes contains + Essential Claim(s) + must disclose the information in accordance with + section 6 of the W3C Patent Policy. + +
+ This document is governed by the + 03 November 2023 W3C Process Document. +
This specification defines segment formats for implementations of Media Source Extensions™ [MEDIA-SOURCE] that choose to support MPEG-2 Transport Streams [MPEG2TS].
+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 Extensions™ specification. This document also defines extra behaviors and state that only apply to this byte stream format.
+The MIME-type/subtype pair of "video/MP2T", as specified in [RFC3551], MUST be used for byte streams that conform + to this specification.
+ +The following parameter can be used in the MIME-type passed to isTypeSupported
()
or addSourceBuffer
()
.
MPEG-2 TS media segments and initialization segments MUST conform to the MPEG-2 TS Adaptive Profile [MPEG2TS].
+ +The user agent MUST run the append error algorithm if any of the following conditions are met:
+An MPEG-2 TS initialization segment consists of a single PAT and a single PMT.
+The user agent MUST run the append error algorithm if any of the following conditions are met:
+The user agent MUST accept and ignore other SI, such as CAT, that are invariant for all subsequent media segments.
+The user agent MUST source attribute values for id
, kind
, label
and language
for AudioTrack
, VideoTrack
and
+ TextTrack
objects as described for MPEG-2 Transport Streams in the in-band tracks spec [INBANDTRACKS].
The user agent MUST run the append error algorithm if any of the following conditions are met:
+A random access point as defined in this specification corresponds to Elementary Stream Random Access Point as defined in + [MPEG2TS].
+Timestamp rollovers and discontinuities MUST be handled by the UA. The UA's MPEG-2 TS implementation MUST maintain an internal offset + variable, MPEG2TS_timestampOffset, to keep track of the offset that needs to be applied to timestamps + that have rolled over or are part of a discontinuity. MPEG2TS_timestampOffset is initially set to 0 when the SourceBuffer is + created. This offset MUST be applied to the timestamps as part of the conversion process from MPEG-2 TS packets + into coded frames for the coded frame processing algorithm. This results in the coded frame timestamps + for a packet being computed by the following equations:
+Coded Frame Presentation Timestamp = (MPEG-2 TS presentation timestamp) + MPEG2TS_timestampOffset
+Coded Frame Decode Timestamp = (MPEG-2 TS decode timestamp) + MPEG2TS_timestampOffset
+
+ MPEG2TS_timestampOffset is updated in the following ways:
+abort
()
is called, MPEG2TS_timestampOffset MUST be set to 0.timestampOffset
is successfully set, MPEG2TS_timestampOffset MUST be set to 0.As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
+ The key words MAY, MUST, and SHOULD in this document + are to be interpreted as described in + BCP 14 + [RFC2119] [RFC8174] + when, and only when, they appear in all capitals, as shown here. +