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. `._.-(,_..'--(,_..'`-.;.'