Commit Graph

195 Commits

Author SHA1 Message Date
Ehsan Akhgari
ff2971de14 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
697026ca9e Bug 853551 - Implement the doppler part of AudioPannerNode. r=ehsan 2013-04-11 14:47:57 +02:00
Ehsan Akhgari
04873bf8ec 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
c2c919688b Bug 854336 - Implement the playbackRate property of AudioBufferSourceNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
65213ab746 Bug 852366 - Don't resample on the main thread. r=ehsan,roc 2013-03-18 20:54:32 -04:00
Ehsan Akhgari
ee411aafe9 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
6492fd7b5c Backed out changeset 92c2f24cb6ff (bug 854336) because of mochitest-1 crashes 2013-04-09 11:28:42 -04:00
Ehsan Akhgari
1db079c874 Backed out changeset 9c080ffa640f (bug 853551) because of mochitest-1 crashes 2013-04-09 11:28:38 -04:00
Paul Adenot
2f25f9598c Bug 853551 - Implement the doppler part of AudioPannerNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
698db7a073 Bug 854336 - Implement the playbackRate property of AudioBufferSourceNode. r=ehsan 2013-04-09 14:47:42 +02:00
Paul Adenot
13434b9bf9 Bug 852366 - Don't resample on the main thread. r=ehsan,roc 2013-03-18 20:54:32 -04:00
Ehsan Akhgari
0ec2e66722 Bug 859597 - Narrow down the acceptable range for AnalyserNode.fftSize; r=padenot 2013-04-08 21:26:08 -04:00
Ehsan Akhgari
7304bd7736 Bug 859602 - Remove AudioParam.minValue/maxValue; r=bzbarsky 2013-04-08 21:57:54 -04:00
Ehsan Akhgari
a003638449 Bug 859594 - Remove AudioSourceNode; r=bzbarsky 2013-04-08 22:45:02 -04:00
Ehsan Akhgari
c7fbc3c48c 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
5e9cc4e408 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
425c80f927 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
78fbea8be5 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
e0e0ce11ba 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
3c40a3eb52 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
a2082a2c28 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
cb88ab6e9e 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
9656ffcb3e 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
382b80c6dc 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
20bf730bff 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
28ce05cf89 Bug 855990 - Part 1: Implement the DOM bindings to AnalyserNode; r=bzbarsky 2013-03-31 23:41:14 -04:00
Ehsan Akhgari
99e9635eee Backed out changeset 81bad314826a (bug 855990) because of build bustage 2013-04-01 18:41:30 -04:00
Ehsan Akhgari
f89c6909de Bug 855990 - Part 1: Implement the DOM bindings to AnalyserNode; r=bzbarsky 2013-03-31 23:41:14 -04:00
Kyle Machulis
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 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
a59d40f143 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
a01b9d645e 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
8d2cf011d8 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
f2d00f14f9 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
6ef7b36453 Bug 853718 - Pause the AudioContext when it is being torn down; r=bzbarsky 2013-03-21 23:07:44 -04:00
Ehsan Akhgari
a2906ca105 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
6b810bc361 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
db674c3f8a 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
b7bfb58bff 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
a7ee1d91d2 Backout things philor tells me to (Bug 853360, Bug 849918). 2013-03-21 18:20:42 -07:00
Paul Adenot
18a81145c2 Bug 853360 - Implement the coneGain part of the AudioPannerNode. r=roc 2013-03-21 19:25:15 +01:00
Paul Adenot
3f173fa2f9 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
8b2d40b671 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
f2a48dfa7e 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
e165c1dd16 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
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Ehsan Akhgari
9e3c356900 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
8c4773bbdb 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
c704fae974 Bug 851966 - Only store the produced AudioChunks for AudioNodeStreams that will result in playback; r=roc 2013-03-17 20:37:47 -04:00
Ehsan Akhgari
c7f2fefdff Bug 851949 - Avoid setting AudioParam values needlessly; r=roc 2013-03-17 15:57:15 -04:00