- From: Raymond Toy <rtoy@google.com>
- Date: Thu, 31 Oct 2013 14:09:53 -0700
- To: "public-audio@w3.org" <public-audio@w3.org>, Raymond Toy <rtoy@google.com>
- Message-ID: <CAE3TgXEV99pe-GeVX3oJR9_pvUpXYZQ2O+TR1b5nBmDr6tpd0w@mail.gmail.com>
On Thu, Oct 31, 2013 at 1:11 PM, Karl Tomlinson < karlt+public-audio@karlt.net> wrote: > Raymond Toy writes: > > > The spec doesn't say, but are there any constraints on valid values for > the > > offset or duration for the start method of an AudioBufferSourceNode? > What > > does it mean if the offset or duration is negative? What about a duration > > of 0? > > I don't think it would be right to throw an exception for offset > or duration greater than the buffer length. These are real > numbers so rounding errors may mean they end up a little greater > than the length. > > Also, I assume |buffer| can be set after start() is called with > duration, but I guess this depends on and perhaps influences the > outcome from > http://lists.w3.org/Archives/Public/public-audio/2013JulSep/1866.html > > Anyway, I don't think the method should throw on offset duration > too large. Perhaps similar rounding in complex calculations could > make offset or duration less than zero, and consistency would > suggest also not throwing there. > > Outside the sensible ranges for offset and duration, I think the > implementation should do the best it can. Perhaps this means that > samples from the buffer will be played later if offset is > negative, but Gecko treats negative offsets as zero. > I'm perfectly happy with just clipping the offset and duration to values between 0 and the actual buffer length. I just wasn't sure what the spec wanted here. > A duration of 0 should play nothing and I assume dispatch ended > when start time is reached, but I don't think Gecko dispatches > ended. > This seems like a corner case. I'll have to check to see what Blink does. -- Ray
Received on Thursday, 31 October 2013 21:10:21 UTC