summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/blink/renderer/modules/webaudio/audio_worklet_global_scope.idl
blob: 010f3aa8cfeb4cb98a6815deff034e3f193dec16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// 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);