Changeset 116465 in webkit


Ignore:
Timestamp:
May 8, 2012 4:24:04 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

JavaScriptAudioNode should not ASSERT if number of input channels is 0
https://bugs.webkit.org/show_bug.cgi?id=85818

Patch by Raymond Toy <Raymond Toy> on 2012-05-08
Reviewed by Eric Seidel.

Source/WebCore:

Test: webaudio/javascriptaudionode-zero-input-channels.html

  • Modules/webaudio/JavaScriptAudioNode.cpp:

(WebCore::JavaScriptAudioNode::process): Update buffersAreGood.
(WebCore::JavaScriptAudioNode::fireProcessEvent): Remove ASSERT.

LayoutTests:

  • webaudio/javascriptaudionode-zero-input-channels-expected.txt: Added.
  • webaudio/javascriptaudionode-zero-input-channels.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r116464 r116465  
     12012-05-08  Raymond Toy  <rtoy@google.com>
     2
     3        JavaScriptAudioNode should not ASSERT if number of input channels is 0
     4        https://bugs.webkit.org/show_bug.cgi?id=85818
     5
     6        Reviewed by Eric Seidel.
     7
     8        * webaudio/javascriptaudionode-zero-input-channels-expected.txt: Added.
     9        * webaudio/javascriptaudionode-zero-input-channels.html: Added.
     10
    1112012-05-08  Alexander Shalamov  <alexander.shalamov@intel.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r116463 r116465  
     12012-05-08  Raymond Toy  <rtoy@google.com>
     2
     3        JavaScriptAudioNode should not ASSERT if number of input channels is 0
     4        https://bugs.webkit.org/show_bug.cgi?id=85818
     5
     6        Reviewed by Eric Seidel.
     7
     8        Test: webaudio/javascriptaudionode-zero-input-channels.html
     9
     10        * Modules/webaudio/JavaScriptAudioNode.cpp:
     11        (WebCore::JavaScriptAudioNode::process): Update buffersAreGood.
     12        (WebCore::JavaScriptAudioNode::fireProcessEvent): Remove ASSERT.
     13
    1142012-05-08  Dana Jansens  <danakj@chromium.org>
    215
  • trunk/Source/WebCore/Modules/webaudio/JavaScriptAudioNode.cpp

    r115699 r116465  
    152152
    153153    // Check the consistency of input and output buffers.
    154     bool buffersAreGood = inputBuffer && outputBuffer && bufferSize() == inputBuffer->length() && bufferSize() == outputBuffer->length()
    155         && m_bufferReadWriteIndex + framesToProcess <= bufferSize();
     154    unsigned numberOfInputChannels = m_internalInputBus.numberOfChannels();
     155    bool buffersAreGood = outputBuffer && bufferSize() == outputBuffer->length() && m_bufferReadWriteIndex + framesToProcess <= bufferSize();
     156
     157    // If the number of input channels is zero, it's ok to have inputBuffer = 0.
     158    if (m_internalInputBus.numberOfChannels())
     159        buffersAreGood = buffersAreGood && inputBuffer && bufferSize() == inputBuffer->length();
     160
    156161    ASSERT(buffersAreGood);
    157162    if (!buffersAreGood)
     
    164169        return;
    165170
    166     unsigned numberOfInputChannels = m_internalInputBus.numberOfChannels();
    167171    unsigned numberOfOutputChannels = outputBus->numberOfChannels();
    168172
     
    232236    AudioBuffer* inputBuffer = m_inputBuffers[m_doubleBufferIndexForEvent].get();
    233237    AudioBuffer* outputBuffer = m_outputBuffers[m_doubleBufferIndexForEvent].get();
    234     ASSERT(inputBuffer && outputBuffer);
    235     if (!inputBuffer || !outputBuffer)
     238    ASSERT(outputBuffer);
     239    if (!outputBuffer)
    236240        return;
    237241
Note: See TracChangeset for help on using the changeset viewer.