Changeset 95124 in webkit


Ignore:
Timestamp:
Sep 14, 2011 2:39:34 PM (13 years ago)
Author:
crogers@google.com
Message:

Address lifetime issues in OfflineAudioDestinationNode (take 2)
https://bugs.webkit.org/show_bug.cgi?id=68111

Reviewed by Kenneth Russell.

No new tests. This fixes existing layout tests.

  • webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::render):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r95121 r95124  
     12011-09-14  Chris Rogers  <crogers@google.com>
     2
     3        Address lifetime issues in OfflineAudioDestinationNode (take 2)
     4        https://bugs.webkit.org/show_bug.cgi?id=68111
     5
     6        Reviewed by Kenneth Russell.
     7
     8        No new tests.  This fixes existing layout tests.
     9
     10        * webaudio/OfflineAudioDestinationNode.cpp:
     11        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
     12        (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
     13        (WebCore::OfflineAudioDestinationNode::startRendering):
     14        (WebCore::OfflineAudioDestinationNode::render):
     15
    1162011-09-14  David Hyatt  <hyatt@apple.com>
    217
  • trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp

    r94984 r95124  
    4444    : AudioDestinationNode(context, renderTarget->sampleRate())
    4545    , m_renderTarget(renderTarget)
     46    , m_renderThread(0)
    4647    , m_startedRendering(false)
    4748{
     
    5354OfflineAudioDestinationNode::~OfflineAudioDestinationNode()
    5455{
    55     if (m_renderThread)
    56         waitForThreadCompletion(m_renderThread, 0);
    57    
    5856    uninitialize();
    5957}
     
    8482    if (!m_startedRendering) {
    8583        m_startedRendering = true;
     84        ref(); // See corresponding deref() call in notifyCompleteDispatch().
    8685        m_renderThread = createThread(OfflineAudioDestinationNode::renderEntry, this, "offline renderer");
    8786    }
     
    147146   
    148147    // Our work is done. Let the AudioContext know.
    149     // See corresponding deref() call in notifyCompleteDispatch().
    150     ref();
    151148    callOnMainThread(notifyCompleteDispatch, this);
    152149}
Note: See TracChangeset for help on using the changeset viewer.