On Fri, 21 Jan 2011 22:15:43 +0100, Gregory Maxwell <[email protected]> wrote:

On Fri, Jan 21, 2011 at 4:04 PM, Philip Jägenstedt <[email protected]> wrote:
Since, as you say, the behavior is currently inconsistent, there is still
time to agree on something that makes sense and have everyone implement
that. I think the best default is keyframe seeking and haven't seen any
strong arguments for accurate seeking as the default yet.

Concretely: Add seek(time, flags) where flags defaults to nothing. Accurate
seeking would be done via seek(time, "accurate") or some such. Setting
currentTime is left as is and doesn't set any flags.

Most of the plumbing is already in the spec:
http://whatwg.org/html#dom-media-seek

I don't like "keyframe seeking" as the default. "Keyframe seeking"
assumes things about the container, codec, and encoding which may not
be constants or even applicable to all formats. For example a file
with rolling intra may have no keyframes,  and yet are perfectly
seekable.  Or if for some reason a client can do exact seeking very
cheaply for the request (e.g. seeking to the frame immediately after a
keyframe) then that ought to be permitted too.

I'm fine with any terminology, as long as it allows implementations to seek to some other time than currentTime if it's (much) faster to do so. GStreamer has the flags GST_SEEK_FLAG_ACCURATE and GST_SEEK_FLAG_KEY_UNIT, if that's any inspiration.

I'd rather say that the default should be an implementation defined
accuracy, which may happen to be exact, may differ depending on the
input or user preferences, etc.

Since it will then be seen as an quality of implementation issue and there will be no way for scripts to chose which behavior they want, then we'll still have to do slow (accurate) seeking and nothing else.

Anyway, if all we disagree on is the default flags, then that's still progress.

--
Philip Jägenstedt
Core Developer
Opera Software

Reply via email to