Commit Graph

146 Commits

Author SHA1 Message Date
Masatoshi Kimura
7fcc5c4dbc Bug 859022 - Remove the MSVC exemption for FAIL_ON_WARNINGS in content/media. r=roc 2013-06-27 20:30:41 +09:00
Ehsan Akhgari
556060ee93 Bug 865256 - Part 2: Rename WaveTable to PeriodicWave; r=roc
--HG--
rename : content/media/webaudio/WaveTable.cpp => content/media/webaudio/PeriodicWave.cpp
rename : content/media/webaudio/WaveTable.h => content/media/webaudio/PeriodicWave.h
rename : content/media/webaudio/test/test_waveTable.html => content/media/webaudio/test/test_periodicWave.html
rename : dom/webidl/WaveTable.webidl => dom/webidl/PeriodicWave.webidl
2013-06-19 18:24:26 -04:00
Boris Zbarsky
508d09f9f8 Bug 883827. Make Optional<NonNull<T>> and Optional<OwningNonNull<T>> nicer to use by having their const Value() method return a T&. r=peterv 2013-06-19 14:48:43 -04:00
Josh Matthews
e9baa064b2 Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc 2013-05-21 15:17:47 -04:00
Ehsan Akhgari
bcac308338 Bug 815643 - Part 1: Implement the DOM bindings for ConvolverNode; r=roc
--HG--
extra : rebase_source : 9f6853dcaeeac1f36aa8c2ee90991a7f0ea0b145
2013-06-10 16:07:55 -04:00
Paul Adenot
3aa35d131a Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Ehsan Akhgari
81dc335548 Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc 2013-05-30 20:54:07 -04:00
Ehsan Akhgari
1de812f9ff Bug 877231 - Make the error checking for the OfflineAudioContext constructor more strict; r=roc
--HG--
extra : rebase_source : 123a39f3d4a169c85927b4e23f99a9962efc4452
2013-05-29 19:35:30 -04:00
Ehsan Akhgari
fe9a997fa6 Bug 876118 - Impose a unified channel count limit of 10000 channels in Web Audio; r=roc
--HG--
extra : rebase_source : 480cebb99e5dd8673df179b490d11e6c513fa1d1
2013-05-29 07:36:37 -04:00
Ehsan Akhgari
042b85c631 Bug 876834 - Do not accept sampling rates which we won't be able to handle when creating an OfflineAudioContext; r=roc 2013-05-29 00:10:52 -04:00
Ehsan Akhgari
d923161800 Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc 2013-05-28 07:19:07 -04:00
Ehsan Akhgari
6d703a83b0 Bug 873553 - Part 10: Allow creating OfflineAudioContexts with arbitrary sampling rates; r=roc
--HG--
extra : rebase_source : 99758cbe05b83d34734e4df11f30ebbbd12811df
2013-05-24 13:11:32 -04:00
Ehsan Akhgari
d0bcd953b7 Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
530a84ad34 Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc 2013-05-23 22:39:36 -04:00
Ehsan Akhgari
15180e2c8e Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc 2013-05-23 08:26:21 -04:00
Ehsan Akhgari
e5e74aa411 Bug 836599 - Part 12: Fix the lifetime management of the Web Audio graph in presence of OfflineAudioContexts; r=roc
Here we make the non-realtime graphs to go to sleep until they're shut down
from the main thread.  This allows us to use the common forced shutdown code
path in MediaStreamGraphImpl::RunThread.  We also need to delete the graph
object when the last message is dispatched to it.

In addition, we need to make sure that the AudioNodes also get released when
they're no longer needed.  To do this, we need for force the SelfReference of
AudioBufferSourceNodes to be released when the context is shut down, and also
trigger the destruction of the graph there.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
e27939f54d Bug 836599 - Part 10: Use the non-realtime MediaStreamGraph API and a custom destination node engine for OfflineAudioContext; r=roc
We offload most of the logic for OfflineAudioContext to the destination node,
since that's where the sample recording needs to happen, so doing this will
make the code simpler.
2013-05-16 19:30:42 -04:00
Ehsan Akhgari
a96e98f013 Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc 2013-05-16 19:30:41 -04:00
Ehsan Akhgari
a0b78d269a Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00
Ehsan Akhgari
308783cb5d Bug 870174 - Eliminate some lags and glitches caused by resampling in decodeAudioData and AudioBufferSourceNode.cpp, and make the code simpler too!; r=roc
X-Git-Commit-ID: d9ad3597291b9f656712dcdd15725afcc3882fa1
X-Mailer: git-send-email

