b=914030 shutdown an OfflineAudioContext when it has completed r=ehsan
authorKarl Tomlinson <karlt+@karlt.net>
Tue, 10 Sep 2013 17:10:36 +1200
changeset 159661 976ea2dba9184ad3b61ee4f46d4cf048c2a5362d
parent 159660 86c85d70255687bccfa47a114dc709751fe7c9cc
child 159662 18a21a1b330b7b57e078b1636646a28dbe789ba7
push id2961
push userlsblakk@mozilla.com
push dateMon, 28 Oct 2013 21:59:28 +0000
treeherdermozilla-beta@73ef4f13486f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersehsan
bugs914030
milestone26.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
b=914030 shutdown an OfflineAudioContext when it has completed r=ehsan This is needed to remove self-references in the graph when no more processing will take place on the graph.
content/media/webaudio/AudioDestinationNode.cpp
--- a/content/media/webaudio/AudioDestinationNode.cpp
+++ b/content/media/webaudio/AudioDestinationNode.cpp
@@ -125,16 +125,17 @@ public:
           AudioNode* node = mStream->Engine()->Node();
           if (node) {
             context = node->Context();
           }
         }
         if (!context) {
           return NS_OK;
         }
+        context->Shutdown();
 
         AutoPushJSContext cx(context->GetJSContext());
         if (cx) {
           JSAutoRequest ar(cx);
 
           // Create the input buffer
           nsRefPtr<AudioBuffer> renderedBuffer = new AudioBuffer(context,
                                                                  mLength,