Re: HTMLMediaElement - detecting startup hysterisis

On Wed, 26 Nov 2008, Eric Carlson wrote:
> 
> We have some concerns over the states, variables, and events that tell 
> whether a media element is playing or not - specifically it is not 
> possible to determine when media playback actually begins (time 
> advances). This is problematic with a media resources served with a 
> download protocol when playback is requested before media has been 
> buffered, as well as with streaming protocols which do not keep any 
> media data cached locally.

You can tell if playback will occur immediately because the readyState 
will be HAVE_FUTURE_DATA or above.

I've changed the play() algorithm to fire 'waiting' for the case where 
readyState is not HAVE_FUTURE_DATA or above. I've also added a 'playing' 
event that fires as soon as playback actually begins.


> For example, in a live stream scenario there is an indeterminate delay 
> between when the media engine is told to play and when it receives media 
> samples from the server. In both scenarios we feel that scripts will 
> want to be able to reflect this transitional state in their UI so users 
> are not confused when they press "play" and nothing happens immediately.

Sure. That's what 'waiting' is for (readyState is less than 
HAVE_FUTURE_DATA in this kind of scenario).

Let me know if this doesn't address the problem.

Cheers,
-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Monday, 1 December 2008 12:34:31 UTC