Граф коммитов

451 Коммитов

Автор SHA1 Сообщение Дата
Ehsan Akhgari 3b870f3563 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 7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Ehsan Akhgari 71ee060750 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 eb3d295f7f 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 ddf63292e4 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 6ab726ea62 Bug 851949 - Avoid setting AudioParam values needlessly; r=roc 2013-03-17 15:57:15 -04:00
Ms2ger 93257af4d7 Merge m-c to m-i. 2013-03-17 13:22:37 +01:00
Ms2ger 669cc4360c Bug 845374 - Part r: Stop including nsTArray.h in nsReadableUtils.h; r=khuey 2013-03-17 08:55:16 +01:00
Ms2ger 4f5fca99bc Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Ehsan Akhgari 1a949b69c5 Bug 851603 - Enable Web Audio in Nightly; r=roc
--HG--
extra : rebase_source : b79d7f2cb0e6257eae2f65bd8637f718324b43f4
2013-03-16 01:35:22 -04:00
Ehsan Akhgari 659ae889aa Bug 851338 - Implement AudioContext.currentTime; r=roc 2013-03-14 21:01:02 -04:00
Ehsan Akhgari cafa3e6710 Backed out changeset 6a23d4536079 (bug 851338) because of Android test failures 2013-03-15 01:26:22 -04:00
Ehsan Akhgari 73323cede0 Bug 851338 - Implement AudioContext.currentTime; r=roc
Landed on a CLOSED TREE, because I'm mad at X11!
2013-03-14 21:01:02 -04:00
Ehsan Akhgari e772eb035b Backed out changeset a96fb85d42bf (bug 851338) because of Linux build failures
Landed on a CLOSED TREE
2013-03-14 23:53:27 -04:00
Ehsan Akhgari 89619fddff Bug 851338 - Implement AudioContext.currentTime; r=roc
--HG--
extra : rebase_source : 064da119e26ca15e361c003a4fabe7d3fe77e256
2013-03-14 21:01:02 -04:00
Ehsan Akhgari 0165be1d18 Bug 850970 - Set the initial value of gain nodes on the audio stream to make sure that they don't mute playback; r=roc
--HG--
extra : rebase_source : caf58ca903665f8b3014451926cec9772969663f
2013-03-13 23:44:49 -04:00
Ehsan Akhgari aeb36af79e 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 f873b5a8da 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 231f1bbd52 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 adc766a5b6 Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc 2013-03-10 13:59:41 -04:00
Ehsan Akhgari dae847512c Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc 2013-03-10 12:56:14 -04:00
Ehsan Akhgari 520bdf7a67 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 594c29e504 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 91056e3470 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 2e3c9ba835 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 b3839debd3 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 2b9309e6bc 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 c1c561347f 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 5435366892 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 a9da376ed1 Bug 849914 - Implement the latest spec changes to PannerNode and AudioListener; r=roc 2013-03-11 19:09:27 -04:00
Masatoshi Kimura 23ba391ec1 Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Ehsan Akhgari 8a4a795160 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 8034e98ffd 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 767a273945 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 23fe293fd5 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 72481e9809 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 fb1219f850 Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc 2013-03-10 13:59:41 -04:00
Ehsan Akhgari 7d077bc2cd Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc 2013-03-10 12:56:14 -04:00
Ehsan Akhgari 960e9fb343 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 864b77606f Bug 849106 - Adjust the fuzz tolerance value for small-shot.ogg on mobile 2013-03-08 13:07:21 -05:00
Ehsan Akhgari 57f1fe49f8 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 72c22e72bf 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 f72f2cc00d 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 0343d8a94f 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 4c60c029bd 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 00c7a35b3f 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 3752b6a571 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 e7fa51e726 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 0d68519dd2 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 47aa8f5a0b Backed out 5 changesets (bug 834172) for Android build bustage. 2013-03-04 11:17:36 -05:00
Thomas Zimmermann e8867cbcfe 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 81df5828a7 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 96ff7c5a62 Bug 838065 - Re-enable the decodeAudioData tests; r=roc 2013-02-27 16:59:46 -05:00
Gregory Szorc 0c8ee65118 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 72ed2beb7b Bug 784841 - Part 18g: Convert /content; r=glandium 2013-02-25 12:47:19 -08:00
Bobby Holley 7b9176007d Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -08:00
Ehsan Akhgari 67842b1676 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 add497074c Bug 839031 - Store the Content-Type/MIME-Type on MediaResource. r=padenot 2013-02-15 14:10:58 +13:00
Andrew McCreight 55aaf1428b Bug 839753 - Fix up CC implementation for AudioDestinationNode. r=smaug 2013-02-12 08:42:59 -08:00
Honza Bambas 4d8cdcfdc7 Bug 839175 - missing using namespace dom in MediaBufferDecoder.cpp, r=roc 2013-02-11 22:56:57 +01:00
Phil Ringnalda 396989e0d1 Back out 6a5dcf166f09 (bug 836072) for build bustage
CLOSED TREE
2013-02-07 21:35:08 -08:00
Ehsan Akhgari e3038bac91 Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc 2013-01-29 18:30:22 -05:00
John Schoenick e52d9ba39e Bug 837427 - Include gstreamer cflags in content/media/webaudio; r=ehsan 2013-02-05 13:34:19 -05: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 e91dfed6d9 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 4d4c80780d 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
Ehsan Akhgari 82d28f9347 Bug 804387. Part 11: Fix testcase to expect correct sample rate. r=roc
--HG--
extra : rebase_source : aabab48ccaa6cbfacc2d22a425574d6e5b4109ee
2013-01-25 16:44:28 -05:00
Ehsan Akhgari d612b5d8ca Bug 804387. Part 10: Add a mechanism for ensuring that we don't attempt to allocate an input port if the input node is not hooked up to MSG yet. r=roc
--HG--
extra : rebase_source : dc3a202cbb94c266f6df4b0c1b5247522fc76658
2013-01-25 16:39:51 -05:00
Robert O'Callahan c0ece4b4f5 Bug 804387. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.

