Chromium Code Reviews| Index: Source/modules/webaudio/AudioBufferSourceNode.cpp |
| diff --git a/Source/modules/webaudio/AudioBufferSourceNode.cpp b/Source/modules/webaudio/AudioBufferSourceNode.cpp |
| index 2d4e5278dd069a39c15e1e5f78025b92c46ccf4c..e000ec3f583663c1cfddd0a98a80c9d2160821ce 100644 |
| --- a/Source/modules/webaudio/AudioBufferSourceNode.cpp |
| +++ b/Source/modules/webaudio/AudioBufferSourceNode.cpp |
| @@ -485,6 +485,12 @@ void AudioBufferSourceHandler::startSource(double when, double grainOffset, doub |
| m_grainOffset = grainOffset; |
| m_grainDuration = grainDuration; |
| + // The node is started. Add a reference to keep us alive so that audio |
| + // willeventually get played even if Javascript should drop all references |
|
Raymond Toy
2015/05/01 17:00:36
Typo: "willeventually"
|
| + // to this node. The reference will get dropped when the source has finished |
| + // playing. |
| + context()->notifySourceNodeStartedProcessing(node()); |
| + |
| // If |when| < currentTime, the source must start now according to the spec. |
| // So just set startTime to currentTime in this case to start the source now. |
| m_startTime = std::max(when, context()->currentTime()); |