This section defines constraints on the processing of the TTML documents carried over RTP.
If a TTML document is assessed to be invalid, then it
MUST be discarded. This includes empty documents, i.e., those of zero length. When processing a valid document, the following requirements apply.
Each TTML document becomes active at its epoch E. E
MUST be set to the RTP Timestamp in the header of the RTP packet carrying the TTML document. Computed TTML media times are offset relative to E, in accordance with Section I.2 of [
TTML2].
When processing a sequence of TTML documents, where each is delivered in the same RTP stream, exactly zero or one document
SHALL be considered active at each moment in the RTP time line. In the event that a document D
n-1 with E
n-1 is active, and document D
n is delivered with E
n where E
n-1 < E
n, processing of D
n-1 MUST be stopped at E
n and processing of D
n MUST begin.
When all defined content within a document has ended, then processing of the document
MAY be stopped. This can be tested by constructing the intermediate synchronic document sequence from the document, as defined by [
TTML2]. If the last intermediate synchronic document in the sequence is both active and contains no region elements, then all defined content within the document has ended.
As described above, the RTP Timestamp does not specify the exact timing of the media in this payload format. Additionally, documents may be fragmented across multiple packets. This renders the RTCP jitter calculation unusable.
This specification defines the following TTML feature extension designation:
-
urn:ietf:rfc:8759#rtp-relative-media-time
The namespace
urn:ietf:rfc:8759 is as defined by [
RFC 2648].
A TTML content processor supports the
#rtp-relative-media-time feature extension if it processes media times in accordance with the payload processing requirements specified in this document, i.e., that the epoch E is set to the time equivalent to the RTP Timestamp, as detailed above in
Section 6.
The required syntax and semantics declared in the minimal TTML2 processor profile in
Figure 3 MUST be supported by the receiver, as signified by those
feature or
extension elements whose
value attribute is set to
required.
<?xml version="1.0" encoding="UTF-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tt="http://www.w3.org/ns/ttml"
type="processor"
designator="urn:ietf:rfc:8759#processor"
combine="mostRestrictive">
<features xml:base="http://www.w3.org/ns/ttml/feature/">
<tt:metadata>
<ttm:desc>
This document is a minimal TTML2 processor profile
definition document intended to express the
minimal requirements of a TTML processor able to
process TTML delivered over RTP according to
RFC 8759.
</ttm:desc>
</tt:metadata>
<feature value="required">#timeBase-media</feature>
<feature value="optional">
#profile-full-version-2
</feature>
</features>
<extensions xml:base="urn:ietf:rfc:8759">
<extension restricts="#timeBase-media" value="required">
#rtp-relative-media-time
</extension>
</extensions>
</profile>
Note that this requirement does not imply that the receiver needs to support either TTML1 or TTML2 profile processing, i.e., the TTML2
#profile-full-version-2 feature or any of its dependent features.
The
codecs media type parameter
MUST specify at least one processor profile. Short codes for TTML profiles are registered at [
TTML-MTPR]. The processor profiles specified in
codecs MUST be compatible with the processor profile specified in this document. Where multiple options exist in
codecs for possible processor profile combinations (i.e., separated by
| operator), every permitted option
MUST be compatible with the processor profile specified in this document. Where processor profiles (other than the one specified in this document) are advertised in the
codecs parameter, the requirements of the processor profile specified in this document
MAY be signalled, additionally using the
+ operator with its registered short code.
A processor profile (X) is compatible with the processor profile specified here (P) if X includes all the features and extensions in P (identified by their character content) and the
value attribute of each is, at least, as restrictive as the
value attribute of the feature or extension in P that has the same character content. The term "restrictive" here is as defined in Section 6 of [
TTML2].