--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 9fa0ec0efa304acd6513e427103d6339c78efa53
2013-02-05 12:07:25 +13:00
Robert O'Callahan e3a1dc160c Bug 804387. Part 7.5: Make Web Audio tests context-rate-independent (disabling some decodeAudioData tests). r=ehsan
--HG--
extra : rebase_source : c625c50a08da1871e79851c2a824b0e3ea170eba
2013-02-05 10:57:36 +13:00
Robert O'Callahan 3dc4ffe44f Bug 804387. Part 7.2: Let BiquadFilterNode use the actual context sample rate. r=ehsan
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 3d50af2ff2dff9fa047d59d0f3c815dec5cc686c
2013-02-05 10:55:50 +13:00
Ehsan Akhgari 81075674d3 Backed out 14 changesets (bug 804387) because of Android M2 crashes
Backed out changeset 80e8530f06ea (bug 804387)
Backed out changeset 3de2271ad47f (bug 804387)
Backed out changeset 00f86870931c (bug 804837)
Backed out changeset 0e3f20927c50 (bug 804387)
Backed out changeset e6ef90038007 (bug 804387)
Backed out changeset 0ad6f67a95f9 (bug 804387)
Backed out changeset d0772aba503c (bug 804387)
Backed out changeset 5477b87ff03e (bug 804387)
Backed out changeset 1d7ec5adc49f (bug 804387)
Backed out changeset 11f4d740cd6c (bug 804387)
Backed out changeset e6254d8997ab (bug 804387)
Backed out changeset 372322f3264d (bug 804387)
Backed out changeset 53d5ed687612 (bug 804387)
Backed out changeset 000b88ac40a7 (bug 804387)
2013-02-05 01:29:28 -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
Ehsan Akhgari 9b629eb383 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 d73147686a 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
Ehsan Akhgari 73b9ff03bf Bug 804387. Part 11: Fix testcase to expect correct sample rate. r=roc 2013-01-25 16:44:28 -05:00
Ehsan Akhgari 4eea296830 Bug 804387. Part 10: Add a mechanism for ensuring that we don't attempt to allocate an input port if the input node is not hooked up to MSG yet. r=roc 2013-01-25 16:39:51 -05:00
Robert O'Callahan dd57723337 Bug 804837. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.
2013-02-05 12:07:25 +13:00
Robert O'Callahan 577de895c2 Bug 804387. Part 7.5: Make Web Audio tests context-rate-independent (disabling some decodeAudioData tests). r=ehsan 2013-02-05 10:57:36 +13:00
Robert O'Callahan e52389b859 Bug 804387. Part 7.2: Let BiquadFilterNode use the actual context sample rate. r=ehsan 2013-02-05 10:55:50 +13:00
Ehsan Akhgari 58c421702e Export MediaBufferDecoder.h, no bug 2013-02-04 13:16:57 -05:00
Matthew Gregan bf6ee19251 Bug 835075 - Modify the mochitest. r=padenot 2013-02-04 14:08:47 +01:00
Ehsan Akhgari 1b4881afb5 Bug 792263 follow-up: Use class instead of struct to satisfy pesky compiler warnings (or rather, errors)
--HG--
extra : rebase_source : 900df4204ac807bb9d8e35d2837971905ecde151
2013-02-01 18:11:25 -05:00
Ehsan Akhgari 47b2a30d20 Bug 792263 - Implement decodeAudioData; r=bzbarsky,cpearce,padenot 2013-02-01 17:13:23 -05:00
Jeff Walden be633156a5 Bug 835648 - Move typed enum support to a new header. r=Ms2ger 2013-01-28 16:33:17 -08:00
Ryan VanderMeulen 11e2a8437f Backed out changeset 3eb633a97c1f (bug 835648) for suspected Windows orange on a CLOSED TREE. 2013-01-29 19:01:45 -05:00
Jeff Walden 88df194b4b Bug 835648 - Move typed enum support to a new header. r=Ms2ger
--HG--
extra : rebase_source : 8c912fba889c1c5435e3619714071502fbfb30a3
2013-01-28 16:33:17 -08:00
Robert O'Callahan 030c7cbf38 Bug 832788. Part 3: AudioListener DopplerFactor/SpeedOfSound should take float per WebIDL. r=ehsan
--HG--
extra : rebase_source : d435b1678b09075cecf75e8da64364ec62964d00
2013-01-29 14:40:59 +13:00
Robert O'Callahan cb6d196d28 Bug 832788. Part 2: AudioEventTimeline::IsValid needs to accept double. r=ehsan
--HG--
extra : rebase_source : 74c278d121419448b264ec3be4b8717bd99e15d1
2013-01-29 14:40:26 +13:00
Ehsan Akhgari 78a045cb78 Bug 834929 - Part 3: Squeeze two members of Event into a union to reduce its size; r=roc 2013-01-28 15:40:12 -05:00
Ehsan Akhgari 495612118f 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 f08d5611eb Bug 834929 - Part 1: Store the default/min/max values on the AudioParam itself; r=roc 2013-01-25 14:26:31 -05:00
Peter Van der Beken c553f8a73e Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 5668d9e01bff0fe7831d98018428856e5940a620
2012-12-03 17:07:49 +01:00
Ed Morley 9474e07ea6 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken 6b094e2955 Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 68e5630591f6209e2af9c5cd2321fed8edd3de24
2012-12-03 17:07:49 +01:00
Ehsan Akhgari e6086a753b Bug 834869 - AudioBuffer's Unlink method should drop js objects; r=mccr8
--HG--
extra : rebase_source : 3ee8bc593cdffff135a7094eacee7c5d34c70848
2013-01-25 16:21:22 -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
Ehsan Akhgari 35865c44e0 Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Steve Fink 9effec722d Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Steve Fink d8da3e7b9a Backed out changeset fce4e0f8a553 (bug 828753) for breaking windows warnings-as-errors (stop adding JSObject forward decls, please!) 2013-01-18 13:20:21 -08:00
Steve Fink 0dee2fb42d Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
--HG--
extra : rebase_source : c8806b27677594925ad0e6b54c47af5cf17e1153
2012-12-31 12:40:21 -08:00
Trevor Saunders 83bcbe0d6b bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Ehsan Akhgari e49fd43e10 Bug 827541 follow-up: Make sure that the test case actually instantiates an AudioContext object the first time, as opposed to just access the constructor function through a property access 2013-01-15 01:15:25 -05:00
Andrew McCreight 336d6d78cf Bug 827541 - Traverse/Unlink nsGlobalWindow::mAudioContexts. r=ehsan 2013-01-14 15:22:00 -08:00
Masatoshi Kimura 9a4812e054 Bug 824247 - Part 3: Disable FAIL_ON_WARNINGS on not-yet-warning-free directories on MSVC. r=ted 2013-01-03 00:56:38 +09:00
Ehsan Akhgari cf3c707293 Bug 816828 - Implement AudioContext.sampleRate; r=bzbarsky 2012-11-29 22:31:39 -05:00
Ehsan Akhgari cf0638b6a7 Merge mozilla-central into mozilla-inbound 2012-11-28 09:43:30 -05:00
Olli Pettay c806b877ae Bug 811206, Fix JSHolder drop handling, part 3 (fixes), r=mccr8,khuey
--HG--
extra : rebase_source : 7b2726d2aa7f5764a3c4cb750e5a735728069687
2012-11-28 03:37:57 +02:00
Ehsan Akhgari 4649ad08c1 Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Daniel Holbert 57e9d5cef0 Bug 815450: Add "u" suffix to numeric literals in TestAudioEventTimeline.cpp, to fix sign-compare build warnings. r=ehsan 2012-11-26 20:34:16 -08:00
Daniel Holbert 2eecde6b4e Backed out changeset 704c91d3e7fa (Bug 814789) because of mac build-bustage 2012-11-26 20:34:10 -08:00
Ehsan Akhgari c2934219f5 Bug 814789 - Tie the life-time of the AudioContext to the life-time of the document owning it; r=bzbarsky 2012-11-23 18:33:41 -05:00
Andrew McCreight ead425b3e0 Bug 814453 - Eliminate NS_IMPL_CYCLE_COLLECTION_UNLINK_NATIVE_0 and NS_IMPL_CYCLE_COLLECTION_TRACE_NATIVE_BEGIN. r=smaug 2012-11-23 11:27:06 -08:00
Benoit Jacob 3d8cbb81ad Bug 814444 - Remove now-useless TRAVERSE_NATIVE_BEGIN and UNLINK_BEGIN_NATIVE macros - r=mccr8 2012-11-22 12:15:38 -05:00
Andrew McCreight 6998222f29 Bug 815454 - Clean up Traverse/Unlink of web audio. r=smaug 2012-11-27 15:08:22 -08:00
Andrew McCreight 34a5c40864 Bug 814752 - Make NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER work for native CC classes. r=smaug,ehsan 2012-11-27 15:08:22 -08:00
Boris Zbarsky 127a0152d5 Bug 767933 part 4. Make 'float' and 'double' types throw on non-finite values. r=khuey,ehsan,bas 2012-11-27 15:32:05 -05:00
Ehsan Akhgari 50dab9a21f Bug 813269 - Use double to represent time in Web Audio; r=bzbarsky 2012-11-19 15:52:29 -05:00
Ehsan Akhgari 6a81aec2f5 Bug 812390 - Protect against NaN in AudioContext.createDelay; r=bzbarsky 2012-11-15 17:48:04 -08: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
David Zbarsky dcdecf8a09 No bug, fix struct/class mismatch warnings 2012-11-14 21:38:26 -05:00
Ehsan Akhgari fb6db84aa2 Bug 811864 - Remove PannerNode.coneGain/distanceGain; r=bzbarsky 2012-11-14 13:03:24 -08:00
Ehsan Akhgari 7ac59156a2 Bug 811555 - Make AudioContext.createDelay not accept arguments greater than or equal to 3; r=bzbarsky
--HG--
extra : rebase_source : 5ad2006acb9c27ba7f94c0d1858a19d71cc663c4
2012-11-13 16:46:25 -08:00
Ehsan Akhgari e09214c973 Bug 809882 - Disallow non-positive arguments to AudioContext.createDelay; r=bzbarsky 2012-11-08 13:17:22 -05:00
Ehsan Akhgari 5d5d4ac533 Add the missing file for the test in bug 809654 2012-11-08 09:33:12 -05:00
Ehsan Akhgari aee7ba06a2 Bug 809654 - Implement BiquadFilterNode; r=bzbarsky 2012-11-07 20:59:14 -05:00
Ehsan Akhgari 18a3162a03 Bug 809271 - Implement DynamicsCompressorNode; r=bzbarsky 2012-11-06 20:01:11 -05:00
Ehsan Akhgari 7a8bb88181 Bug 808876 - Part 1: Implement PannerNode; r=bzbarsky
--HG--
extra : rebase_source : a7b901dcc7758ff9c7a8917a956d0541187fea07
2012-11-05 21:14:13 -05:00
Ehsan Akhgari 5e1b881ace Backed out changeset ecf0c2a7cb9f (bug 808876) for build bustage 2012-11-05 22:30:08 -05:00
Ehsan Akhgari 88bb2dfe7d Bug 808876 - Implement PannerNode; r=bzbarsky 2012-11-05 21:14:13 -05:00
Ehsan Akhgari 5e0c849b8d Bug 808841 follow-up: Add ThreeDPoint.h 2012-11-05 21:34:31 -05:00
Ehsan Akhgari 5dd071f4dc Bug 808841 - Implement AudioContext.listener; r=bzbarsky 2012-11-05 19:26:03 -05:00
Ehsan Akhgari 0a8ef39c33 Bug 808374 - Balance holding and dropping the JS object references for AudioBuffers initialized with 0 channels; r=mmcr8 2012-11-05 13:49:35 -05:00
Ehsan Akhgari 4c01419332 Bug 807533 - Implement DelayNode; r=bzbarsky
--HG--
extra : rebase_source : 36bb70c9f4b9c86fc1564447a34153d92fe7f347
2012-10-31 20:26:03 -04:00
Ehsan Akhgari 1088ceaad8 Bug 807526 - Implement GainNode; r=bzbarsky 2012-10-31 15:09:32 -04:00
Ehsan Akhgari dd5b869bc1 Bug 807171 - Implement AudioParam.cancelScheduledValues; r=bzbarsky 2012-10-30 20:12:19 -04:00
Nathan Froyd 450fd8a595 Bug 807329 - fix AudioEventTimeline.h for compilers that don't support enum classes; r=ehsan 2012-10-31 11:58:42 -04:00
Ehsan Akhgari a55072e646 Use #include guards in the web audio code, no bug 2012-10-30 17:39:38 -04:00
Ehsan Akhgari 93ab39a5d3 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
Peter Van der Beken 68f37a763d Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - remove nsISupports from AudioContext. r=ehsan.
--HG--
extra : rebase_source : f37b849c020bd9e4bc72e16df71a0241fafb0829
2012-10-09 20:50:26 +02:00
Ehsan Akhgari b887b4cb60 Bug 797150 - Rename AudioBufferSourceNode's noteOn and noteOff to start/stop; r=bzbarsky 2012-10-02 18:15:33 -04:00
Ehsan Akhgari a7ce3ce7ca Bug 792649 - Make the simplest of Web Audio tests work without audio playback for now; r=bzbarsky 2012-09-24 23:31:58 -04:00
Ehsan Akhgari 8889020fa0 Bug 793294 follow-up: Hold on to JS objects early in AudioBuffer::InitializeBuffers 2012-09-26 11:52:01 -04:00
Ehsan Akhgari 23e1abde57 Bug 793294 - Implement AudioBuffer; r=bzbarsky,smaug
This is the full implementation of the AudioBuffer object.  There are
two ways to create these objects from an audio context and this patch
implements only one of them.

