[whatwg] MediaController feedback

Ian Hickson ian at hixie.ch
Mon Sep 17 11:53:35 PDT 2012

On Tue, 28 Aug 2012, Jer Noble wrote:
> On Aug 27, 2012, at 5:02 PM, Ian Hickson <ian at hixie.ch> wrote:
> >> 
> >> With JavaScript, it's certainly possible for a page author to play() 
> >> or pause() a slaved media element directly, but that author could 
> >> just as easily remove the media element from the media group / media 
> >> controller.
> >> 
> >>> [...]
> >>> 
> >>> That only works if there's JavaScript doing the removing. The idea 
> >>> here is that this should all work even without any JS, just with UA 
> >>> UI.
> >> 
> >> With just the UA UI, the behavior would be exactly the same [...]
> > 
> > If you remove the element from the media controller, the media 
> > controller's timeline changes.
> So?  In the general case (alternative audio, sign-language) the 
> timelines will be exactly the same.  If there's an edge case where a 
> change in the timeline is a problem, a page author could hide the slaved 
> media element (e.g. "display:none" or "element.muted = true") instead.

Hiding it is a whole different thing than not playing. For example, text 
track events would still fire.

> > It'll be quite common for there to be videos that are not currently 
> > playing, e.g. sign-language tracks.
> I think you're making an incorrect distinction.  The author may not want 
> the sign-language track to *display*.  Pausing the video is one 
> mechanism which achieves that (sort of).  Hiding it is another.  
> Removing the video from the MediaController and pausing it is a third.
> The side effects of this particular mechanism are causing a lot of 
> confusion.  We gave a session at WWDC about the MediaController and 
> collected a lot of developer feedback at the labs, and the general theme 
> was that the API didn't make sense.  Here's a good example of the kinds 
> of bug reports we're seeing: "MediaController play() doesn't work" 
> <https://bugs.webkit.org/show_bug.cgi?id=94786>.

I've renamed play() to unpause() and introduced a new play() that calls 
play() on each slaved media element then calls unpause().

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

More information about the whatwg mailing list