Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1160)

Unified Diff: modules/webaudio/AudioContext.idl

Issue 1660113002: Updated to Chrome 45 (2454) moved from SVN to git. Base URL: https://github.com/dart-lang/webcore.git@roll_45
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « modules/webaudio/AudioBufferSourceNode.idl ('k') | modules/webaudio/AudioListener.idl » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: modules/webaudio/AudioContext.idl
diff --git a/modules/webaudio/AudioContext.idl b/modules/webaudio/AudioContext.idl
index cc74984bf62b26013464fda70057414934b5a23b..63617aaa03e413a9f7ea44043a470d83ebef6781 100644
--- a/modules/webaudio/AudioContext.idl
+++ b/modules/webaudio/AudioContext.idl
@@ -23,6 +23,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+enum AudioContextState {
+ "suspended",
+ "running",
+ "closed"
+};
+
[
GarbageCollected,
ActiveDOMObject,
@@ -32,7 +38,6 @@
NoInterfaceObject,
RaisesException=Constructor,
] interface AudioContext : EventTarget {
-
// All rendered audio ultimately connects to destination, which represents the audio hardware.
readonly attribute AudioDestinationNode destination;
@@ -45,40 +50,46 @@
// All panning is relative to this listener.
readonly attribute AudioListener listener;
+ // Current state of the AudioContext
+ readonly attribute AudioContextState state;
+
[RaisesException] AudioBuffer createBuffer(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate);
// Asynchronous audio file data decoding.
- // FIXMEDART(ager): Auto-generate this custom method when the info about
- // retaining typed arrays is in the IDL.
- [RaisesException, DartCustom] void decodeAudioData(ArrayBuffer audioData, AudioBufferCallback successCallback, optional AudioBufferCallback errorCallback);
+ [RaisesException, MeasureAs=AudioContextDecodeAudioData] void decodeAudioData(ArrayBuffer audioData, AudioBufferCallback successCallback, optional AudioBufferCallback errorCallback);
// Sources
- AudioBufferSourceNode createBufferSource();
+ [RaisesException, MeasureAs=AudioContextCreateBufferSource] AudioBufferSourceNode createBufferSource();
- [RaisesException] MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
+ [RaisesException, MeasureAs=AudioContextCreateMediaElementSource] MediaElementAudioSourceNode createMediaElementSource(HTMLMediaElement mediaElement);
- [RaisesException] MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
- MediaStreamAudioDestinationNode createMediaStreamDestination();
+ [RaisesException, MeasureAs=AudioContextCreateMediaStreamSource, RaisesException] MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream);
+ [RaisesException, MeasureAs=AudioContextCreateMediaStreamDestination] MediaStreamAudioDestinationNode createMediaStreamDestination();
// Processing nodes
- GainNode createGain();
- [RaisesException] DelayNode createDelay(optional double maxDelayTime);
- BiquadFilterNode createBiquadFilter();
- WaveShaperNode createWaveShaper();
- PannerNode createPanner();
- ConvolverNode createConvolver();
- DynamicsCompressorNode createDynamicsCompressor();
- AnalyserNode createAnalyser();
- [RaisesException] ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize, optional unsigned long numberOfInputChannels, optional unsigned long numberOfOutputChannels);
- OscillatorNode createOscillator();
- [RaisesException] PeriodicWave createPeriodicWave(Float32Array real, Float32Array imag);
+ [RaisesException, MeasureAs=AudioContextCreateGain] GainNode createGain();
+ [RaisesException, MeasureAs=AudioContextCreateDelay] DelayNode createDelay(optional double maxDelayTime);
+ [RaisesException, MeasureAs=AudioContextCreateBiquadFilter] BiquadFilterNode createBiquadFilter();
+ [RaisesException, MeasureAs=AudioContextCreateWaveShaper] WaveShaperNode createWaveShaper();
+ [RaisesException, MeasureAs=AudioContextCreatePanner] PannerNode createPanner();
+ [RaisesException, MeasureAs=AudioContextCreateConvolver] ConvolverNode createConvolver();
+ [RaisesException, MeasureAs=AudioContextCreateDynamicsCompressor] DynamicsCompressorNode createDynamicsCompressor();
+ [RaisesException, MeasureAs=AudioContextCreateAnalyser] AnalyserNode createAnalyser();
+ [RaisesException, MeasureAs=AudioContextCreateScriptProcessor, RaisesException] ScriptProcessorNode createScriptProcessor(optional unsigned long bufferSize, optional unsigned long numberOfInputChannels, optional unsigned long numberOfOutputChannels);
+ [RaisesException, MeasureAs=AudioContextCreateStereoPanner] StereoPannerNode createStereoPanner();
+ [RaisesException, MeasureAs=AudioContextCreateOscillator] OscillatorNode createOscillator();
+ [RaisesException, MeasureAs=AudioContextCreatePeriodicWave, RaisesException] PeriodicWave createPeriodicWave(Float32Array real, Float32Array imag);
// Channel splitting and merging
- [RaisesException] ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs);
- [RaisesException] ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs);
+ [RaisesException, MeasureAs=AudioContextCreateChannelSplitter] ChannelSplitterNode createChannelSplitter(optional unsigned long numberOfOutputs);
+ [RaisesException, MeasureAs=AudioContextCreateChannelMerger] ChannelMergerNode createChannelMerger(optional unsigned long numberOfInputs);
+
+ // Close
+ [MeasureAs=AudioContextClose, CallWith=ScriptState, ImplementedAs=closeContext] Promise<void> close();
+
+ // Pause/resume
+ [MeasureAs=AudioContextSuspend, CallWith=ScriptState, ImplementedAs=suspendContext] Promise<void> suspend();
+ [MeasureAs=AudioContextResume, CallWith=ScriptState, ImplementedAs=resumeContext] Promise<void> resume();
- // Offline rendering
- // void prepareOfflineBufferRendering(unsigned long numberOfChannels, unsigned long numberOfFrames, float sampleRate);
- attribute EventHandler oncomplete;
- void startRendering();
+ attribute EventHandler onstatechange;
};
« no previous file with comments | « modules/webaudio/AudioBufferSourceNode.idl ('k') | modules/webaudio/AudioListener.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698