16b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner/*
26b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * Copyright (C) 2010, Google Inc. All rights reserved.
36b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner *
46b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * Redistribution and use in source and binary forms, with or without
56b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * modification, are permitted provided that the following conditions
66b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * are met:
76b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * 1.  Redistributions of source code must retain the above copyright
86b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner *    notice, this list of conditions and the following disclaimer.
96b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * 2.  Redistributions in binary form must reproduce the above copyright
106b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner *    notice, this list of conditions and the following disclaimer in the
116b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner *    documentation and/or other materials provided with the distribution.
126b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner *
136b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
146b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
156b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
166b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
176b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
186b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
196b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
206b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
216b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
226b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
236b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner */
246b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner
256b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brennermodule audio {
266b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    // For real-time audio stream synthesis/processing in JavaScript
276b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    interface [
286b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        Conditional=WEB_AUDIO,
296b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        GenerateToJS,
306b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        CustomMarkFunction,
316b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#if defined(V8_BINDING) && V8_BINDING
326b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        EventTarget
336b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner#endif
346b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    ] JavaScriptAudioNode : AudioNode {
356b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        // Rendering callback
366b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        attribute EventListener onaudioprocess;
376b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner
386b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner        readonly attribute long bufferSize;
396b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner    };
406b70adc33054f8aee8c54d0f460458a9df11b8a5Russell Brenner}
41