Commit Graph

25 Commits

Author SHA1 Message Date
Nicholas Nethercote
191ed08f6a Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke.
--HG--
extra : rebase_source : 008ef689989f93b46627b8be8608bdbc544ca3a2
2013-08-27 19:59:14 -07:00
Ehsan Akhgari
f678926c6d Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
Ehsan Akhgari
b319c56bac Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc 2013-06-02 09:26:06 -04:00
Ehsan Akhgari
13fff291bf Bug 876024 - Sanity check all of the time values passed to Web Audio; r=roc 2013-05-30 20:53:15 -04:00
Ehsan Akhgari
f01f0505d9 Bug 865231 - Implement AudioParam.setValueCurveAtTime; r=roc 2013-05-06 19:50:45 -04:00
Ehsan Akhgari
1cff2c39cc Bug 866434 - Part 2: Give each AudioParam that is connected to an AudioNode an AudioNodeStream; r=roc
These MediaStreams are used as a way to down-mix the input AudioChunks, and
also as a way to get proper stream processing ordering.  The MediaStream for
the source AudioNode is an input to these streams, and these streams in turn
are inputs to the MediaStream that the AudioNode that owns the AudioParam owns.
This way, the Media Streams Graph processing code will order the streams so
that by the time that the MediaStream for a given node is processed, all of the
MediaStreams belonging to the AudioNode(s) feeding into the AudioParam have
been processed.

This has a tricky side-effect that those streams also being considered when
determining the input block for the AudioNodeStream belonging to the
AudioParam's owner AudioNode.  In order to fix that, we simply special case
those streams and make AudioNodeStream::ObtainInputBlock ignore them.
2013-05-01 21:02:31 -04:00
Ehsan Akhgari
af0f671957 Bug 866434 - Part 1: Make it possible to connect an AudioNode to an AudioParam; r=roc 2013-05-01 18:59:02 -04:00
Boris Zbarsky
9c1973b5d2 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
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
Ehsan Akhgari
7304bd7736 Bug 859602 - Remove AudioParam.minValue/maxValue; r=bzbarsky 2013-04-08 21:57:54 -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
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
Ehsan Akhgari
c7f2fefdff Bug 851949 - Avoid setting AudioParam values needlessly; r=roc 2013-03-17 15:57:15 -04:00
Masatoshi Kimura
e5e5a90814 Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Ehsan Akhgari
f39e83f1de 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
332078a8e8 Bug 836076 - Part 2: Make it possible to send AudioEventTimeline objects as commands to the MSG thread; r=roc 2013-01-28 17:42:27 -05:00
Ehsan Akhgari
748ef8700c 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
ded3e498cd 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
3b924bf73e Bug 836076 - Part 2: Make it possible to send AudioEventTimeline objects as commands to the MSG thread; r=roc 2013-01-28 17:42:27 -05:00
Ehsan Akhgari
8a4ca2d6ca Bug 834929 - Part 2: Remove FloatArrayWrapper and just copy the curve array when needed; r=roc 2013-01-25 16:46:44 -05:00
Ehsan Akhgari
05c142ab9f Bug 834929 - Part 1: Store the default/min/max values on the AudioParam itself; r=roc 2013-01-25 14:26:31 -05:00
Ehsan Akhgari
d1434706e8 Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky 2012-11-19 15:52:29 -05:00
David Zbarsky
bfca907d39 No bug, fix struct/class mismatch warnings 2012-11-14 21:38:26 -05:00
Ehsan Akhgari
a60888e51d Use #include guards in the web audio code, no bug 2012-10-30 17:39:38 -04:00
Ehsan Akhgari
451773ee5b Bug 803392 - Initial implementation of AudioParam; r=bzbarsky
This patch implements most of the semantics of AudioParam in a
templatized base class called AudioEventTimeline.  This is done in order
to make it possible to test this code from C++ without the need of
linking to libxul.  Basically we take everything that could depend on
libxul or is not suitable for a genertic implementation and put it in a
traits like type as a template argument.  Then the test creates mock
objects that conform to the argument interfaces, and tests the logic of
AudioEventTimeline.
2012-10-16 21:19:06 -04:00