- From: Jack Jansen <Jack.Jansen@cwi.nl>
- Date: Thu, 22 Jan 2009 12:46:35 +0100
- To: SYMM Group <symm@w3.org>
- Cc: Brian Birtles <birtles@gmail.com>, SMIL List <www-smil@w3.org>
- Message-Id: <7DF5ABD6-5DAB-41D3-9715-10BE3FFA52CB@cwi.nl>

Folks, I did some investigating into the following message that came in yesterday. I hope someone better aware of the intricacies of the timing module (Sjoerd?) can check that my findings are correct (or, more likely, refute them:-) and suggest a course of action. - E14 from the referenced errata is in SMIL 2.0 second edition, and carries forward to today. - E15 was inadvertently applied to getFirstInterval() in stead of getNextInterval() for SMIL 2.0 second edition. This incorrect fix was not noticed, and happily carried over to SMIL 2.1 and SMIL 3.0. - I checked the Ambulant scheduler, and it contains the fixes as stated in the errata, not the incorrect pseudocode that is in SMIL 2.0SE, SMIL 2.1 and SMIL 3.0. - I checked the discussion on the original errata (october-november 2001 in the mailing list archive), and I couldn't find any mention of what our intention was for multiple zero-duration intervals. I think we've simply overlooked the possibility (but maybe someone with better memory remembers?). Begin forwarded message: > Resent-From: www-smil@w3.org > From: Brian Birtles <birtles@gmail.com> > Date: January 22, 2009 02:35:57 GMT+01:00 > To: www-smil@w3.org > Subject: Clarification of zero-duration intervals > > Dear all, > > I would like to request a review of the pseudocode for > getFirstInterval and getNextInterval in all versions of the SMIL > specification, including SMIL3. It would be most helpful if this > pseudocode was also accompanied by a prose description of the > behaviour of zero-duration intervals. > > In my previous message I referred to the following piece of > pseudocode: > > If (currentInterval.end > currentInterval.begin) > Set tempBegin = the first value in the begin list that is >= > beginAfter. > Else > Set tempBegin = the first value in the begin list that is > > beginAfter. > > I believe that this belongs in getNextInterval as indicated in the > SMIL2 errata.[1] > > Assuming that this is correct, and noting that beginAfter = > currentInterval.end, it would appear that this condition disallows > non-zero-duration intervals after zero-duration intervals. That is, > suppose currentInterval.end == currentInterval.begin (and therefore > == beginAfter). In such a case tempBegin = the first value in the > begin list that is > currentInterval.end. > > So if we have: > > begin=1s; 1s > end=1s; 3s > dur=1s > > We would make an interval from 1s-1s initially, then when we come to > get the next interval we would note that for the previous interval > currentInterval.end == currentInterval.begin and so we would search > for the first value in the begin list that is > 1s, which doesn't > exist and so we would fail and the result being that we would yield > only one interval and not two. Therefore it is not possible to have > a non-zero-duration interval after a zero-duration interval > according to the pseudocode quoted above. > > It should also be clarified what the expected results are for the > following: > > begin=1s > end=1s; 3s > > Is it one interval, 1s-1s? Or two: 1s-1s, 1s-3s. i.e. can we re-use > a begin time? The pseudocode suggests we re-use begin times and I > this makes implementation easier. > > Whatever the result, something analogous should happen in > getFirstInterval for the following case: > > begin=-0.5s > end=-0.5s; 1s > > Perhaps the rules is that we cannot have more than one zero-duration > interval with the same begin time? > > Such that > > begin=1s > end=1s; 1s; 1s; 3s; > > produces two intervals > > I have tested many of these scenarios with various implementations > and they produce different results so I hope this issue can be > clarified. > > Thank you. > > Best regards, > > Brian Birtles > > [1] http://www.w3.org/2001/07/REC-SMIL20-20010731-errata#E14 -- Jack Jansen, <Jack.Jansen@cwi.nl>, http://www.cwi.nl/~jack If I can't dance I don't want to be part of your revolution -- Emma Goldman

Received on Thursday, 22 January 2009 11:47:25 UTC