Bug 138820 - Timeupdate fires during a buffer under-run.
Summary: Timeupdate fires during a buffer under-run.
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.10
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2014-11-17 20:38 PST by Jamie Stackhouse
Modified: 2015-07-23 11:42 PDT (History)
2 users (show)

See Also:


Attachments
Screenshot showcasing odd timeupdate. (454.88 KB, image/png)
2014-11-17 20:38 PST, Jamie Stackhouse
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jamie Stackhouse 2014-11-17 20:38:59 PST
Created attachment 241760 [details]
Screenshot showcasing odd timeupdate.

Test URL: http://www.w3.org/2010/05/video/mediaevents.html, and http://www.videojs.com.

Step to reproduce:
1: Throttle internet connection to an appropriate level that will cause the buffer to run out.
2: Play video

Expected Results:
1: Plays until there is not buffer to draw upon to render new frames.
2: MediaElement runs out of data, and the readyState changes from 3 -> 2 -> 1.
3: MediaElement emits "waiting".
4: Buffering occurs...
5: MediaElement readyState changes from 1 -> 2 -> 3.
6: MediaElement emits "playing".
7: MediaElement plays..
8: Occasional "timeupdate" events during playback.

Actual Results:
1: Plays until no buffer.
2: Waiting event is sometimes fired, but not always between buffers.
3: Ready state is not changing from 3 when there is no playback.
4: The currentTime continues to update as if playback was occuring. Occassionally it "fixes" itself and loops back to the real currentTime.
5: Playback begins again.

However, if user has a long buffer period. It is possible to end a video by playing and pausing the video via the controls. It appears to be the cause of the MediaController attribute.

The videojs.com link is a open source library exhibiting the symptoms of this issue, where a user who encounters a buffer under-run are shown no feedback, and their play progress or "scrubber" advances, and then shoots back. VideoJS does not make use of MediaControllers at this point in core.
Comment 1 Jamie Stackhouse 2014-11-17 20:56:57 PST
"VideoJS does not make use of MediaControllers at this point in core."
MediaControllers are not used, to my knowledege.
Comment 2 Radar WebKit Bug Importer 2015-07-23 11:42:09 PDT
<rdar://problem/21965808>