Commit Graph

196 Commits

Author SHA1 Message Date
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
9ce6df6da6 Bug 859595 - Implement the alternate names for AudioBufferSourceNode, AudioContext and AudioParam; r=bzbarsky
Let this be mentioned in our code base history that I wrote this patch
with tears in my eyes.  This is the saddest thing I've ever had to do to
Gecko. :(

--HG--
extra : rebase_source : 798e5b1dc8af51a399189dd05bc59ac077670820
2013-04-11 22:08:05 -04:00
Paul Adenot
d174da3ba1 Bug 854336 - Implement the playbackRate property of AudioBufferSourceNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
59347270e4 Bug 852366 - Don't resample on the main thread. r=ehsan,roc 2013-03-18 20:54:32 -04:00
Ehsan Akhgari
b5c7a06c19 Backed out changeset 3ae03ecf8b5e (bug 852366) because of mochitest-1 crashes
Landed on a CLOSED TREE
2013-04-09 11:29:15 -04:00
Ehsan Akhgari
340cb86e25 Backed out changeset 92c2f24cb6ff (bug 854336) because of mochitest-1 crashes 2013-04-09 11:28:42 -04:00
Ehsan Akhgari
61bad51d84 Backed out changeset 9c080ffa640f (bug 853551) because of mochitest-1 crashes 2013-04-09 11:28:38 -04:00
Paul Adenot
e62b3f4e3d Bug 853551 - Implement the doppler part of AudioPannerNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
e76e15c30c Bug 854336 - Implement the playbackRate property of AudioBufferSourceNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
bdddd513a1 Bug 852366 - Don't resample on the main thread. r=ehsan,roc 2013-03-18 20:54:32 -04:00
Ehsan Akhgari
2785be0307 Bug 859597 - Narrow down the acceptable range for AnalyserNode.fftSize; r=padenot 2013-04-08 21:26:08 -04:00
Ehsan Akhgari
112a55b741 Bug 859602 - Remove AudioParam.minValue/maxValue; r=bzbarsky 2013-04-08 21:57:54 -04:00
Ehsan Akhgari
6f3b411b8e Bug 859594 - Remove AudioSourceNode; r=bzbarsky 2013-04-08 22:45:02 -04:00
Ehsan Akhgari
730bf8e981 Bug 853721 - Part 2: Hook up DelayNode to the media streams graph and implement delaying of incoming audio; r=roc 2013-03-25 08:34:59 -04:00
Ehsan Akhgari
7b9c05ad65 Bug 857793 - Always return the defaultValue before the first scheduled event on an AudioParam; r=roc 2013-04-03 17:31:42 -04:00
Ehsan Akhgari
d7e9372fcb Bug 857790 - Convert AudioParam time values to ticks relative to the source stream, not the destination stream; r=roc 2013-04-03 17:28:49 -04:00
Ehsan Akhgari
d11f87563d Bug 856771 - Protect the source buffer nodes from leaking when their binding goes away without being played back; r=roc
This is the real part of the patch which was dropped from the previous commit.
2013-04-01 16:06:55 -04:00
Ehsan Akhgari
e0738991cf Bug 855990 followup: move TransferBuffer outside of the function because gcc is not a grown-up
Landed on a CLOSED TREE
2013-04-02 16:18:32 -04:00
Ehsan Akhgari
037a61128d Bug 855990 - Part 5: Implement the analysis routines of AnalyserNode; r=padenot
--HG--
extra : rebase_source : dc459a731d5793c169f73271f2d2043d472288e4
2013-04-01 19:26:17 -04:00
Ehsan Akhgari
7b9c5e3aa8 Bug 855990 - Part 4: Send the buffer seen by AnalyserNodeEngine to AnalyserNode; r=padenot
--HG--
extra : rebase_source : be0b1c8197c1e8582d9dda31a74484901c665b79
2013-04-01 17:35:18 -04:00
Ehsan Akhgari
aafbcbdfdb Bug 856329 - Create an engine for BiquadFilterNode and make sure that we deliver the right parameteres to it; r=padenot
--HG--
extra : rebase_source : a06e3c79aa1ecbab0fa1b9ec01f0bccf466694ee
2013-03-29 19:11:58 -07:00
Ehsan Akhgari
05a1a42a6f Bug 856328 - Part 2: Create an engine for DynamicsCompressorNode and make sure that we deliver the right parameteres to it; r=padenot
--HG--
extra : rebase_source : 9a3257ca7e53c67353a3dc46318815ee2e465d44
2013-03-29 16:18:20 -07:00
Ehsan Akhgari
94d6e8730d Bug 856328 - Part 1: Refactor sending an AudioParamTimeline to the stream into an AudioNode helper; r=padenot
--HG--
extra : rebase_source : 8e2331ded7c35d1a6e9057c5be5ad31a959beed9
2013-03-29 18:46:03 -07:00
Ehsan Akhgari
9c134ee172 Bug 856771 - Protect the source buffer nodes from leaking when their binding goes away without being played back; r=roc 2013-04-01 16:06:55 -04: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
Kyle Machulis
f5e3aadf0b Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
d2b6e6e01a Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
5663b98bc5 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07: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
ea56b7855e Bug 853963 - Make the case where the listener and panner are at the same spot with 360 cone angles really a no-op; r=padenot 2013-03-22 15:32:24 -04:00
Ehsan Akhgari
d8b0ac719e Bug 849230 follow-up: Fix expectException to actually check the exception code, and don't use imaginary DOMException names!
--HG--
extra : rebase_source : df53ddca50487bfc10676fd43e98abb949a2c298
2013-03-22 19:57:08 -04:00
Ehsan Akhgari
0ac246e288 Bug 853718 - Pause the AudioContext when it is being torn down; r=bzbarsky 2013-03-21 23:07:44 -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
Ehsan Akhgari
9214399971 Bug 853721 - Part 1: Refactor the code to convert GainNode's AudioParamTimeline to ticks into WebAudioUtils; r=roc 2013-03-22 00:01:28 -04:00
Paul Adenot
f3581fffe3 Bug 853360 - Implement the coneGain part of the AudioPannerNode. r=roc
--HG--
extra : rebase_source : c3a27ef2da8a080b9b310af14cf85f68f13df9a6
2013-03-21 19:25:15 +01:00
Paul Adenot
9e83a59dad Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc
--HG--
extra : rebase_source : d729da50f97b94ea0434a93ad481ac35954bfa9a
2013-03-21 17:45:53 +01:00
Kyle Huey
d719ea3e8e Backout things philor tells me to (Bug 853360, Bug 849918). 2013-03-21 18:20:42 -07:00
Paul Adenot
4dd453510a Bug 853360 - Implement the coneGain part of the AudioPannerNode. r=roc 2013-03-21 19:25:15 +01:00
Paul Adenot
89510dacb2 Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc 2013-03-21 17:45:53 +01:00
Ehsan Akhgari
7613175e14 Bug 852817 - Don't do anything special when the JS binding to AudioDestinationNode gets finalized; r=roc 2013-03-20 21:35:44 -04:00
Ehsan Akhgari
8394a6f09e Bug 852838 - Make sure that trying to allocate an AudioBuffer with a very large number of channels does not cause an OOM crash; r=roc 2013-03-20 21:49:13 -04:00
Ehsan Akhgari
f96749709d Bug 853246 - Optimize Panner and Listener methods when processing them would not have a significant effect; r=roc 2013-03-20 20:12:07 -04:00
Mike Shal
ea1d9b8ba7 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Ehsan Akhgari
5fe38c48d5 Bug 852410 - Mark Web Audio streams as blocking on their input, not on their output; r=roc 2013-03-19 00:43:44 -04:00
Andrea Marchesini
6b08dd17f5 Bug 841493 - Rename nsHTMLMediaElement to HTMLMediaElement, r=Ms2ger
--HG--
rename : content/html/content/public/nsHTMLMediaElement.h => content/html/content/public/HTMLMediaElement.h
rename : content/html/content/src/nsHTMLMediaElement.cpp => content/html/content/src/HTMLMediaElement.cpp
2013-03-19 13:23:54 +01:00
Ehsan Akhgari
60ab45fb40 Bug 851966 - Only store the produced AudioChunks for AudioNodeStreams that will result in playback; r=roc 2013-03-17 20:37:47 -04:00