Ehsan Akhgari
e48730f81b
Bug 849713 - Part 5: Implement the looping logic in AudioBufferSourceNodeEngine; r=roc
...
The logic in this function is based around a while loop. In every
iteration of the loop, we determine whether we need to output silence
(if we're at a position before the playback has started or after it has
stopped) or if we need to produce sound. In each case, we call a helper
function which eagerly tries to produce as much silence or sound as
possible, while maintaining the constraints that are explained in the
comments in the code.
2013-03-10 21:02:22 -04:00
Ehsan Akhgari
245251292d
Bug 849713 - Part 4: Refactor the logic for borrowing the output buffer from the input buffer; r=roc
2013-03-10 18:38:57 -04:00
Ehsan Akhgari
a4cc299dc2
Bug 849713 - Part 3: Set the loop parameters on AudioBufferSourceNodeEngine if looping is turned on when start() gets called; r=roc
2013-03-10 14:11:12 -04:00
Ehsan Akhgari
a03597ec60
Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc
2013-03-10 13:59:41 -04:00
Ehsan Akhgari
b01654e838
Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc
2013-03-10 12:56:14 -04:00
Ehsan Akhgari
06c15fd0ed
Bug 849916 - Part 4: Don't rely on things still being around when we run PannerNode's dtor, use a weak pointer instead; r=roc
...
--HG--
extra : rebase_source : 8432bea9035761fcb52e77dfc474de8878fc4372
2013-03-12 19:28:30 -04:00
Ehsan Akhgari
ffee05887e
Bug 849916 - Part 3: Create an engine for PannerNodes and make sure that we deliver the panner and listener parameters to it; r=padenot
2013-03-12 14:34:55 -04:00
Ehsan Akhgari
7a26abd817
Bug 849916 - Part 2: Add helper functions for sending different argument types to the AudioNodeStream; r=padenot
2013-03-12 11:28:14 -04:00
Ehsan Akhgari
023850e72d
Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot
2013-03-12 11:16:42 -04:00
Ryan VanderMeulen
f6ea8893e6
Backed out changesets 4ee69256f8f2, 2becc603eeb8, and afad1c17015e (bug 849916) for bustage on a CLOSED TREE.
2013-03-12 16:16:30 -04:00
Ehsan Akhgari
fc535e7e15
Bug 849916 - Part 3: Create an engine for PannerNodes and make sure that we deliver the panner and listener parameters to it; r=padenot
2013-03-12 14:34:55 -04:00
Ehsan Akhgari
4cbb915b76
Bug 849916 - Part 2: Add helper functions for sending different argument types to the AudioNodeStream; r=padenot
2013-03-12 11:28:14 -04:00
Ehsan Akhgari
d7560401d9
Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot
2013-03-12 11:16:42 -04:00
Ehsan Akhgari
78ca80f126
Bug 849914 - Implement the latest spec changes to PannerNode and AudioListener; r=roc
2013-03-11 19:09:27 -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
bbfd0958e3
Backed out 4 changesets (bug 849713) since builds fail because of warnings as errors
...
Backed out changeset e811d4258d45 (bug 849713)
Backed out changeset 26aa58e87d5d (bug 849713)
Backed out changeset 9a6552161eff (bug 849713)
Backed out changeset 3551877d9b92 (bug 849713)
Landing on a CLOSED TREE
2013-03-11 16:14:42 -04:00
Ehsan Akhgari
35dae1b81f
Backed out changeset 151b845b0fa9 (bug 849713 part 5) because it has not been reviewed yet!
2013-03-11 15:31:14 -04:00
Ehsan Akhgari
a974ee8086
Bug 849713 - Part 5: Implement the looping logic in AudioBufferSourceNodeEngine; r=roc
...
The logic in this function is mostly around the mLoop variable. mLoop being
NotLooping means that the playback of this node is never going to loop, in
which case the logic doesn't change compared to the ProduceAudioBlock function
before this patch.
If the loop mode is turned on when start() is called, mLoop will initially be
WillLoop. In that case, we play back until mLoopEnd, and then we will wrap
around to mLoopStart, set mLoop to be IsLooping, and start playback again.
From that point on, mLoop will always be IsLooping, and we will loop between
mLoopStart and mLoopEnd. Where possible, we'll just use BorrowFromInputBuffer
to avoid copying the buffer, and if we hit the edges right around the time that
we loop, we copy some frames from the end of the input buffer and some from the
beginning in the memcpy loops at the end of the ProduceAudioBlock function.
2013-03-10 21:02:22 -04:00
Ehsan Akhgari
a5fea34024
Bug 849713 - Part 4: Refactor the logic for borrowing the output buffer from the input buffer; r=roc
2013-03-10 18:38:57 -04:00
Ehsan Akhgari
1300d21db5
Bug 849713 - Part 3: Set the loop parameters on AudioBufferSourceNodeEngine if looping is turned on when start() gets called; r=roc
2013-03-10 14:11:12 -04:00
Ehsan Akhgari
b646a29552
Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc
2013-03-10 13:59:41 -04:00
Ehsan Akhgari
5e3e5535d4
Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc
2013-03-10 12:56:14 -04:00
Ehsan Akhgari
aacd3da00e
Bug 849652 - Copy enough number of bytes in AudioBufferSourceNode::ProduceAudioBlock's memcpy loop; r=roc
2013-03-10 17:37:40 -04:00
Ehsan Akhgari
3418e3c685
Bug 849106 - Adjust the fuzz tolerance value for small-shot.ogg on mobile
2013-03-08 13:07:21 -05: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
Ehsan Akhgari
fc32827507
Bug 848651 - Part 2: Log an error to the Web Console if we run out of memory while trying to resample an AudioBuffer for playback; r=padenot
2013-03-08 11:49:56 -05:00
Ehsan Akhgari
a06ea67f9d
Bug 848651 - Part 1: Implement resampling of audio buffers to be able to play back buffers with a different sample rate than the AudioContext; r=padenot
2013-03-07 18:14:46 -05:00
Ehsan Akhgari
f2b7547cab
Bug 846329 - Fix decodeAudioData to decode all channels and not only the first one; r=padenot
2013-03-04 21:27:13 -05:00
Thomas Zimmermann
1823db9f02
Bug 834172 - Remove GStreamer flags from webaudio Makefile. r=cpearce
...
With the move of all codec-specific code to DecoderTraits, there is no
need to pass compiler flags for GStreamer when building the webaudio
library. This patch updates the Makefile template accordingly.
2013-03-05 09:56:35 -05:00
Thomas Zimmermann
3867cce83c
Bug 834172 - Implement CreateReader in DecoderTraits. r=cpearce
...
MediaDecoderReaders are now created from within DecoderTraits. The
codec-specific code has been removed from class MediaDecodeTask.
2013-03-05 09:56:35 -05:00
Ehsan Akhgari
14a0e48617
Bug 836076 - Part 6: Hook up GainNode to the MediaStreams back-end to enable controlling the volume of the audio being played back; r=roc
2013-01-29 18:37:51 -05:00
Ehsan Akhgari
61bbd92228
Bug 836076 - Part 5: Provide an API for converting event times to tick values; r=roc
2013-03-01 17:06:03 -05:00
Ehsan Akhgari
6fe682381f
Bug 845960 - Fix a crash resulted from a missing nullcheck for the optional failure callback of decodeAudioData; r=bzbarsky
2013-03-04 23:04:51 -05:00
Ryan VanderMeulen
527466b973
Backed out 5 changesets (bug 834172) for Android build bustage.
2013-03-04 11:17:36 -05:00
Thomas Zimmermann
6afb280c5a
Bug 834172 - Remove GStreamer flags from webaudio Makefile. r=cpearce
...
With the move of all codec-specific code to DecoderTraits, there is no
need to pass compiler flags for GStreamer when building the webaudio
library. This patch updates the Makefile template accordingly.
2013-03-04 10:24:45 -05:00
Thomas Zimmermann
979b84ab7c
Bug 834172 - Implement CreateReader in DecoderTraits. r=cpearce
...
MediaDecoderReaders are now created from within DecoderTraits. The
codec-specific code has been removed from class MediaDecodeTask.
2013-03-04 10:24:45 -05:00
Ehsan Akhgari
5b6e81b5cf
Bug 838065 - Re-enable the decodeAudioData tests; r=roc
2013-02-27 16:59:46 -05:00
Gregory Szorc
803629b9c6
Merge mozilla-central into build-system
...
There were merges in configure.in and some Makefile.in. None had any
conflicts. I spot verified the Makefile.in changes and confirmed that
the changes did not touch any DIRS* variables.
2013-02-27 10:03:52 -08:00
Gregory Szorc
fee2be3026
Bug 784841 - Part 18g: Convert /content; r=glandium
2013-02-25 12:47:19 -08:00
Bobby Holley
2589449122
Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap
2013-02-26 11:04:13 -08:00
Ehsan Akhgari
dbd98a978d
Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc
...
--HG--
extra : rebase_source : 4da10bc054e2d978b3639a537bd46b2614586647
2013-01-29 18:30:22 -05:00
Chris Pearce
5607881905
Bug 839031 - Store the Content-Type/MIME-Type on MediaResource. r=padenot
2013-02-15 14:10:58 +13:00
Andrew McCreight
090a8455ed
Bug 839753 - Fix up CC implementation for AudioDestinationNode. r=smaug
2013-02-12 08:42:59 -08:00
Honza Bambas
725e26027d
Bug 839175 - missing using namespace dom in MediaBufferDecoder.cpp, r=roc
2013-02-11 22:56:57 +01:00
Phil Ringnalda
361f43b776
Back out 6a5dcf166f09 (bug 836072) for build bustage
...
CLOSED TREE
2013-02-07 21:35:08 -08:00
Ehsan Akhgari
32c41e5463
Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc
2013-01-29 18:30:22 -05:00
John Schoenick
fb66de7b8c
Bug 837427 - Include gstreamer cflags in content/media/webaudio; r=ehsan
2013-02-05 13:34:19 -05:00
Ehsan Akhgari
6d64573151
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
0dd0c24483
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
5c1dc30b64
Bug 836076 - Part 1: Move AudioEventTimeline.h to content/media; r=roc
...
--HG--
rename : content/media/webaudio/AudioEventTimeline.h => content/media/AudioEventTimeline.h
2013-01-28 17:21:43 -05:00