W3C home > Mailing lists > Public > public-tt@w3.org > December 2008

Re: beginEnd002: par timeContainer and child with no duration

From: Sean Hayes <Sean.Hayes@microsoft.com>
Date: Fri, 19 Dec 2008 12:33:56 +0000
To: "Glenn A. Adams" <gadams@xfsi.com>, Sean Hayes <Sean.Hayes@microsoft.com>
CC: Public TTWG List <public-tt@w3.org>
Message-ID: <C5714534.1C37E%shayes@microsoft.com>

Yes, I think that's a good analysis of the situation. I believe the constraints language in dfxp was intended to 'simplify' the SMIL processing; but has over extended itself too much. I would support the idea that the implied indefinite duration constraint only applies to children text elements; (assuming anonymous spans are implied children of leaf span nodes). In the case where neither dur nor end are applied to a container of text, the 'indefinite' duration would then in turn apply to a par parent containing the text, by applying the endsync rule.

The only slight oddity would be something like:
<p timeContainer='seq'> this text lasts indefinitely<span>this text never appears</span>and neither does this</p>,
But if all elements default to par semantics, you would have to go out of your way to create something like that, in which case adding some durations seems not too much of a requirement. So I think it that's fine.

On 19/12/2008 08:15, "Glenn A. Adams" <gadams@xfsi.com> wrote:


