ladybird/Libraries/LibWeb/WebAudio/AudioContext.idl
Shannon Booth e8f6c64617 LibWeb/Bindings: Use DOMHighResTimeStamp for AudioTimestamp
Update AudioTimestamp to match the Web Audio spec now that we properly
support this typedef resolution.
2026-05-26 21:43:57 +02:00

30 lines
1.3 KiB
Text

// https://webaudio.github.io/web-audio-api/#enumdef-audiocontextlatencycategory
enum AudioContextLatencyCategory { "balanced", "interactive", "playback" };
// https://webaudio.github.io/web-audio-api/#AudioContext
[Exposed=Window]
interface AudioContext : BaseAudioContext {
constructor(optional AudioContextOptions contextOptions = {});
readonly attribute double baseLatency;
readonly attribute double outputLatency;
AudioTimestamp getOutputTimestamp ();
Promise<undefined> resume ();
Promise<undefined> suspend ();
Promise<undefined> close ();
MediaElementAudioSourceNode createMediaElementSource (HTMLMediaElement mediaElement);
[FIXME] MediaStreamAudioSourceNode createMediaStreamSource (MediaStream mediaStream);
[FIXME] MediaStreamTrackAudioSourceNode createMediaStreamTrackSource (MediaStreamTrack mediaStreamTrack);
[FIXME] MediaStreamAudioDestinationNode createMediaStreamDestination ();
};
// https://webaudio.github.io/web-audio-api/#AudioContextOptions
dictionary AudioContextOptions {
(AudioContextLatencyCategory or double) latencyHint = "interactive";
float sampleRate;
};
// https://webaudio.github.io/web-audio-api/#AudioTimestamp
dictionary AudioTimestamp {
double contextTime;
DOMHighResTimeStamp performanceTime;
};