[Bug 23007] Unclear semantics of duration param to AudioBufferSourceNode.start()

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

--- Comment #3 from Joe Berkovitz / NF <joe@noteflight.com> ---
The spec language for "duration" reads:

"The duration parameter describes the duration of the portion (in seconds) to
be played. If this parameter is not passed, the duration will be equal to the
total duration of the AudioBuffer minus the offset parameter. Thus if neither
offset nor duration are specified then the implied duration is the total
duration of the AudioBuffer."

Looping is not mentioned anywhere in this paragraph, and "total duration of the
AudioBuffer" is a fuzzy concept that might or might not take account of
looping.

I do not think that a duration argument should ever force looping to take
place. It still seems simplest to me to construe duration as an implicit call
to stop(), otherwise we have two competing definitions of "duration", one of
which has to have an ugly, fiddly definition with respect to looping.

@ChrisW, the loopStart=loopEnd=0 default does not normally cause any looping,
because by default the "loop" attribute of a buffer is false. ChrisR and I had
a longish conversation about this and the intent here was to preserve a legacy
behavior from before loopStart/loopEnd existed, where simply setting loop=true
on a buffer would loop the whole buffer. He wanted the default values in this
case to be zero for both loopStart and loopEnd which seemed reasonable.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Monday, 19 August 2013 18:05:44 UTC