This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 12195 - <video> canplay event is fired long before one can play in any meaningful way
Summary: <video> canplay event is fired long before one can play in any meaningful way
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: ---
Assignee: Ian 'Hixie' Hickson
QA Contact: HTML WG Bugzilla archive list
Depends on:
Reported: 2011-02-26 13:03 UTC by contributor
Modified: 2011-08-04 05:04 UTC (History)
7 users (show)

See Also:


Description contributor 2011-02-26 13:03:33 UTC

canplay event is fired long before one can play in any meaningful way

Posted from: by
Comment 1 Philip J├Ągenstedt 2011-02-26 13:08:13 UTC
The canplay event is fired as readyState changes from HAVE_CURRENT_DATA to HAVE_FUTURE_DATA, that is when 2 frames worth of data has been buffered. Scripts can't actually use this event to determine when it would be appropriate to play, as playing just one frame and pausing is not helpful. When waiting for the network, the behavior one wants is that say 10 seconds of data is buffered before starting playback. Single frames and tiny burst of audio is not useful.

My preferred solution to the problem would be to redefine HAVE_FUTURE_DATA to mean that something more than 1 frame ahead is available. Possible UA-defined, but something like 5-10 seconds at least.
Comment 2 Ian 'Hixie' Hickson 2011-06-03 00:24:53 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:

Status: Rejected
Change Description: no spec change
Rationale: The name of the event is poor, but it is not useless: it's the time at which you can enable "frame forward" UI.

I'm open to adding a separate event that means "you can now play more than N seconds of content", but I'm not sure what N would be useful that is less than the N for canplaythrough.
Comment 3 Michael[tm] Smith 2011-08-04 05:04:41 UTC
mass-moved component to LC1