Karl Tomlinson
fec6395878
b=910174 add DelayNode's tail-time reference as soon as the engine receives sound r=ehsan
...
This removes the dependence on AllInputsFinished() which didn't return true
for many input types.
The DelayProcessor is no longer continuously reset (bug 921457) and the
reference is now correctly added again when all inputs are finished and then
new inputs are connected.
--HG--
extra : rebase_source : b85c62305a6fcfce57bd40a11edaeaaf2a63c188
2013-10-01 09:50:04 +13:00
Karl Tomlinson
960af07a87
b=921675 use maximum instead of current delay for tail time because delay can increase faster than time passes r=ehsan
...
--HG--
extra : rebase_source : b74864829e5fa0cdfbd555d93d2c71dd656f2258
2013-10-01 09:50:03 +13:00
Paul Adenot
a37178b018
Bug 881959 - Clamp the DelayNode.delayTime to 128/AudioContext.sampleRate when in a cycle. r=ehsan
...
--HG--
extra : rebase_source : 7cf8945371bb6ff169ad61a8ccdda0ece36b5e83
2013-09-02 15:15:24 +02:00
Paul Adenot
71dddda23b
Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
...
--HG--
extra : rebase_source : d4bc378128cf15f8d8395b45b4443ca6b06c5bd2
2013-08-26 19:19:36 +02:00
Ed Morley
a88f8cb96c
Backed out changeset fb89f2090779 (bug 881959)
2013-09-17 17:14:55 +01:00
Ed Morley
72dc9a81ef
Backed out changeset 2aa38a1a2b06 (bug 881959)
2013-09-17 17:14:42 +01:00
Paul Adenot
202c19d92d
Bug 881959 - Clamp the DelayNode.delayTime to 128/AudioContext.sampleRate when in a cycle. r=ehsan
...
--HG--
extra : rebase_source : 5282e468fbe411a455f65bc0d22b16163db4bd7a
2013-09-02 15:15:24 +02:00
Paul Adenot
5e031096a3
Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
...
--HG--
extra : rebase_source : a92e90a2fb08f784d3a1b7d0701a5dd20595c4ef
2013-08-26 19:19:36 +02:00
Ehsan Akhgari
1131972e0e
Bug 905409 - Minimize the Web Audio #includes; r=roc
2013-08-15 15:44:14 -04:00
Karl Tomlinson
bfa9fc4aa2
b=815643 Refactor DelayNodeEngine delay processing into a shareable class r=ehsan
...
--HG--
extra : rebase_source : e25ff3e490c2cbce5ed7cdf9419ccc2850ea16e5
2013-08-09 10:07:49 +12:00
Robert O'Callahan
97ebf79d0c
Bug 890248. Avoid situations where adding a new input to an AudioNode can race with a message telling the AudioNode to release its mPlayingRef. r=ehsan
...
--HG--
extra : rebase_source : 913683cc16a717bf73f9976292af965aba6b7758
2013-07-05 13:49:53 +12:00
Ehsan Akhgari
166efd7631
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 21:37:39 -04:00
Ehsan Akhgari
8beeac4ae5
Backed out 2 changesets (bug 890072) for possible leaks
...
Backed out changeset 5e815a5ca50d (bug 890072)
Backed out changeset 7151ab8ff70c (bug 890072)
2013-07-03 22:17:25 -04:00
Ehsan Akhgari
5f1c963062
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 21:37:39 -04:00
Ehsan Akhgari
91a2cdbf88
Backed out 2 changesets (bug 890072) because gcc sucks
...
Backed out changeset ff011e5b3655 (bug 890072)
Backed out changeset 0ed650741dc5 (bug 890072)
2013-07-03 20:36:06 -04:00
Ehsan Akhgari
6a9b959645
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 20:20:06 -04:00
Masatoshi Kimura
2f776a04a6
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
20b20b238c
Bug 878407 - Allocate a large enough delay buffer when the delay time fraction value is less than 0.5; r=roc
2013-06-02 09:25:46 -04:00
Ehsan Akhgari
9fbc89aa91
Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc
2013-06-01 03:02:46 -04:00
Ehsan Akhgari
aded29394c
Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc
2013-05-30 20:52:26 -04:00
Ehsan Akhgari
8e9878cd1b
Bug 873553 - Part 7: Port DelayNode to use the stream's sampling rate; r=roc
...
--HG--
extra : rebase_source : db35f08edab8a54c6c60a0ead2d7afed59d2c360
2013-05-24 13:10:44 -04:00
Ehsan Akhgari
d51de5e22a
Bug 873553 - Part 4: Pass the sampling rate to the engine in SetTimelineParameter; r=roc
...
--HG--
extra : rebase_source : aa574757e9791eafd8c6825328fc4e2f65479f34
2013-05-24 13:10:08 -04:00
Ehsan Akhgari
8d08501aa7
Bug 872635 - Drop the DelayNode's self-reference right on time, to make sure that DelayNodes don't leak with OfflineAudioContexts; r=roc
2013-05-15 20:51:47 -04:00
Ehsan Akhgari
1dcf3ec65a
Bug 866434 - Part 3: Mix in the value generated by AudioNode inputs to AudioParams when getting their values during audio processing; r=roc
2013-05-01 23:12:59 -04:00
Ehsan Akhgari
13fd72e30d
Bug 865234 - Part 1: Add DOM bindings for the channel mixing attributes; r=roc
2013-04-27 18:44:50 -04:00
Boris Zbarsky
b834439797
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
ad6c0922c2
Bug 864709 - Part 2: Protect accesses to AudioNodeEngine::mNode using a lock; r=padenot
2013-04-24 12:13:45 -04:00
Ehsan Akhgari
1275a7058a
Bug 864605 - Take the input chunk's volume into account in the nodes that buffer their input; r=padenot
...
--HG--
extra : rebase_source : 7590e20cbb1ac347f3988aaa5dbc586012747221
2013-04-22 21:59:51 -04:00
Ehsan Akhgari
82a95502c9
Bug 834513 - Part 2: Add an AudioNode weak pointer to the AudioNodeEngine class; r=roc
2013-04-20 12:16:28 -04:00
Ehsan Akhgari
21fef81a58
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
Ehsan Akhgari
84977006bb
Bug 859602 - Remove AudioParam.minValue/maxValue; r=bzbarsky
2013-04-08 21:57:54 -04:00
Ehsan Akhgari
dd2894d770
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
618903f6dd
Bug 836076 - Part 3: Make AudioParams call back into their owning node when they're modified; r=roc
...
We need this in order to update the MediaStreamGraph thread when an
AudioParam changes. This enables each AudioParam to be registered with
a callback from its owner node, so that the owner node can have custom
processing code for each AudioParam's mutation.
2013-01-28 18:59:29 -05:00
Ehsan Akhgari
3f79e8f932
Backed out 3 changesets (bug 836076) becasue bug 804387 is getting backed out
...
Backed out changeset d567b1bb34ad (bug 836076)
Backed out changeset 51f7c9e31f9a (bug 836076)
Backed out changeset 901c735274bc (bug 836076)
--HG--
rename : content/media/AudioEventTimeline.h => content/media/webaudio/AudioEventTimeline.h
2013-02-05 01:28:38 -05:00
Ehsan Akhgari
e37353007a
Bug 836076 - Part 3: Make AudioParams call back into their owning node when they're modified; r=roc
...
We need this in order to update the MediaStreamGraph thread when an
AudioParam changes. This enables each AudioParam to be registered with
a callback from its owner node, so that the owner node can have custom
processing code for each AudioParam's mutation.
2013-01-28 18:59:29 -05:00
Robert O'Callahan
459522e248
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
Andrew McCreight
6998222f29
Bug 815454 - Clean up Traverse/Unlink of web audio. r=smaug
2012-11-27 15:08:22 -08:00
Ehsan Akhgari
50dab9a21f
Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky
2012-11-19 15:52:29 -05:00
Benoit Jacob
986ee1a065
Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8
2012-11-15 02:32:40 -05:00
Benoit Jacob
7cc7c472e5
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
4c01419332
Bug 807533 - Implement DelayNode; r=bzbarsky
...
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00