The construction of the AudioBuffer object is a two step process: the
object should be created with operator new first, and then
InitializeBuffers should be called on it.  InitializeBuffers is
fallible, because it uses the JS API to create the underlying typed
arrays, but that's fine, since the length of the buffers comes from web
content, and we don't want to use infallible allocations for those
anyways.

We hold on to the JS objects from the C++ implementation, and trace
through all of those objects, so that a GC does not kill those object
without us knowing.

The buffer should be possible to manipulate from both C++ and JS, and
the C++ object probably needs to support a set of methods for the C++
callers at some point.
2012-09-25 17:58:50 -04:00
Ehsan Akhgari c461ff018e Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-21 11:33:03 -04:00
Ehsan Akhgari e98eaf856f Backout changeset 7d0776416955 (bug 792646) because of leaks 2012-09-20 19:47:07 -04:00
Ehsan Akhgari 58f854c7d4 Bug 792646 - Implement the skeleton of Web Audio source and destination nodes; r=bzbarsky
This is the bare minimum that one needs in order to get those interfaces
implemented.  The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
2012-09-20 18:05:38 -04:00
Ehsan Akhgari f21f627c90 Bug 788310 - Hide mozAudioContext behind a pref; r=bzbarsky 2012-09-07 18:13:26 -04:00
Ehsan Akhgari 3fc90f9719 Bug 775302 - Stub out the implementation of mozAudioContext; r=bzbarsky,khuey 2012-08-31 16:59:37 -04:00