[Bug 18666] Define what HTMLMediaElement.seekable returns

https://www.w3.org/Bugs/Public/show_bug.cgi?id=18666

Aaron Colwell <acolwell@chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |acolwell@chromium.org

--- Comment #1 from Aaron Colwell <acolwell@chromium.org> 2012-09-15 00:36:19 UTC ---
(In reply to comment #0)
> http://dev.w3.org/html5/spec/media-elements.html#dom-media-seekable
> http://dev.w3.org/html5/spec/media-elements.html#dom-media-seek
> 
> The HTMLMediaElement seek algorithm clamps the requested position to the
> closest seekable range, so anything outside the reported seekable ranges is
> impossible to seek to.
> 
> It's not defined in MSE how to report the seekable attribute and it's not clear
> that there's a good answer, since the browser isn't in a good position guess
> what ranges the application will be able to provide.
> 
> Possible solutions:
> 
> 1. Expose [0, duration]. This is still broken because it's a complete lie for
> Infinite duration, and for implicit duration it makes it impossible to seek
> beyond the already appended data.
> 
> 2. Expose no seekable ranges at all, and say that the clamping step of the
> seeking algorithm should be skipped for MSE. That works, but isn't exactly
> elegant.

I prefer option 1. I think in most cases it will be the right thing to do
because the expectation is that the web application will append media for all
portions of the timeline.

For implicit duration I think it is ok to prevent seeking beyond the appended
data since the application hasn't given any indication that this should be
allowed. If the application knows the true duration it can always explicitly
set MediaSource.duration and then the seekable range would expand to that and
seeking outside the appended region would be allowed.

In the case of Infinity perhaps we should use the last end time in
SourceBuffer.buffered across all SourceBuffers since that appears to be the
best way for the UA to guess about what sections of the media will be
available. It isn't perfect, but it seems like the closest thing to what would
happen in a live stream.

Seem reasonable?

-- 
Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Saturday, 15 September 2012 00:36:21 UTC