Commit Graph

25 Commits

Author SHA1 Message Date
Robert O'Callahan
fc44cd635c Bug 804837. Part 0: Rework the connection and input/output port logic for Web Audio nodes; r=ehsan
Here's what this patch does:
-- Makes AudioNodes mostly not use nsWrapperCache. AudioDestinationNode
still does.
-- Rename MaxNumberOfInputs/Outputs to NumberOfInputs/Outputs, and have them
default to 1 in AudioNode.
-- Allow any number of nodes to be connected to any given input/output port.
2013-01-23 19:50:18 -05:00
Ehsan Akhgari
16e89b722a Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Ehsan Akhgari
3c00b9a104 Bug 827541 follow-up: Make sure that the test case actually instantiates an AudioContext object the first time, as opposed to just access the constructor function through a property access 2013-01-15 01:15:25 -05:00
Andrew McCreight
e8316cb0be Bug 827541 - Traverse/Unlink nsGlobalWindow::mAudioContexts. r=ehsan 2013-01-14 15:22:00 -08:00
Ehsan Akhgari
f2c331d256 Bug 816828 - Implement AudioContext.sampleRate; r=bzbarsky 2012-11-29 22:31:39 -05:00
Boris Zbarsky
67bc51cf16 Bug 767933 part 4. Make 'float' and 'double' types throw on non-finite values. r=khuey,ehsan,bas 2012-11-27 15:32:05 -05:00
Ehsan Akhgari
8dc074cef8 Bug 812390 - Protect against NaN in AudioContext.createDelay; r=bzbarsky 2012-11-15 17:48:04 -08:00
Ehsan Akhgari
bb1d6972af Bug 811864 - Remove PannerNode.coneGain/distanceGain; r=bzbarsky 2012-11-14 13:03:24 -08:00
Ehsan Akhgari
d6aa3be16d Bug 811555 - Make AudioContext.createDelay not accept arguments greater than or equal to 3; r=bzbarsky
--HG--
extra : rebase_source : 5ad2006acb9c27ba7f94c0d1858a19d71cc663c4
2012-11-13 16:46:25 -08:00
Ehsan Akhgari
5c3198f30a Bug 809882 - Disallow non-positive arguments to AudioContext.createDelay; r=bzbarsky 2012-11-08 13:17:22 -05:00
Ehsan Akhgari
5114440464 Add the missing file for the test in bug 809654 2012-11-08 09:33:12 -05:00
Ehsan Akhgari
19a5f2cb0b Bug 809654 - Implement BiquadFilterNode; r=bzbarsky 2012-11-07 20:59:14 -05:00
Ehsan Akhgari
8426704b9f Bug 809271 - Implement DynamicsCompressorNode; r=bzbarsky 2012-11-06 20:01:11 -05:00
Ehsan Akhgari
5a4f074522 Bug 808876 - Part 1: Implement PannerNode; r=bzbarsky
--HG--
extra : rebase_source : a7b901dcc7758ff9c7a8917a956d0541187fea07
2012-11-05 21:14:13 -05:00
Ehsan Akhgari
3bcb2b8761 Backed out changeset ecf0c2a7cb9f (bug 808876) for build bustage 2012-11-05 22:30:08 -05:00
Ehsan Akhgari
ad84bd3d7f Bug 808876 - Implement PannerNode; r=bzbarsky 2012-11-05 21:14:13 -05:00
Ehsan Akhgari
448c1c4497 Bug 808841 - Implement AudioContext.listener; r=bzbarsky 2012-11-05 19:26:03 -05:00
Ehsan Akhgari
972faa6f3c Bug 808374 - Balance holding and dropping the JS object references for AudioBuffers initialized with 0 channels; r=mmcr8 2012-11-05 13:49:35 -05:00
Ehsan Akhgari
41f9f14161 Bug 807533 - Implement DelayNode; r=bzbarsky
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00
Ehsan Akhgari
8ba6137c34 Bug 807526 - Implement GainNode; r=bzbarsky 2012-10-31 15:09:32 -04:00
Ehsan Akhgari
482a4e003a Bug 797150 - Rename AudioBufferSourceNode's noteOn and noteOff to start/stop; r=bzbarsky 2012-10-02 18:15:33 -04:00
Ehsan Akhgari
707fdff5de Bug 792649 - Make the simplest of Web Audio tests work without audio playback for now; r=bzbarsky 2012-09-24 23:31:58 -04:00
Ehsan Akhgari
697bec41a5 Bug 793294 - Implement AudioBuffer; r=bzbarsky,smaug
This is the full implementation of the AudioBuffer object.  There are
two ways to create these objects from an audio context and this patch
implements only one of them.

The construction of the AudioBuffer object is a two step process: the
object should be created with operator new first, and then
InitializeBuffers should be called on it.  InitializeBuffers is
fallible, because it uses the JS API to create the underlying typed
arrays, but that's fine, since the length of the buffers comes from web
content, and we don't want to use infallible allocations for those
anyways.

We hold on to the JS objects from the C++ implementation, and trace
through all of those objects, so that a GC does not kill those object
without us knowing.

The buffer should be possible to manipulate from both C++ and JS, and
the C++ object probably needs to support a set of methods for the C++
callers at some point.
2012-09-25 17:58:50 -04:00
Ehsan Akhgari
06ee07ffb8 Bug 788310 - Hide mozAudioContext behind a pref; r=bzbarsky 2012-09-07 18:13:26 -04:00
Ehsan Akhgari
d0afe916e7 Bug 775302 - Stub out the implementation of mozAudioContext; r=bzbarsky,khuey 2012-08-31 16:59:37 -04:00