- From: jourdan <Muriel.Jourdan@inrialpes.fr>
- Date: Thu, 16 Jul 1998 13:56:30 +0200
- To: Sjoerd Mullender <Sjoerd.Mullender@cwi.nl>
- CC: Philipp.Hoschka@sophia.inria.fr, www-smil@w3.org
Sjoerd Mullender wrote: > > On Wed, Jul 15 1998 jourdan wrote: > > > The Opera project of INRIA is working on the implementation of a SMIL > > import functionnality from its multimedia authoring environment, namely > > Madeus. > > It means that our goal is to read SMIL documents using the existing > > Madeus player. > > > > The temporal body of a SMIl document is our main interest. > > We have a first version of this import functionnality > > which takes only basic tree temporal structures of seq and par with > > some delay offset. > > We are now working on the integration of "event-value" operand in a > > begin or end attribute. We find very difficult to understand the > > semantic rules with the four kinds of events (expected, > > desired,implicit, and effective). > > > > More precisely, applying the different rules to a simple example (see > > below), we get a cyclic system of equations, whereas the example seems > > to be intuitively correct. > > > > The example: > > A,B and C are three video. Their respective intrinsic durations are: > > 4,6,8 > > > > <smil> > > ... > > <body> > > <par endsync = "last"> > > <video id= "A"> > > <video id = "B" end = id(A)(End)> > > <video id = "C"> > > </par> > > </body> > > </smil> > > > > Intuitively, it seems to us that the execution of such an example would > > give: > > > > t = 0 A,B and C begin to be played. > > t = 4 A ends and B is interrupted > > t = 8 C ends > > > > If we applyed the different rules, we get at the end: > > > > Abreviations used: > > IE (resp. ID) means Implicit End (resp. implicit Duration) > > EfE (resp. EfD) means Effective End (resp. Effective Duration), > > DE (resp. DD) means Desired End (resp. Desired Duration). > > > > EfE(par node) = max(DD(A),DD(B),DD(C)) > > DD(A) = 4 > > DD(B) = EfE(A) > > DD(C) = 8 > > > > EfE(A) = EfE(par node) > > > > There is a cycle between EfE(par node) and EfE(A). > > > > Could someone help us to understand where we are wrong ? > > The effective end of the par is player-dependent (first bullet of > "Determining the effective end of an element in Section 4.2.4.2), but > we know it is at least as late as the desired end of the par. > We can't say anything about the effective end of the children of the > par, since the effective end of an element depends on the effective > end of its parent. > > We can say something about the desired end of the par. > > DE(par) = IE(par) # 4th bullet Determ. des. end > IE(par) = max(DE(A),DE(B),DE(C)) # 6th bullet, 1st subbullet Determ. impl. end > DE(A) = IE(A) # 4th bullet Determ. des. end > IE(A) = 4 # 3rd bullet Determ. impl. end > DE(B) = DE(A) # rule 4 section 4.2.4.1 (should be made clearer though) ok with your interpretation of this rule. It must be said explicitly in the spec that when the explicit end attribute of an object refers to the end (resp. begin) of another object, this end (resp. begin) is the desired one (and not the effective one as we thought). The same is true with the explicit begin rule. > DE(C) = IE(C) # 4th bullet Determ. des. end > IE(C) = 8 # 3rd bullet Determ. impl. end > > So DE(par) = 8 (and so EfE(par) >= 8). > It means that the execution of this example is: t = 0 A,B and C begin to be played. t = 4 A ends but still appears on the screen and B is interrupted and removed from the screen t = 8 C ends, A and C are removed from the screen Let's now suppose that in the same example, A is a discrete object (a picture) with a dur attribute of 4. The previous execution is correct, isn't it ? It could be surprising for the author since he specified that the end of B is equal to the end of A and after 4 units of time the picture A is still on the screen and B is not. What do you think about that ? > I did notice a bug in the specification, though. The last bullet of > "Determining the implicit end of an element" uses "duration" where it > should use "end". The end of the par depends on the end of its > children, not on their durations (since the start of those children > may be delayed). We don't agree with you on this point. We interprate the last bullet of the implicit end rules by: IE(par) = if endsync = last then EfB(par) + max(DD(each child)) if endsync = first then EfB(par) + min (DD(each child)) if endsync = id_ref then EfB(par) + DD(reference object). > > -- Sjoerd Mullender <Sjoerd.Mullender@cwi.nl> > <URL:http://www.cwi.nl/~sjoerd/> -- __________________________________________________ Muriel.Jourdan@imag.fr Tel : 76.61.53.58 Fax : 76.61.52.07 Unite de Recherche INRIA Rhone-Alpes, projet OPERA ( http://opera.inrialpes.fr/OPERA/ ) ZIRST, 655 avenue de l'Europe, 38330 MONTBONNOT SAINT MARTIN, FRANCE
Received on Thursday, 16 July 1998 07:56:11 UTC