Re: Seeking in a SVGt 1.2 based video player

Simo Melenius wrote:

>I think that by using beginElementAt() you can only seek backwards, by
>choosing offsets that generate begin times after the animation's latest
>(current) begin time and before the current document time.
>
>Seeking forwards implies adding new begin times _before_ its current
>begin time which simply does nothing, since the present animation is
>always computed from the latest begin time before the current document time.

Yes, it solves indeed only the problem to begin the video anywhere in the
middle, due to these restrictions on restarting in SMIL this is not sufficient
to restart this in a useful way several times to seek something. 
This requires a few more tricks/elements from SVGT1.2, but should 
be possible anyway.

For seeking, the first useful thing, an author may do, is to put the
video into the memory of the viewer using the prefetch element.

Then one needs a button to restart the timeline completely to
avoid effects from the restart restrictions. In SMIL or SVG+SMIL 
a specific time container like the par element could be used for 
this.
In SVGT 1.2 the animation element can be used instead.
If it is required to have everything in one document, 
something like xlink:href="data: ..." can be used to put the
content of the document referenced by animation into the
main document.

Then we get the main document containing the prefetch
of the video, the animation element and a button to (re)start
the animation. The animation element references the 
document with the start buttons and a video with multiple
begin conditions related to the buttons and negative offsets
and maybe restart="never". Every time a user wants to
start the video at another position, the top (re)start button
has to be used to restart the complete timeline and then
a second button has to be choosen to determine the
position within the video duration.
There are some other possibilities to get a similar effect,
but I think, there is no really simple and elegant approach 
to do this without a specific more advanced user interface 
as for example in the current HTML5 is recommended, which 
I think is not explicitly excluded/forbidden as an improved 
accessibility tool in a SVG user agent (something like pause 
document and explore image, video, audio, other external 
content, xlink:role, xlink:arcrole etc independently from the 
documents timeline ;o)

Received on Tuesday, 18 March 2008 14:43:04 UTC