blob: 010f3aa8cfeb4cb98a6815deff034e3f193dec16 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// See https://webaudio.github.io/web-audio-api/#audioworkletglobalscope
[
Exposed=AudioWorklet,
Global=(Worklet,AudioWorklet)
] interface AudioWorkletGlobalScope : WorkletGlobalScope {
[RaisesException, MeasureAs=AudioWorkletGlobalScopeRegisterProcessor] void registerProcessor(DOMString name, BlinkAudioWorkletProcessorConstructor processorCtor);
readonly attribute unsigned long long currentFrame;
readonly attribute double currentTime;
readonly attribute float sampleRate;
};
// Blink-specific types
// https://webaudio.github.io/web-audio-api/#instantiation-of-AudioWorkletNode-and-AudioWorkletProcessor
// The name 'AudioWorkletProcessorConstructor' is already taken by a hack of
// constructor-property-aliasing.
callback BlinkAudioWorkletProcessorConstructor = any (any options);
// https://webaudio.github.io/web-audio-api/#rendering-loop
// 'Blink' prefix is added to be consistent with
// BlinkAudioWorkletProcessorConstructor.
callback BlinkAudioWorkletProcessCallback = any (any inputs, any outputs, any paramValues);