Corner cases on start/stop exceptions

A few questions on corner cases when start or stop is called too many
times. The spec currently says exceptions are thrown when start or stop is
called more than once.  But what should happen to the audio in the
following cases?

Let c be the context and s be an oscillator

s.start(10); s.start(0)

The second start must throw an error, but does the oscillator start playing
after 10 sec?

s.start(); s.stop(c.currentTime + 10); s.stop(c.currentTime + 5)

The second stop() must throw an error, but what happens to the audio? Does
it stop at currentTime+10? Stop immediately? Something else?

Also, the current draft says this in section 4.10.2 for the stop method:

    stop must only be called one time and only after a call to start or
stop, or an INVALID_STATE_ERR  exception MUST be thrown

The part that says "or stop" should probably be deleted, since you can only
call stop once.

Inquiring minds want to know!


Received on Wednesday, 30 October 2013 20:10:45 UTC