19 Jul 2010 08:53
Behaviour when active interval becomes invalid
Brian Birtles <birtles <at> gmail.com>
2010-07-19 06:53:01 GMT
2010-07-19 06:53:01 GMT
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)
RSS Feed