W3C home > Mailing lists > Public > public-html-comments@w3.org > October 2009

Re: Video DOM API

From: Michael A. Puls II <shadow2531@gmail.com>
Date: Wed, 14 Oct 2009 06:11:27 -0400
To: "Simon Pieters" <simonp@opera.com>, public-html-comments@w3.org
Message-ID: <op.u1sbxb2g1ejg13@sandra-svwliu01>
On Wed, 14 Oct 2009 04:25:42 -0400, Simon Pieters <simonp@opera.com> wrote:

> On Wed, 14 Oct 2009 06:12:01 +0200, Michael A. Puls II  
> <shadow2531@gmail.com> wrote:
>> Gervase Markham <gerv@gerv.net> wrote:
>>> On a <video> element (I haven't tried <audio>), if you change the src=
>>> attribute to a new file, you have to call .load() before .play(),
>>> otherwise it replays the old file. This lost me half an hour of 
>>> debugging, and recently another person posted in the Mozilla newsgroups
>>> having exactly the same problem.
>> (Thanks for posting this)
>> I am that other person and here's what I personally expect, fwiw:
>> When setting src:
>> 1. The current media should stop playing.
>> 2. It should then be unloaded.
>> 3. All states should be reset (including the play state).
>> 4. The new media should start loading.
>> 5. If autoplay is true, the new media should start playing. If not, it  
>> only starts playing when you call play().
>> My use-case is setting @src when clicking on a link (in an ordered list  
>> of many links with click handlers) to an .ogg file.
>> Having to call load() after setting src seems odd since I set src for a  
>> reason, which is, to load it so I can play() it (or automatically play  
>> it if I have autoplay set to true).
>> For <object> when you change @type/@data, the object is pretty much  
>> re-evaluated. I pretty much expect the same when setting src for  
>> <audio> and <video>
> What behavior do you expect when using <source>s instead of src?

Well, you can insert, replace and remove a <source> element. You can  
change @src and @type on each <source> that's present.

One easy way (thought-wise) to handle that is that whenever any of that  
happens, the UA should stop, unload, reset states and figure out what  
<source> to play.

On the other hand, you might want to change @src for multiple <source>s  
without triggering a reevalutation until you explicitly call for one.

Or, you might want a mix of the two that depends on whether there's just  
one <source> or where you're inserting a <source> (before the one that's  
currently being used for example) or which <source> you're removing (the  
one being used or not).

So, I mostly expect the first way. However, the second seems simpler and  
would just cover everything.

But, note that I haven't really dealt with the multiple type fallback  
stuff yet, so I don't have a strong opinion on <source> yet.

Received on Wednesday, 14 October 2009 10:12:04 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:26:25 UTC