Brian Birtles | 19 Jul 2010 08:53
Picon
Gravatar

Behaviour when active interval becomes invalid

Dear all,

I am writing to seek clarification about the correct behaviour of an
implementation of SMIL for an active interval than becomes invalid.

SMIL 3.0 gives "Principles for building and pruning intervals" under
section 5.4.5, 'Evaluation of begin and end lists'
(http://www.w3.org/TR/SMIL/smil-timing.html#q89)

This section provides some clear rules including the following:
"2. Do not change any interval time that is in the past. Do not prune
an interval that has already begun. Note that this refers to intervals
and not instance times.
"3. When building an interval from a set of instance times, if the
duration is resolved and negative, reject the interval; do not
propagate the interval to time dependents.
  A. When the current interval has not yet begun, if the interval
times change such that the duration is negative, prune the interval."

However, whilst the behaviour for an interval that has not yet begun
is clearly specified, the only rule provided for an interval that HAS
already begun is simply: do not prune.

Consider the following example. At t=4s, an interval with begin=3s,
end=5s is playing. Then some chain of syncbase dependencies is fired
causing the end time to be updated to 2s. We now have an active
interval from 3s to 2s which is invalid since it is negative. What
should be the behaviour in this case?

We can't prune the interval. But can we say the interval is trimmed?
(Continue reading)


Gmane