gecko-dev/dom/webidl/AudioBufferSourceNode.webidl
Paul Adenot c17dc41bb3 Bug 1161025 - Reject attempts to set non-null AudioBufferSourceNode.buffer more than once r=karlt,baku
as spec'd in https://github.com/WebAudio/web-audio-api/pull/743

This also removes the crashtests that don't apply anymore now that a buffer
cannot be set more than once, and changes another one so it still tests what
needs to be tested, but doesn't time-out.

Differential Revision: https://phabricator.services.mozilla.com/D58756

--HG--
extra : moz-landing-system : lando
2020-02-05 16:26:52 +00:00

45 lines
1.4 KiB
Plaintext

/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* 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 http://mozilla.org/MPL/2.0/.
*
* The origin of this IDL file is
* https://webaudio.github.io/web-audio-api/
*
* Copyright © 2012 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C
* liability, trademark and document use rules apply.
*/
dictionary AudioBufferSourceOptions {
AudioBuffer? buffer;
float detune = 0;
boolean loop = false;
double loopEnd = 0;
double loopStart = 0;
float playbackRate = 1;
};
[Pref="dom.webaudio.enabled",
Exposed=Window]
interface AudioBufferSourceNode : AudioScheduledSourceNode {
constructor(BaseAudioContext context,
optional AudioBufferSourceOptions options = {});
[SetterThrows]
attribute AudioBuffer? buffer;
readonly attribute AudioParam playbackRate;
readonly attribute AudioParam detune;
attribute boolean loop;
attribute double loopStart;
attribute double loopEnd;
[Throws]
void start(optional double when = 0, optional double grainOffset = 0,
optional double grainDuration);
};
// Mozilla extensions
AudioBufferSourceNode includes AudioNodePassThrough;