Skip to content
Nigel Megitt edited this page Sep 23, 2016 · 7 revisions

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:

Time Expressions

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:

On top of this, some things that we're aware of that don't currently have issues:

Implicit duration of root temporal extent.

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.

Circular definitions

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.

Relationship between document timeline and other timelines

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:

Computing times from time expressions

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.