[Bug 18576] Confused requirements on updating implicit duration

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

--- Comment #2 from Philip J <philipj@opera.com> 2012-08-20 09:48:28 UTC ---
(In reply to comment #1)
> (In reply to comment #0)
> > http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#source-buffer-duration-updates
> > 
> > In this section (which should be non-normative) it says that "Any time a media
> > segment that goes beyond the current value of the duration attribute is
> > appended to a SourceBuffer, the duration attribute will get updated to end
> > timestamp of the media segment."
> > 
> > (Note also that this should be scoped to only implicit duration, but the
> > section nesting doesn't make it so.)
> 
> I don't quite understand what you are saying here. The explicit vs implicit
> difference is only how the duration is set. The intent is not to maintain 2
> different values. All four sections under 2.12 are intended to change the same
> underlying duration value. 
> 
> Are you saying the duration set via append() is just another form of implicitly
> setting the duration and therefore should be part of 2.12.2?

OK, I see now that 2.12.3 is actually consistent with how append() is spec'd. I
assumed that an explicit duration was final, but apparently the order of
setting an explicit duration and appending influences the result:

* When first appending data and then setting the duration, data after duration
is discarded.

* When first setting the duration and then appending data, the duration is
modified instead of discarding data.

I suppose this makes some sense, but I doubt it will be obvious to users of the
API why shuffling the code around a bit has this effect. I have no suggestion
for improvement at this point.

> > http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-append
> > 
> > This section says "Update the duration attribute to reflect the end of the
> > appended data. (ie Highest end timestamp reported by
> > HTMLMediaElement.buffered)"
> > 
> > This looks like it's assuming that segments are always appended in order.
> > Should be rephrased to set duration to the maximum of the current duration and
> > the end timestamp of the appended segment.
> 
> That was not the intent. Maybe this is a little clearer
> 
> "Update the duration attribute to the maximum of the current duration and the
> highest end timestamp reported by HTMLMediaElement.buffered."

Yes, that is unambiguous and clear.

-- 
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 Monday, 20 August 2012 09:48:29 UTC