Bug 914030 - Update AudioNode ownership comment. r=roc, a=akeybl
Bug 914030 - Remove MediaBufferDecoder::Shutdown(), no longer necessary since bug 900711, as part of making AudioContext::Shutdown() idempotent. r=ehsan, a=akeybl
Bug 914030 - Shut down an AudioDestinationNode's graph on destruction, if not already. r=ehsan, a=akeybl

This means that the graph will be shutdown properly, even if the
AudioDestinationNode is unlinked before AudioContext::Shutdown() is called.

Making MediaStreamGraph::DestroyNonRealtimeInstance() idempotent also makes
AudioContext::Shutdown() idempotent.
Bug 914030 - Shutdown an OfflineAudioContext when it has completed. r=ehsan, a=akeybl

This is needed to remove self-references in the graph when no more processing
will take place on the graph.
Bug 914030 - Keep a self reference on destination while offline context is rendering. r=ehsan, a=akeybl
Bug 914030 - Don't keep alive used AudioContexts from the window. r=ehsan, r=bz, a=akeybl
Bug 910171 - Add a general means to keep active nodes alive from the AudioContext. r=ehsan, a=akeybl

AudioNodes that keep playing or tail-time references need to have these
references cleared when an AudioContext has completed or is shut down by the
window.

Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report playing references to the cycle collector until
offline rendering starts for bug 914033.  This is not necessary for tail-time
references, but it is tidier to use the same code for playing and tail-time
references.
Bug 910171 - Register tail references with the AudioContext so they can be removed when the rendering is complete. r=ehsan, a=akeybl
Bug 908669 - Use band-limited impulse trains (BLIT) for OscillatorNode. r=rillian, a=akeybl

This fixes the aliasing noise in the default oscillator types.
Bug 917260 - Nullcheck Destination() in AudioContext::DestinationStream. r=ehsan, a=akeybl
Bug 917260 - Null check mDestination in AudioContext::Shutdown(). r=ehsan, a=akeybl

This handles the case where Shutdown() is called after Unlink() (but before the destructor).
Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan, a=akeybl
Bug 881959 - Tell the MediaStreamGraph when changes to the graph occur. r=roc, a=akeybl
Bug 881959 - Tests for cycles in WebAudio graphs. r=ehsan, a=akeybl
Bug 881959 - Clamp the DelayNode.delayTime to 128/AudioContext.sampleRate when in a cycle. r=ehsan, a=akeybl
Bug 881959 - Handle self-connection. r=ehsan, a=akeybl
Bug 916773 - Initialize mLatency in SharedBuffer's constructor. r=ehsan, a=akeybl