Skip to content
  • crogers@google.com's avatar
    Implement AudioBufferSourceNode .loopStart and .loopEnd attributes · 806c69ce
    crogers@google.com authored
    https://bugs.webkit.org/show_bug.cgi?id=100170
    
    Reviewed by Kenneth Russell.
    
    Source/WebCore:
    
    AudioBufferSourceNode currently only supports looping of an entire AudioBuffer.
    Sample-based synthesis is a very common technique which requires "internal" loop-points.
    For example, the first part of the sample data might represent the attack portion of
    a synthesized instrument, which then enters a loop portion.
    
    Tests: webaudio/audiobuffersource-loop-comprehensive.html
           webaudio/audiobuffersource-loop-points.html
    
    * Modules/webaudio/AudioBufferSourceNode.cpp:
    (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
    (WebCore::AudioBufferSourceNode::process):
    (WebCore::AudioBufferSourceNode::renderFromBuffer):
    * Modules/webaudio/AudioBufferSourceNode.h:
    (AudioBufferSourceNode):
    (WebCore::AudioBufferSourceNode::loopStart):
    (WebCore::AudioBufferSourceNode::loopEnd):
    (WebCore::AudioBufferSourceNode::setLoopStart):
    (WebCore::AudioBufferSourceNode::setLoopEnd):
    * Modules/webaudio/AudioBufferSourceNode.idl:
    
    LayoutTests:
    
    * webaudio/audiobuffersource-loop-comprehensive-expected.txt: Added.
    * webaudio/audiobuffersource-loop-comprehensive.html: Added.
    * webaudio/audiobuffersource-loop-points-expected.wav: Added.
    * webaudio/audiobuffersource-loop-points.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    806c69ce