Bug 17343: AudioBufferSourceNode state semantics and transitions undefined
authorcrogers
Mon, 29 Apr 2013 16:33:10 -0700
changeset 304 37459e013fce
parent 303 f51750067961
child 305 e20301f197eb
Bug 17343: AudioBufferSourceNode state semantics and transitions undefined
webaudio/specification.html
--- a/webaudio/specification.html	Sat Apr 27 17:44:17 2013 -0400
+++ b/webaudio/specification.html	Mon Apr 29 16:33:10 2013 -0700
@@ -2185,20 +2185,15 @@
 <h2 id="AudioBufferSourceNode">4.10. The AudioBufferSourceNode Interface</h2>
 
 <p>This interface represents an audio source from an in-memory audio asset in
-an <code>AudioBuffer</code>. It generally will be used for short audio assets
+an <code>AudioBuffer</code>. It is useful for playing short audio assets
 which require a high degree of scheduling flexibility (can playback in
-rhythmically perfect ways). The playback state of an AudioBufferSourceNode goes
-through distinct stages during its lifetime in this order: UNSCHEDULED_STATE,
-SCHEDULED_STATE, PLAYING_STATE, FINISHED_STATE. The start() method causes a transition from the
-UNSCHEDULED_STATE to SCHEDULED_STATE. Depending on the time argument passed to
-start(), a transition is made from the SCHEDULED_STATE to PLAYING_STATE, at which
-time sound is first generated. Following this, a transition from the PLAYING_STATE to
-FINISHED_STATE happens when either the buffer's audio data has been completely
+rhythmically perfect ways). The start() method is used to schedule when 
+sound playback will happen.  The playback will stop automatically when
+the buffer's audio data has been completely
 played (if the <code>loop</code> attribute is false), or when the stop()
 method has been called and the specified time has been reached. Please see more
-details in the start() and stop() description. Once an
-AudioBufferSourceNode has reached the FINISHED state it will no longer emit any
-sound. Thus start() and stop() may not be issued multiple times for a given
+details in the start() and stop() description.  start() and stop() may not be issued
+multiple times for a given
 AudioBufferSourceNode. </p>
 <pre>    numberOfInputs  : 0
     numberOfOutputs : 1
@@ -2219,13 +2214,6 @@
 
 interface <dfn id="dfn-AudioBufferSourceNode">AudioBufferSourceNode</dfn> : AudioNode {
 
-    const unsigned short UNSCHEDULED_STATE = 0;
-    const unsigned short SCHEDULED_STATE = 1;
-    const unsigned short PLAYING_STATE = 2;
-    const unsigned short FINISHED_STATE = 3;
-
-    readonly attribute unsigned short playbackState;
-
     attribute AudioBuffer? buffer;
 
     readonly attribute AudioParam playbackRate;
@@ -2245,11 +2233,6 @@
 <div id="attributes-AudioBufferSourceNode-section" class="section">
 <h3 id="attributes-AudioBufferSourceNode">4.10.1. Attributes</h3>
 <dl>
-  <dt id="dfn-playbackState_AudioBufferSourceNode"><code>playbackState</code></dt>
-    <dd><p>The playback state, initialized to UNSCHEDULED_STATE. </p>
-    </dd>
-</dl>
-<dl>
   <dt id="dfn-buffer_AudioBufferSourceNode"><code>buffer</code></dt>
     <dd><p>Represents the audio asset to be played. </p>
     </dd>
@@ -3706,13 +3689,6 @@
 
     attribute OscillatorType type;
 
-    const unsigned short UNSCHEDULED_STATE = 0;
-    const unsigned short SCHEDULED_STATE = 1;
-    const unsigned short PLAYING_STATE = 2;
-    const unsigned short FINISHED_STATE = 3;
-
-    readonly attribute unsigned short playbackState;
-
     readonly attribute AudioParam frequency; // in Hertz
     readonly attribute AudioParam detune; // in Cents
 
@@ -3734,11 +3710,6 @@
     being set to "custom".  The default value is "sine". </p>
     </dd>
 </dl>
-<dl>
-  <dt id="dfn-playbackState"><code>playbackState</code></dt>
-    <dd><p>defined as in <a href="#AudioBufferSourceNode-section"><code>AudioBufferSourceNode</code></a>. </p>
-    </dd>
-</dl>
 
 <dl>
   <dt id="dfn-frequency"><code>frequency</code></dt>