servo/components/script_bindings/webidls/AudioContext.webidl
Josh Matthews af8d7c2de7
script: Move code generation and webidl files to new script_bindings crate. (#35157)
Signed-off-by: Josh Matthews <josh@joshmatthews.net>
2025-01-24 20:47:43 +00:00

40 lines
1.3 KiB
Text

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
/*
* The origin of this IDL file is
* https://webaudio.github.io/web-audio-api/#dom-audiocontext
*/
enum AudioContextLatencyCategory {
"balanced",
"interactive",
"playback"
};
dictionary AudioContextOptions {
(AudioContextLatencyCategory or double) latencyHint = "interactive";
float sampleRate;
};
dictionary AudioTimestamp {
double contextTime;
DOMHighResTimeStamp performanceTime;
};
[Exposed=Window]
interface AudioContext : BaseAudioContext {
[Throws] constructor(optional AudioContextOptions contextOptions = {});
readonly attribute double baseLatency;
readonly attribute double outputLatency;
AudioTimestamp getOutputTimestamp();
Promise<undefined> suspend();
Promise<undefined> close();
[Throws] MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
[Throws] MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
[Throws] MediaStreamTrackAudioSourceNode createMediaStreamTrackSource(MediaStreamTrack mediaStreamTrack);
[Throws] MediaStreamAudioDestinationNode createMediaStreamDestination();
};