Skip to content
  • commit-queue@webkit.org's avatar
    ConvolverNode should not incur processing latency · bd83f1a0
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=75564
    
    Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-03-19
    Reviewed by Chris Rogers.
    
    Source/WebCore:
    
    Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
    
    * WebCore.gypi:
    * platform/audio/DirectConvolver.cpp: Added.
    (WebCore):
    (WebCore::DirectConvolver::DirectConvolver):
    (WebCore::DirectConvolver::process):
    (WebCore::DirectConvolver::reset):
    * platform/audio/DirectConvolver.h: Added.
    (WebCore):
    (DirectConvolver):
    (WebCore::DirectConvolver::convolveSize):
    * platform/audio/ReverbConvolver.cpp:
    (WebCore::ReverbConvolver::ReverbConvolver):
    * platform/audio/ReverbConvolver.h:
    * platform/audio/ReverbConvolverStage.cpp:
    (WebCore::ReverbConvolverStage::ReverbConvolverStage):
    (WebCore::ReverbConvolverStage::process):
    (WebCore::ReverbConvolverStage::reset):
    * platform/audio/ReverbConvolverStage.h:
    (WebCore):
    (ReverbConvolverStage):
    
    LayoutTests:
    
    No need to check the initial silent part because the latency issue of ConvolverNode is fixed.
    
    * webaudio/convolution-mono-mono-expected.txt:
    * webaudio/resources/convolution-testing.js:
    (checkTriangularPulse):
    (checkTail1):
    (checkConvolvedResult.return.var):
    (checkConvolvedResult):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111227 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bd83f1a0