OK, now I have gone back and reread all of SMIL2.1's Section 10, and taking your reading below as well as Philippe's input regarding my earlier misreading of DFXP 10.4 bullet 1, I think we have a problem in DFXP regarding the essence of 10.4 bullet 1. In particular, its attempt to define an implicit duration on body, div, p, and span appears to be problematic and contradicts various aspects of SMIL's definition of implicit duration for par and seq time containers. For example, according to that text, the example below would yield an implicit duration of 0s for div (since it's parent is an implied seq time container). In contrast, SMIL would define its (the div element's) implicit duration in terms of it being an implied par time container. And, as you correctly state, the endsync="last" semantics that would apply from SMIL would result in an implicit duration of indefinite for the div element (since it has children with a resolved begin time but an unresolved active end time - or at least unresolved until the external time interval of the tt element comes into play).

If I recall, the language of 10.4. bullet 1 was originally intended to define the implied duration for text, or, more precisely, using DFXP terminology, the implied duration of an anonymous span. In the case of an anonymous span, the language of 10.4 bullet 1 seems apropos; however, it does not seem so for all other cases (body, div, p, span). It seems to me that in these latter cases, the semantics of SMIL should apply in terms of each of these being designated as either a par or seq time container. So it looks to me like we need to rewrite (or abbreviate) this bullet to apply only to anonymous spans.

G.

On 12/17/08 6:28 AM, "Sean Hayes" <Sean.Hayes@microsoft.com> wrote:

I agree with your data, however not your analysis; I believe my original (corrected) answer is the right one.

There are I think two ways to read our spec, and neither of them lead to your conclusion.

We explicitly constrain the implicit duration of a seq and par to be indefinite, thus, since the endsync behaviour of par is defined by its implicit duration, this would imply the endsync behaviour of last is not applied. If we wish endsync behaviour we need to change these constraints.

Notwithstanding that, even if we were to use endsync of "last" for par containers, this would reference the child with the last active duration; not the last lexical child, so since the rest of the par's have indefinite duration these would out last the p ending at 20s. Therefore the implicit duration of the div is [0,indefinite) and it would not end, since the last active child does not end, and the other p's will remain visible.

Sean Hayes
Media Acessibility Strategist
Accessibility Business Unit
Microsoft

Office:  +44 118 909 5867,
Mobile: +44 7875 091385
________________________________________
From: public-tt-request@w3.org [public-tt-request@w3.org] On Behalf Of Glenn A. Adams [gadams@xfsi.com]
Sent: Monday, December 15, 2008 4:57 PM
To: Philippe Le Hegaret; public-tt@w3.org
Subject: RE: beginEnd002: par timeContainer and child with no duration

My answer is

> 3- all paragraphs will end at 20 (and begin at their respective times)
> because at least one of the children has a resolved duration

Which is the same as Sean's first response (not his "correction").

At present, the spec explicitly dictates the following for this example:

(1) per 7.1.3, body has an implied timeContainer="seq"
(2) per 7.1.4, div has an implied timeContainer="par"
(3) per 10.4 bullet 1, div has an implied dur="indefinite"
(4) per 10.2.4, each p has an implied timeContainer="par"
(5) per 10.4 bullet 1, each p has an implied dur="indefinite"
(6) per 10.4 bullet 1, each anonymous span has an implied
dur="indefinite"
(7) per 10.4 and smil2 10.4.1 (by reference), the simple duration of
each element below is its implicit duration, except for the last p which
specifies an active duration, i.e., both begin and end;
(8) per 10.4 and smil2 10.4.1 and 10.4.2 (by reference), the implicit
duration of a par time container is controlled by its endsync value,
with a default value of endSync="last" applying to par (since DFXP does
not explicitly support specification of endsync);
(9) per 10.4 and smil2 10.4.1 and 10.4.2 (by reference), the implicit
duration of a seq time container ends with the active end of its last
child;

Given the above, we can derive the following:

* implicit duration of Nth p in example is [N,20)
* implicit duration of div in example is [0,20)
* implicit duration of body in example is [0,20)

So, what should appear from the following example (according to the
spec) is:

# 00:00:00

This test counts from 0 to 10 in 10 seconds.
0

# 00:00:01

This test counts from 0 to 10 in 10 seconds.
0
This test counts from 0 to 10 in 10 seconds.
1

# 00:00:02

This test counts from 0 to 10 in 10 seconds.
0
This test counts from 0 to 10 in 10 seconds.
1
This test counts from 0 to 10 in 10 seconds.
2

# adds two lines each second until
# 00:00:10

This test counts from 0 to 10 in 10 seconds.
0
This test counts from 0 to 10 in 10 seconds.
1
This test counts from 0 to 10 in 10 seconds.
2
This test counts from 0 to 10 in 10 seconds.
3
This test counts from 0 to 10 in 10 seconds.
4
This test counts from 0 to 10 in 10 seconds.
5
This test counts from 0 to 10 in 10 seconds.
6
This test counts from 0 to 10 in 10 seconds.
7
This test counts from 0 to 10 in 10 seconds.
8
This test counts from 0 to 10 in 10 seconds.
9
This test counts from 0 to 10 in 10 seconds.
10

# 00:00:11

This test counts from 0 to 10 in 10 seconds.
0
This test counts from 0 to 10 in 10 seconds.
1
This test counts from 0 to 10 in 10 seconds.
2
This test counts from 0 to 10 in 10 seconds.
3
This test counts from 0 to 10 in 10 seconds.
4
This test counts from 0 to 10 in 10 seconds.
5
This test counts from 0 to 10 in 10 seconds.
6
This test counts from 0 to 10 in 10 seconds.
7
This test counts from 0 to 10 in 10 seconds.
8
This test counts from 0 to 10 in 10 seconds.
9
This test counts from 0 to 10 in 10 seconds.
10
This test is over.

# ... continues as above until
# 00:00:20
# when all content is removed


> -----Original Message-----
> From: public-tt-request@w3.org [mailto:public-tt-request@w3.org] On
Behalf Of Philippe
> Le Hegaret
> Sent: Tuesday, December 16, 2008 5:44 AM
> To: public-tt@w3.org
> Subject: beginEnd002: par timeContainer and child with no duration
>
>
> We currently have the test beginEnd002 as follows:
> [[
>   <body>
>     <div>
>       <p begin='0s'>This test counts from 0 to 10 in 10
seconds.<br/>0</p>
>       <p begin='1s'>This test counts from 0 to 10 in 10
seconds.<br/>1</p>
>       <p begin='2s'>This test counts from 0 to 10 in 10
seconds.<br/>2</p>
>       <p begin='3s'>This test counts from 0 to 10 in 10
seconds.<br/>3</p>
>       <p begin='4s'>This test counts from 0 to 10 in 10
seconds.<br/>4</p>
>       <p begin='5s'>This test counts from 0 to 10 in 10
seconds.<br/>5</p>
>       <p begin='6s'>This test counts from 0 to 10 in 10
seconds.<br/>6</p>
>       <p begin='7s'>This test counts from 0 to 10 in 10
seconds.<br/>7</p>
>       <p begin='8s'>This test counts from 0 to 10 in 10
seconds.<br/>8</p>
>       <p begin='9s'>This test counts from 0 to 10 in 10
seconds.<br/>9</p>
>       <p begin='10s'>This test counts from 0 to 10 in 10
seconds.<br/>10</p>
>       <p begin='11s' end='20s'>This test is over.</p>
>     </div>
>   </body>
> ]]
>
> What is the expected behavior?
>
> 1- give up because the document is not conforming
>
> 2- only shows the last paragraph from 11 to 20 because the other
> paragraphs have unresolved durations (that's the behavior of JW FLV
> Media Player)
>
> 3- all paragraphs will end at 20 (and begin at their respective times)
> because at least one of the children has a resolved duration
>
> 4- the first 11 paragraphs will show for one second each and the last
> paragraph will show from 11 to 20 (that's what ccPlayer and Adobe are
> doing)
>
>
> Philippe
>
>
Received on Friday, 19 December 2008 12:35:03 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 2 November 2009 22:41:39 GMT