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 25429 - restrained media controller should not depend on blocked media elements
Summary: restrained media controller should not depend on blocked media elements
Status: RESOLVED FIXED
Alias: None
Product: WHATWG
Classification: Unclassified
Component: HTML (show other bugs)
Version: unspecified
Hardware: Other other
: P3 normal
Target Milestone: Unsorted
Assignee: Ian 'Hixie' Hickson
QA Contact: contributor
URL: http://www.whatwg.org/specs/web-apps/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-04-23 14:57 UTC by contributor
Modified: 2014-04-30 09:32 UTC (History)
3 users (show)

See Also:


Attachments

Description contributor 2014-04-23 14:57:56 UTC
Specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html
Multipage: http://www.whatwg.org/C#media-controllers
Complete: http://www.whatwg.org/c#media-controllers
Referrer: http://www.whatwg.org/specs/web-apps/current-work/multipage/

Comment:
restrained media controller should not depend on blocked media elements

Posted from: 83.218.67.123
User agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36 OPR/21.0.1432.39 (Edition Next)
Comment 1 Philip Jägenstedt 2014-04-23 15:10:44 UTC
I implemented the activation behavior (click to play/pause) for media elements and used the same logic internally to toggle paused state from the native controls. This revealed an oddity in the definition of a restrained media controller.

If the media controller is playing and its slaved media elements are paused (their initial states), the controller is usually restricted and the UI would show a play button. However, when seeking, the media element's readyState will fall down to HAVE_METADATA momentarily, causing it to be blocked, so that the controller is then not restricted (nor paused) so a pause button would be shown instead. The net result is that when dragging the seek bar of a paused media element attached to a playing media controller, the play/pause button will flicker between the two states.

Of course I could just fix the controls to hide the issue, but I don't see why a blocked media element is part of the definition of restricted. In general it would make sense if a single media element slaved to a media controller behaved like a standalone media element, and there readyState is simply not involved in determining whether clicking should play or pause.
Comment 2 Philip Jägenstedt 2014-04-23 15:19:17 UTC
FWIW, I've tested simply removing the bit about blocked media elements from the implementation and that fixes the flickering problem.
Comment 3 Ian 'Hixie' Hickson 2014-04-29 00:18:18 UTC
Yeah I dunno what I was thinking there.
Comment 4 contributor 2014-04-29 00:18:29 UTC
Checked in as WHATWG revision r8585.
Check-in comment: restrained media controller should not stop being restrainted just because the video elements haven't finished loading their content
http://html5.org/tools/web-apps-tracker?from=8584&to=8585
Comment 5 Philip Jägenstedt 2014-04-30 09:32:02 UTC
Thanks!