-
Notifications
You must be signed in to change notification settings - Fork 16
Time
Understanding time is key to making TTML work. It's become clear that not everyone shares the same understanding, which is an opportunity to improve the specification. Here are some areas that could be clarified:
Goal: to make it unambiguous at what moment along the document instance's timeline every element begins and ends. This includes making sure that all time expressions have a clear meaning.
Known issues:
- #165 Use of fractional seconds in clock-time expression in smpte mode,
- #161 No restriction on time expression for smpte discontinuous mode,
- #160 Use of offset-time expression in smpte mode,
- #158 Clock-time form time expressions allow 60 seconds for media timebase,
- #135 Clarify timing concepts in relation to SMIL,
- #105 Prefer end to dur on generated out-of-line regions,
- #96 Specify date as well as hours, minutes and seconds in time expressions
On top of this, some things that we're aware of that don't currently have issues:
In §8.1.1 tt
element the spec includes:
The Root Temporal Extent, i.e., the time interval over which a Document Instance is active, has an implicit duration that is equal to the implicit duration of the body element of the document, if the body element is present, or zero, if the body element is absent.
This is possibly incorrect - if the ISD generation puts region
above body
in the hierarchy and a particular region has times then in that case the region's times would apply rather than the body's times.
In §2.2 definition of Root Temporal Extent term:
The temporal extent (interval) defined by the temporal beginning and ending of a document instance in relationship with some external application or presentation context.
This could be considered a circular definition relative to, for example, this text in §8.1.3 body:
If the begin point of this interval remains unspecified, then the begin point is interpreted as the beginning point of the root temporal extent. Similarly, if the end point of this interval remains unspecified, then the end point is interpreted as the ending point of the root temporal extent.
Includes: Interpretation of sequences of documents (possibly wrapped in other formats)
Goal: to specify just enough to allow implementers to relate the document instance's timeline to some other applicable timeline.
Goal: to make at least a recommendation for how documents in a sequence that are intended to be on the same timeline should treat their time expressions, and what additional offsets any wrapper format should specify.
Known issues:
- #164 Default Play Rate,
- #125 Add ttm:mediaTimestamp (or equivalent) attribute.,
- #122 Add identifier support for related ordered sequences of documents,
- #136 Clarify the application specific usages of clockMode="local",
- #109 In order to handle offsets between start time in TTML docs and start time in video, allow negative times to be used in fragment begin times.,
- #76 Appendix N assumption that root temporal extent corresponds with the beginning of a related media object
Goal: to allow implementers clearly to be able to understand the rules for calculating and resolving the begin and end time of any given element.
Known issues:
- none, but...
... Previously the question has been raised about how to deal with an example like:
<body dur="6s">
<div end="10s">
...
</div>
</body>
What is the begin time of any element here? Generalising, it would be useful to enumerate the correct calculation of begin and end times for all permutations of each of begin
, end
and dur
being specified or unspecified on an element, specified or unspecified on an ancestor, or specified or unspecified on a descendant.
Since reading SMIL is hard, and understanding it may be even harder, at least a non-normative summary of the correct interpretation would be extremely useful. Here's Nigel's attempt at explaining it.
See also #76 comment Aug 17 by Glenn for details of one algorithmic approach.