--HG--
extra : rebase_source : 5f51d27aec53fd5e9ab868e799ce05ee2b7692d4
2013-05-13 00:17:00 -04:00
Ehsan Akhgari
855b90e600 Bug 865248 - Implement ChannelMergerNode; r=roc
--HG--
rename : content/media/webaudio/ChannelSplitterNode.h => content/media/webaudio/ChannelMergerNode.h
2013-05-05 11:49:37 -04:00
Ehsan Akhgari
cb9c2a7a4c Bug 865247 - Part 4: Implement ChannelSplitterNode; r=roc 2013-05-05 11:49:13 -04:00
Ehsan Akhgari
7ea8b318c7 Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc 2013-05-05 11:15:58 -04:00
James Willcox
26839b9119 Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan
--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
2013-05-03 16:42:28 -04:00
Matt Brubeck
eb1363b174 Back out changeset 1a0f522cf110 (bug 848652) because of assertion failures in MediaBufferDecoder.cpp
CLOSED TREE

--HG--
rename : content/media/webaudio/test/test_mediaDecoding.html => content/media/webaudio/test/test_decodeAudioData.html
2013-05-03 15:18:06 -07:00
James Willcox
9b1a0377f4 # ebe5edd8c0ac367c043437a674d4200cf4525757
Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan

--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
extra : rebase_source : 7b0926091743dd6cd17a0adee9a6d3c5181dfa4d
2013-05-03 16:42:28 -04:00
Paul Adenot
6e76c43d3d Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : dc94f66dbb4291226ab3f2c6c1ad8dc7aa4081e7
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
96b8756891 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : 3c580a0feba39d01779a91e6bd10a10d98cb7114
2013-04-30 19:20:55 -04:00
Ed Morley
bbd462e94e Backed out changeset 2938c2e1f7e7 (bug 867203) since part 1 had to be backed out for conflicts 2013-05-03 10:10:18 +01:00
Ed Morley
a98a3b019c Backed out changeset b66017604bdd (bug 867203) 2013-05-03 09:19:43 +01:00
Paul Adenot
5bc11a52c7 Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 1b4bb979fd34dabc470ed8e59a40deaff0fa61a5
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
1e87638631 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : e4aca1ebb975e04e8821df0377ee652e18755ed7
2013-04-30 19:20:55 -04:00
Ehsan Akhgari
febaf4a1a5 Bug 867324 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc
(This time with the correct bug #)
2013-04-30 16:01:39 -04:00
Ehsan Akhgari
23d66661c0 Backed out changeset cace8e8e8556 because of the wrong bug number 2013-05-01 01:15:09 -04:00
Ehsan Akhgari
ffdb7c03e4 Bug 860958 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc 2013-04-30 16:01:39 -04:00
Andrew McCreight
6b31bf18b4 Bug 866570 - AudioContext should use its superclass's CC stuff. r=smaug 2013-04-29 06:04:59 -07:00
Ehsan Akhgari
6d602f4c09 Bug 866108 - Part 2: Do not assume that we can always get a script global from the context's window; r=padenot 2013-04-27 18:44:13 -04:00
Ehsan Akhgari
38f134b992 Bug 859600 - Make AudioContext an EventTarget; r=smaug 2013-04-25 00:28:39 -04:00
Boris Zbarsky
f75142b01d Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Ehsan Akhgari
eac64e1821 Bug 865548 - Convert the node arrays in AudioContext to hashsets; r=padenot 2013-04-24 23:32:41 -04:00
Ehsan Akhgari
febd320fc7 Bug 864351 - Hold on to a SelfReference for ScriptProcessorNodes to make sure that they won't go away prematurely if they're used as source nodes; r=padenot 2013-04-22 21:23:54 -04:00
Ehsan Akhgari
a09ccd781d Bug 864322 - Stop all audio buffer source nodes when the context is being shut down to prevent leaks in the graph; r=padenot
--HG--
extra : rebase_source : a64d445609ac9892d0fae36122fdc25e1437f400
2013-04-22 11:45:34 -04:00
Ehsan Akhgari
51c4aebe76 Bug 834513 - Part 3: Implement ScriptProcessorNode; r=roc 2013-04-13 21:37:04 -04:00
Ehsan Akhgari
eb671321e6 Bug 834513 - Part 1: Refactor WebAudioDecodeJob::GetJSContext into AudioContext; r=roc 2013-04-14 14:18:43 -04:00
Ehsan Akhgari
97fdf4af59 Bug 853298 - Part 2: Make AudioNode an EventTarget; r=smaug 2013-04-12 11:28:33 -04:00
Ehsan Akhgari
2d790c190b Bug 853298 - Part 1: Switch the ownership model of audio nodes to be based the cycle collector with wrapper caches; r=roc
Here is what this patch does:
 * Got rid of the JSBindingFinalized stuff
 * Made all nodes wrappercached
 * Started to hold a self reference while the AudioBufferSourceNode is playing back
 * Converted the input references to weak references
 * Got rid of all of the SetProduceOwnOutput and UpdateOutputEnded logic

The nodes are now collected by the cycle collector which calls into
DisconnectFromGraph which drops the references to other nodes and destroys the
media stream.  Note that most of the cycles that are now inherent in the
ownership model are between nodes and their AudioParams (that is, the cycles
not created by content.)
2013-04-14 21:52:55 -04:00
Paul Adenot
4acb2a4b45 Bug 853551 - Implement the doppler part of AudioPannerNode. r=ehsan 2013-04-11 14:47:57 +02:00
Ehsan Akhgari
7c71d168de Bug 855990 - Part 1: Implement the DOM bindings to AnalyserNode; r=bzbarsky 2013-03-31 23:41:14 -04:00
Ehsan Akhgari
d94c38bba0 Backed out changeset 81bad314826a (bug 855990) because of build bustage 2013-04-01 18:41:30 -04:00
Ehsan Akhgari
f358d1c9b8 Bug 855990 - Part 1: Implement the DOM bindings to AnalyserNode; r=bzbarsky 2013-03-31 23:41:14 -04:00
Ehsan Akhgari
1b6b357049 Bug 854741 - Change the parameter to createDelay to be in seconds, not minutes; r=roc 2013-03-25 15:44:14 -04:00
Ehsan Akhgari
e9e1b63618 Bug 815492 - Pause Web Audio playback when entering the bfcache, and resume it when coming out of the bfcache; r=bzbarsky 2013-03-21 22:59:33 -04:00
Ms2ger
24bcddcf77 Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Ehsan Akhgari
102d476f55 Bug 851338 - Implement AudioContext.currentTime; r=roc 2013-03-14 21:01:02 -04:00
Ehsan Akhgari
4b29362da4 Backed out changeset 6a23d4536079 (bug 851338) because of Android test failures 2013-03-15 01:26:22 -04:00
Ehsan Akhgari
0422ceeb14 Bug 851338 - Implement AudioContext.currentTime; r=roc
Landed on a CLOSED TREE, because I'm mad at X11!
2013-03-14 21:01:02 -04:00
Ehsan Akhgari
971d74a7cb Backed out changeset a96fb85d42bf (bug 851338) because of Linux build failures
Landed on a CLOSED TREE
2013-03-14 23:53:27 -04:00
Ehsan Akhgari
bada1afd49 Bug 851338 - Implement AudioContext.currentTime; r=roc
--HG--
extra : rebase_source : 064da119e26ca15e361c003a4fabe7d3fe77e256
2013-03-14 21:01:02 -04:00
Masatoshi Kimura
7693df618d Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Ehsan Akhgari
c6ddf88782 Bug 849230 - Limit the range of sample rates accepted by AudioContext.createBuffer according to the spec; r=padenot 2013-03-08 12:29:00 -05:00
Robert O'Callahan
6d8b72a707 Bug 804387. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.

--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 9fa0ec0efa304acd6513e427103d6339c78efa53
2013-02-05 12:07:25 +13:00
Ehsan Akhgari
598f705578 Backed out 14 changesets (bug 804387) because of Android M2 crashes
Backed out changeset 80e8530f06ea (bug 804387)
Backed out changeset 3de2271ad47f (bug 804387)
Backed out changeset 00f86870931c (bug 804837)
Backed out changeset 0e3f20927c50 (bug 804387)
Backed out changeset e6ef90038007 (bug 804387)
Backed out changeset 0ad6f67a95f9 (bug 804387)
Backed out changeset d0772aba503c (bug 804387)
Backed out changeset 5477b87ff03e (bug 804387)
Backed out changeset 1d7ec5adc49f (bug 804387)
Backed out changeset 11f4d740cd6c (bug 804387)
Backed out changeset e6254d8997ab (bug 804387)
Backed out changeset 372322f3264d (bug 804387)
Backed out changeset 53d5ed687612 (bug 804387)
Backed out changeset 000b88ac40a7 (bug 804387)
2013-02-05 01:29:28 -05:00
Robert O'Callahan
41a1e70799 Bug 804837. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.
2013-02-05 12:07:25 +13:00
Ehsan Akhgari
c78c1b8384 Bug 792263 - Implement decodeAudioData; r=bzbarsky,cpearce,padenot 2013-02-01 17:13:23 -05:00
Peter Van der Beken
bfc9de7860 Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 5668d9e01bff0fe7831d98018428856e5940a620
2012-12-03 17:07:49 +01:00
Ed Morley
19dd19ed37 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
70a2f7c413 Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 68e5630591f6209e2af9c5cd2321fed8edd3de24
2012-12-03 17:07:49 +01:00
Ehsan Akhgari
94b2981ab9 Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Ehsan Akhgari
1a5f026835 Bug 816828 - Implement AudioContext.sampleRate; r=bzbarsky 2012-11-29 22:31:39 -05:00
Andrew McCreight
7e2e9bf16b Bug 814752 - Make NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER work for native CC classes. r=smaug,ehsan 2012-11-27 15:08:22 -08:00
Ehsan Akhgari
165f9042db Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Daniel Holbert
d7b2de9476 Backed out changeset 704c91d3e7fa (Bug 814789) because of mac build-bustage 2012-11-26 20:34:10 -08:00
Ehsan Akhgari
64400b3001 Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Andrew McCreight
0687798248 Bug 814453 - Eliminate NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0 and NS_IMPL_CYCLE_COLLECTION_TRACE_NATIVE_BEGIN. r=smaug 2012-11-23 11:27:06 -08:00
Benoit Jacob
97c1c2f31c Bug 814444 - Remove now-useless TRAVERSE_NATIVE_BEGIN and UNLINK_BEGIN_NATIVE macros - r=mccr8 2012-11-22 12:15:38 -05:00
Ehsan Akhgari
0423e87304 Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky 2012-11-19 15:52:29 -05:00
Ehsan Akhgari
67aa9cceb9 Bug 812390 - Protect against NaN in AudioContext.createDelay; r=bzbarsky 2012-11-15 17:48:04 -08:00
Benoit Jacob
5a8b82a1cb Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Benoit Jacob
f4c1a03e74 Bug 806279 - CC macros refactoring: part 3: fold the TRAVERSE_NATIVE and AMBIGUOUS cases - r=mccr8,smaug 2012-11-15 02:32:39 -05:00
Ehsan Akhgari
c28044a224 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
602f1aa144 Bug 809882 - Disallow non-positive arguments to AudioContext.createDelay; r=bzbarsky 2012-11-08 13:17:22 -05:00
Ehsan Akhgari
ab8bc55c73 Bug 809654 - Implement BiquadFilterNode; r=bzbarsky 2012-11-07 20:59:14 -05:00
Ehsan Akhgari
21bc1f2095 Bug 809271 - Implement DynamicsCompressorNode; r=bzbarsky 2012-11-06 20:01:11 -05:00
Ehsan Akhgari
46aae97b87 Bug 808876 - Part 1: Implement PannerNode; r=bzbarsky
--HG--
extra : rebase_source : a7b901dcc7758ff9c7a8917a956d0541187fea07
2012-11-05 21:14:13 -05:00
Ehsan Akhgari
543d0a3b54 Backed out changeset ecf0c2a7cb9f (bug 808876) for build bustage 2012-11-05 22:30:08 -05:00
Ehsan Akhgari
45ebdb31e5 Bug 808876 - Implement PannerNode; r=bzbarsky 2012-11-05 21:14:13 -05:00
Ehsan Akhgari
0eea5a9900 Bug 808841 - Implement AudioContext.listener; r=bzbarsky 2012-11-05 19:26:03 -05:00
Ehsan Akhgari
67d9a2b2ad Bug 807533 - Implement DelayNode; r=bzbarsky
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00
Ehsan Akhgari
7afb9c40d0 Bug 807526 - Implement GainNode; r=bzbarsky 2012-10-31 15:09:32 -04:00
Peter Van der Beken
0b7bff61e0 Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - remove nsISupports from AudioContext. r=ehsan.
--HG--
extra : rebase_source : f37b849c020bd9e4bc72e16df71a0241fafb0829
2012-10-09 20:50:26 +02:00
Ehsan Akhgari
5366306b68 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
9d98e76815 Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-21 11:33:03 -04:00
Ehsan Akhgari
b6f864617f Backout changeset 7d0776416955 (bug 792646) because of leaks 2012-09-20 19:47:07 -04:00
Ehsan Akhgari
bbd265ce79 Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-20 18:05:38 -04:00
Ehsan Akhgari
e4c337219e Bug 788310 - Hide mozAudioContext behind a pref; r=bzbarsky 2012-09-07 18:13:26 -04:00
Ehsan Akhgari
4ccf1a400c Bug 775302 - Stub out the implementation of mozAudioContext; r=bzbarsky,khuey 2012-08-31 16:59:37 -04:00