Commit Graph

458 Commits

Author SHA1 Message Date
Ehsan Akhgari
1de812f9ff Bug 877231 - Make the error checking for the OfflineAudioContext constructor more strict; r=roc
--HG--
extra : rebase_source : 123a39f3d4a169c85927b4e23f99a9962efc4452
2013-05-29 19:35:30 -04:00
Ehsan Akhgari
b60b4f5031 Bug 877125 - Handle the case where the expected number of channels for the offline AudioDestinationNode and the actual input number of channels do not match; r=roc
--HG--
extra : rebase_source : 432c10fe039b24b1aea1d0329ebef37f9e62cd0a
2013-05-29 19:33:14 -04:00
Ryan VanderMeulen
eb4d754279 Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
83d60db473 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
fd9088c5e1 Bug 875221 - Make sure to balance the creation and destruction of streams for media graphs; r=roc 2013-05-29 11:38:39 -04:00
Ehsan Akhgari
fe9a997fa6 Bug 876118 - Impose a unified channel count limit of 10000 channels in Web Audio; r=roc
--HG--
extra : rebase_source : 480cebb99e5dd8673df179b490d11e6c513fa1d1
2013-05-29 07:36:37 -04:00
Ehsan Akhgari
042b85c631 Bug 876834 - Do not accept sampling rates which we won't be able to handle when creating an OfflineAudioContext; r=roc 2013-05-29 00:10:52 -04:00
Ehsan Akhgari
d923161800 Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc 2013-05-28 07:19:07 -04:00
Ehsan Akhgari
6f26d6a634 Bug 876252 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer more effectively; r=roc
Calling Stop() here is not quite enough, because web content might call stop() again
with a non-zero argument, which overrides what we do here.
2013-05-27 20:17:24 -04:00
Mike Shal
6f32ddf61c Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Ehsan Akhgari
ee46ea7758 Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc 2013-05-25 10:01:08 -04:00
Ehsan Akhgari
764fa52c0e Bug 875596 - Properly handle AudioParam SetCurve automation events with a 0 duration; r=roc
--HG--
rename : content/media/webaudio/test/test_audioParamSetCurveAtTime.html => content/media/webaudio/test/test_audioParamSetCurveAtTimeZeroDuration.html
2013-05-24 13:19:47 -04:00
Ehsan Akhgari
ec8cc4a084 Bug 873553 - Part 11: Run the Web Audio tests with two OfflineAudioContexts, one at 48KHz and one at 44.1KHz; r=roc
--HG--
extra : rebase_source : b3847be5b05a9dc5e0d3233fadd30c92a6f07292
2013-05-24 13:11:53 -04:00
Ehsan Akhgari
6d703a83b0 Bug 873553 - Part 10: Allow creating OfflineAudioContexts with arbitrary sampling rates; r=roc
--HG--
extra : rebase_source : 99758cbe05b83d34734e4df11f30ebbbd12811df
2013-05-24 13:11:32 -04:00
Ehsan Akhgari
c74b3d338f Bug 873553 - Part 9: Port WebAudioUtils to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 18e01ed739bb505f7825c3d79e00c8552a70fad0
2013-05-24 13:11:18 -04:00
Ehsan Akhgari
32907f2bc2 Bug 873553 - Part 8: Port DynamicsCompressorNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : ebf2989b778a03f873eea83ed5c885360981e2ed
2013-05-24 13:10:59 -04:00
Ehsan Akhgari
33f9fbcce5 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
e3a8d368e2 Bug 873553 - Part 6: Port BiquadFilterNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 3522c7cb9ea0469f6ac9607ea0408b078f56f09e
2013-05-24 13:10:24 -04:00
Ehsan Akhgari
84490bcf14 Bug 873553 - Part 5: Port AudioBufferSourceNodeEngine to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 13d1133fb34d3695eece432047b719b456961610
2013-05-24 13:13:31 -04:00
Ehsan Akhgari
6c12a5399d 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
5ce3257ba4 Bug 873553 - Part 3: Rename AudioBufferSourceNodeEngine::mSampleRate to mBufferSampleRate; r=roc
--HG--
extra : rebase_source : 3970da0f20d3d53f17d0ce8244a12de073eeb19a
2013-05-24 13:09:51 -04:00
Ehsan Akhgari
d0bcd953b7 Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
39ee36fa36 Bug 873553 - Part 1: Remove AudioContext::GetRate; r=roc
This method is currently unused.

--HG--
extra : rebase_source : c6d5a9788e6cb03fc965852e5b97a72e05cfd3e2
2013-05-24 13:09:08 -04:00
Ehsan Akhgari
530a84ad34 Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc 2013-05-23 22:39:36 -04:00
Ehsan Akhgari
15180e2c8e Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc 2013-05-23 08:26:21 -04:00
Ehsan Akhgari
2a4cb3efa4 Bug 874915 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer; r=roc
--HG--
extra : rebase_source : 0b179aab5ddb1ffd4ab2aeb8366b36975c949187
2013-05-23 07:50:48 -04:00
Ehsan Akhgari
8cf8e70106 Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc
--HG--
extra : rebase_source : 8015dda70e2191820c9482b529a22bdaa67dd79e
2013-05-23 07:46:20 -04:00
Ryan VanderMeulen
f55afa2982 Backed out changesets e52c6f7200b3 and 2718954757e1 (bug 874869) for intermittent Windows leaks. 2013-05-22 15:22:26 -04:00
Bobby Holley
1b2f22fe61 Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
ba05c93769 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Ehsan Akhgari
8225f28a47 Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc 2013-05-22 11:30:31 -04:00
Ehsan Akhgari
e86b84cf6f Bug 873335 - Unlink ScriptProcessorNode members before AudioNode; r=mccr8 2013-05-21 14:54:23 -04:00
Ehsan Akhgari
8e8fe6fed9 Bug 836599 - Part 14: Run most of the existing Web Audio tests using OfflineAudioContext as well as AudioContext; r=roc
This helps us get a decent amount of test coverage on OfflineAudioContext in
both the existing tests and the future tests.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
f08b3af866 Bug 836599 - Part 13: Add a unit test for OfflineAudioContext; r=roc 2013-05-16 19:31:08 -04:00
Ehsan Akhgari
e5e74aa411 Bug 836599 - Part 12: Fix the lifetime management of the Web Audio graph in presence of OfflineAudioContexts; r=roc
Here we make the non-realtime graphs to go to sleep until they're shut down
from the main thread.  This allows us to use the common forced shutdown code
path in MediaStreamGraphImpl::RunThread.  We also need to delete the graph
object when the last message is dispatched to it.

In addition, we need to make sure that the AudioNodes also get released when
they're no longer needed.  To do this, we need for force the SelfReference of
AudioBufferSourceNodes to be released when the context is shut down, and also
trigger the destruction of the graph there.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
3922e3215b Bug 836599 - Part 11: Implement the processing of OfflineAudioContext; r=roc
We use a custom AudioNodeEngine for the destination nodes belonging to
OfflineAudioContexts, and there we record the rendered buffer.  Once the buffer
is full, we resample it if the sampling rate of the OfflineAudioContext is
different than the ideal sampling rate, and then we hand it off to the main
thread in order for the complete event to be dispatched.
2013-05-16 19:30:57 -04:00
Ehsan Akhgari
e27939f54d Bug 836599 - Part 10: Use the non-realtime MediaStreamGraph API and a custom destination node engine for OfflineAudioContext; r=roc
We offload most of the logic for OfflineAudioContext to the destination node,
since that's where the sample recording needs to happen, so doing this will
make the code simpler.
2013-05-16 19:30:42 -04:00
Ehsan Akhgari
a96e98f013 Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc 2013-05-16 19:30:41 -04:00
Ehsan Akhgari
82bc5dd180 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
Paul Adenot
3158b60d85 Bug 867104 - Add a crashtest. r=ehsan 2013-05-14 14:14:42 +02:00
Paul Adenot
e1cda4145a Bug 867104 - r=ehsan 2013-05-14 14:14:42 +02:00
Ehsan Akhgari
a0b78d269a Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00
Ed Morley
2710e5d6a9 Backed out changeset 496846474ed3 (bug 864774) 2013-05-13 10:05:49 +01:00
Ehsan Akhgari
1ad083a454 Bug 871201 - Part 2: Implement AudioBufferSourceNode.gain; r=roc
X-Git-Commit-ID: db8923b372db098aa7a5dc1cbf42674310b61aef
X-Mailer: git-send-email

--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_audioBufferSourceNodeGain.html
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_delayNodeWithGainAlternate.html
extra : rebase_source : 2cc9259229209fa926970e78ddfc2ef5765f4ad5
2013-05-13 00:17:55 -04:00
Ehsan Akhgari
0fe36724de Bug 871201 - Part 1: Refactor the gain processing logic of GainNodeEngine into a reusable base class; r=roc
X-Git-Commit-ID: e3c9ccaf984c74bb041e2a35fb092dd91e643555
X-Mailer: git-send-email

--HG--
extra : rebase_source : c26ad3b5953f15b599baa9fea0cf66580f2a3262
2013-05-13 00:17:36 -04:00
Ehsan Akhgari
308783cb5d Bug 870174 - Eliminate some lags and glitches caused by resampling in decodeAudioData and AudioBufferSourceNode.cpp, and make the code simpler too!; r=roc
X-Git-Commit-ID: d9ad3597291b9f656712dcdd15725afcc3882fa1
X-Mailer: git-send-email

--HG--
extra : rebase_source : 5f51d27aec53fd5e9ab868e799ce05ee2b7692d4
2013-05-13 00:17:00 -04:00
Mike Shal
d2b29f4e87 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey
From 140b9201e3b5d2d8efe7af286d279c2411dbc197 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Nathan Froyd
dbba9baf39 Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Ehsan Akhgari
3050474ec2 Bug 870167 - Create a mini test framework for Web Audio; r=roc
--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoop.html => content/media/webaudio/test/test_audioBufferSourceNodeEnded.html
extra : rebase_source : 787d1d19b6463906ff9db8cbfb5e61d76a2ab667
2013-05-09 08:45:35 -04:00
Ehsan Akhgari
f5323eda03 Bug 869682 - Make sure that GainNode does not modify its input buffer; r=roc 2013-05-07 23:32:23 -04:00
Ehsan Akhgari
65d65fc57c Bug 869224 - Use the same algorithm to compute the buffer start/end time and to convert AudioParam time values to ticks; r=roc 2013-05-07 23:31:15 -04:00
Nathan Froyd
9fd3f3a56a Bug 869073 - make WebIDL enums enum classes instead of plain enums; r=bz 2013-05-06 15:28:13 -04:00
Ehsan Akhgari
a841e607de Bug 865242 - Remove support for soundfield panning from PannerNode; r=padenot 2013-05-07 08:27:08 -04:00
Ehsan Akhgari
d44761d8d4 Bug 865231 - Implement AudioParam.setValueCurveAtTime; r=roc 2013-05-06 19:50:45 -04:00
Ehsan Akhgari
fc836625cc Bug 868864 - Correctly scale the time values of AudioParam when converting it to ticks, and correctly calculate SetTargetAtTime event values the first time they're encountered; r=roc 2013-05-06 14:59:43 -04:00
Ehsan Akhgari
b5688423b2 Bug 868855 - Respect the input's volume in ChannelMergerNode and ChannelSplitterNode; r=roc 2013-05-06 14:30:47 -04:00
Ehsan Akhgari
566ab60c82 Bug 865233 - Implement the ended event for AudioBufferSourceNode; r=roc 2013-05-06 14:22:01 -04:00
Ehsan Akhgari
fefedbf170 Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot 2013-05-06 11:34:03 -04:00
Ehsan Akhgari
855b90e600 Bug 865248 - Implement ChannelMergerNode; r=roc
--HG--
rename : content/media/webaudio/ChannelSplitterNode.h => content/media/webaudio/ChannelMergerNode.h
2013-05-05 11:49:37 -04:00
Ehsan Akhgari
cb9c2a7a4c Bug 865247 - Part 4: Implement ChannelSplitterNode; r=roc 2013-05-05 11:49:13 -04:00
Ehsan Akhgari
cea007a9a4 Bug 865247 - Part 3: Add a ProduceAudioBlock overload to handle simultaneous processing of multiple input and output ports; r=roc
The ObtainInputBlock API is also changed to create an input block for one input
block at a time.  An array of these input blocks is then sent to
ProduceAudioBlock for processing, which generates an array of AudioChunks as
output.

Backwards compatibilty with existing engines is achieved by keeping the
existing ProduceAudioBlock API for use with engines with only a maximum of one
input and output port.
2013-05-05 11:48:45 -04:00
Ehsan Akhgari
1f4e097965 Bug 865247 - Part 2: Tell MediaInputPorts about their input and output ports; r=roc 2013-05-05 11:47:59 -04:00
Ehsan Akhgari
a8711101f3 Bug 868485 - Part 2: Add test cases for createBuffer with mono downmixing; r=roc 2013-05-05 11:16:23 -04:00
Ehsan Akhgari
7ea8b318c7 Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc 2013-05-05 11:15:58 -04:00
Ehsan Akhgari
8e7457501a Bug 868776 - Fix rooting hazards in Web Audio code; r=till 2013-05-04 17:40:20 -04:00
Yuan Pengfei
8cab2eb577 Bug 868716 - Fix placement of #include <float.h>; r=ehsan 2013-05-04 11:35:35 -04:00
Chris Pearce
16011bf3ac Bug 847267 - Use DXVA2 to offload H.264 decoding to the GPU on Windows. r=Bas 2013-05-04 22:12:41 +12:00
James Willcox
26839b9119 Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan
--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
2013-05-03 16:42:28 -04:00
Matt Brubeck
eb1363b174 Back out changeset 1a0f522cf110 (bug 848652) because of assertion failures in MediaBufferDecoder.cpp
CLOSED TREE

--HG--
rename : content/media/webaudio/test/test_mediaDecoding.html => content/media/webaudio/test/test_decodeAudioData.html
2013-05-03 15:18:06 -07:00
Ehsan Akhgari
79f926cc63 Bug 868409 - ScriptProcessorNode's playing ref should remain active as long as there are outstanding connections; r=roc 2013-05-03 10:59:41 -04:00
James Willcox
9b1a0377f4 # ebe5edd8c0ac367c043437a674d4200cf4525757
Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan

--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
extra : rebase_source : 7b0926091743dd6cd17a0adee9a6d3c5181dfa4d
2013-05-03 16:42:28 -04:00
Ehsan Akhgari
e6e5e83119 Bug 867174 - Part 1: Deliver the correct channel count the to the resampler the first time that we see a buffer; r=padenot 2013-04-30 16:36:19 -04:00
Ehsan Akhgari
78292ca533 Bug 867876 - Add some tests for the AudioParam automation events; r=roc 2013-05-02 01:13:27 -04:00
Paul Adenot
6e76c43d3d Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : dc94f66dbb4291226ab3f2c6c1ad8dc7aa4081e7
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
96b8756891 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : 3c580a0feba39d01779a91e6bd10a10d98cb7114
2013-04-30 19:20:55 -04:00
Ehsan Akhgari
253a6df0e6 Bug 866434 - Part 4: Add a test case for connecting an AudioNode to an AudioParam; r=roc 2013-05-01 23:13:43 -04:00
Ehsan Akhgari
e0262ff6ca 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
670b091738 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
51eb2bd838 Bug 866434 - Part 1: Make it possible to connect an AudioNode to an AudioParam; r=roc 2013-05-01 18:59:02 -04:00
Ed Morley
bbd462e94e Backed out changeset 2938c2e1f7e7 (bug 867203) since part 1 had to be backed out for conflicts 2013-05-03 10:10:18 +01:00
Ed Morley
e1d81087be Backed out changeset ad407adf94f2 (bug 867174) and friends for causing permaorange mochitest-2 on Android, disabling tests without using android.json and/or conflicting with the backouts on three CLOSED TREEs 2013-05-03 09:24:04 +01:00
Ed Morley
d320d9c131 Backed out changeset 9351bfd9d8c5 (bug 867174) 2013-05-03 09:20:05 +01:00
Ed Morley
b8d16c44dc Backed out changeset 85ec6c943147 (bug 867876) 2013-05-03 09:20:01 +01:00
Ed Morley
2976e17cdf Backed out changeset b342f87552a3 (bug 865642) 2013-05-03 09:19:58 +01:00
Ed Morley
ae15f3e346 Backed out changeset 3cadad39da66 (bug 868116) 2013-05-03 09:19:55 +01:00
Ed Morley
ca5a276d35 Backed out changeset 93602e7a1551 (bug 865642) 2013-05-03 09:19:52 +01:00
Ed Morley
58401e4f7b Backed out changeset da92f0c44e91 (bug 867980) 2013-05-03 09:19:49 +01:00
Ed Morley
cd69604be9 Backed out changeset 6402e13dc9ba (bug 865642) 2013-05-03 09:19:46 +01:00
Ed Morley
a98a3b019c Backed out changeset b66017604bdd (bug 867203) 2013-05-03 09:19:43 +01:00
Paul Adenot
5bc11a52c7 Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 1b4bb979fd34dabc470ed8e59a40deaff0fa61a5
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
1e87638631 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : e4aca1ebb975e04e8821df0377ee652e18755ed7
2013-04-30 19:20:55 -04:00
Ryan VanderMeulen
ae1d5cb13b Bug 865642 - Disable more tests on Android. 2013-05-02 23:59:31 -04:00
Ryan VanderMeulen
b239f29690 Bug 867980 - Disable test on Android due to frequent timeouts. 2013-05-02 21:25:38 -04:00
Ryan VanderMeulen
3a29454d25 Bug 865642 - Disable tests on Android due to frequent timeouts. 2013-05-02 21:24:17 -04:00
Ryan VanderMeulen
d6c5ed3116 Bug 868116 - Disable test on Android due to being perma-orange. 2013-05-02 15:39:40 -04:00
Ehsan Akhgari
c4e4934952 Bug 865642 - Disable test_bug867174.html on Android 2013-05-02 12:03:49 -04:00
Oleg Romashin
c1b6457306 Bug 867964 - Build fail with DenormalDisabler.h:116: error: 'FLT_MIN' was not declared in this scope. r=ehsan
--HG--
extra : rebase_source : 7076471a442c3ce639b81259e824edd0c1a69eb0
2013-05-01 06:51:13 -07:00
Ehsan Akhgari
072e2f550f Bug 867876 - Add some tests for the AudioParam automation events; r=roc 2013-05-02 01:13:27 -04:00
Ehsan Akhgari
36e2c4b257 Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot 2013-04-30 16:37:23 -04:00
Ehsan Akhgari
bff2300eea Bug 867174 - Part 1: Deliver the correct channel count the to the resampler the first time that we see a buffer; r=padenot 2013-04-30 16:36:19 -04:00
Ehsan Akhgari
ee04d0f742 Bug 867511 - Part 2: Use DynamicCompressorNode's input channel count when processing input; r=roc 2013-05-01 15:40:07 -04:00
Ehsan Akhgari
d876907238 Bug 867511 - Part 1: Use ScriptProcessorNode's input channel count when buffering input; r=roc 2013-05-01 15:10:45 -04:00
Ehsan Akhgari
df419ab210 Bug 867588 - Remove support for implementing Web Audio nodes which are not connected to the MediaStreams backend; r=roc 2013-05-01 11:09:07 -04:00
Ehsan Akhgari
40c7bffd01 Bug 865234 - Part 8: Add a test case for channel mixing rules; r=roc 2013-04-30 00:06:04 -04:00
Ehsan Akhgari
9c26dbc68f Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc 2013-04-27 19:25:23 -04:00
Ehsan Akhgari
a749080ffb Bug 865234 - Part 1: Add DOM bindings for the channel mixing attributes; r=roc 2013-04-27 18:44:50 -04:00
Ehsan Akhgari
febaf4a1a5 Bug 867324 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc
(This time with the correct bug #)
2013-04-30 16:01:39 -04:00
Ehsan Akhgari
23d66661c0 Backed out changeset cace8e8e8556 because of the wrong bug number 2013-05-01 01:15:09 -04:00
Ehsan Akhgari
ffdb7c03e4 Bug 860958 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc 2013-04-30 16:01:39 -04:00
Paul Adenot
fe0d0dac61 Bug 867089 - Test for invalid playbackRate values on an AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 215d7cbe21144a3ed2a0642e49f10c4f10d1d66a
2013-04-30 16:04:44 +02:00
Paul Adenot
6402233faa Bug 867089 - Validate the playbackRate before using it. r=ehsan
--HG--
extra : rebase_source : 6e4065d4db69cb2d13f7ba5c05fbe9c74db03bf3
2013-04-30 16:04:05 +02:00
Ryan VanderMeulen
97c7feb7b5 Backed out changesets 5447d49a2c6f and ab9c9d0819a2 (bug 867089) for mochitest failures.
CLOSED TREE
2013-04-30 11:16:55 -04:00
Paul Adenot
8c8d0b4eb8 Bug 867089 - Test for invalid playbackRate values on an AudioBufferSourceNode. r=ehsan 2013-04-30 16:04:44 +02:00
Paul Adenot
3d22663645 Bug 867089 - Validate the playbackRate before using it. r=ehsan 2013-04-30 16:04:05 +02:00
Andrew McCreight
30fedfb95c Bug 866570 - test. r=smaug 2013-04-28 22:38:57 -07:00
Ehsan Akhgari
aa479f73fd Bug 866737 - Unregister PannerNodes when they're unlinked by the cycle collector; r=padenot 2013-04-29 14:06:40 -04:00
Andrew McCreight
6b31bf18b4 Bug 866570 - AudioContext should use its superclass's CC stuff. r=smaug 2013-04-29 06:04:59 -07:00
Ehsan Akhgari
c91f30797b Bug 866442 - Implement BiquadFilterNode.getFrequencyResponse; r=padenot 2013-04-27 16:29:48 -04:00
Ehsan Akhgari
2bdc8e9186 Bug 865246 - Part 5: Implement BiquadFilterNode's processing based on the Blink implementation; r=padenot 2013-04-26 17:49:09 -04:00
Ehsan Akhgari
9eee1965be Bug 865246 - Part 4: Send the changes in the type parameter to the stream; r=padenot 2013-04-26 18:23:52 -04:00
Ehsan Akhgari
c62b64e90c Bug 865246 - Part 3: Update the BiquadFilterNode IDL to match the current spec; r=padenot 2013-04-26 17:11:23 -04:00
Ehsan Akhgari
18b36c4ebe Bug 865246 - Part 2: Add the Biquad processing implementation to the build system; r=padenot 2013-04-26 14:48:45 -04:00
Ehsan Akhgari
1b7dd43fa1 Bug 865246 - Part 1: Import the Biquad processing implementation from Blink; r=padenot
The original code was copied from Blink SVN revision 148720.
2013-04-26 14:42:22 -04:00
Ehsan Akhgari
6d602f4c09 Bug 866108 - Part 2: Do not assume that we can always get a script global from the context's window; r=padenot 2013-04-27 18:44:13 -04:00
Ehsan Akhgari
ab2d0bc310 Bug 866108 - Part 1: Don't attempt to dispatch the audioprocess event on a node which has been unlinked by the cycle collector; r=padenot 2013-04-27 15:04:10 -04:00
Ehsan Akhgari
f0797f9f57 Backed out changeset 7c244b521e54 (the investigation patch for bug 866079) 2013-04-27 15:07:29 -04:00
Ehsan Akhgari
7442c4df57 Investigation for bug 866079 - Make the Command class live in the global scope in the hopes of getting better stack traces 2013-04-26 12:02:19 -04:00
Ehsan Akhgari
3a048937ab Bug 865550 - Unlink AudioBufferSourceNode members before AudioNode; r=mccr8 2013-04-25 16:52:52 -04:00
Ehsan Akhgari
38f134b992 Bug 859600 - Make AudioContext an EventTarget; r=smaug 2013-04-25 00:28:39 -04:00
Ehsan Akhgari
225ca99bf9 Bug 865650 - Ensure that looping will only happen if the start offset is less than the end offset; r=padenot
--HG--
extra : rebase_source : 3de31185083df174f7b6e823d1a135aee39c211d
2013-04-25 09:34:47 -04:00
Boris Zbarsky
f75142b01d 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
557ec26e0f Bug 865532 - Don't attempt to stop an AudioBufferSourceNode that doesn't have a context; r=padenot 2013-04-24 22:24:25 -04:00
Ehsan Akhgari
eac64e1821 Bug 865548 - Convert the node arrays in AudioContext to hashsets; r=padenot 2013-04-24 23:32:41 -04:00
Ehsan Akhgari
b6e9710e71 Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky 2013-04-24 16:57:07 -04:00
Ehsan Akhgari
fcf7078a8e Backed out changeset 089871cdaf1e (bug 865004) because of crashtest leaks on a CLOSED TREE 2013-04-24 16:29:08 -04:00
Ehsan Akhgari
01608e4b32 Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky 2013-04-24 15:30:19 -04:00
Ehsan Akhgari
f75763a080 Bug 864709 - Part 2: Protect accesses to AudioNodeEngine::mNode using a lock; r=padenot 2013-04-24 12:13:45 -04:00
Paul Adenot
bd71531a02 Bug 864164 followup - Also send the params to the stream when setting the buffer. r=ehsan 2013-04-23 17:42:40 +02:00
Ehsan Akhgari
f3f4b81e3c Bug 864164 - Part 2: Send the AudioBufferSourceNode buffer parameter changes to the stream; r=padenot 2013-04-22 17:01:22 -04:00
Ehsan Akhgari
84afc888ff Bug 864613 - Take the dynamics compressor node's input chunk volume into account; r=padenot
--HG--
extra : rebase_source : d065091c344325b9c42c26307074d20ad81e0cd0
2013-04-22 22:16:42 -04:00
Ehsan Akhgari
960b4e84ff Bug 864609 - Take the panner node's input chunk volume into account; r=padenot
--HG--
extra : rebase_source : 4ccebeb02cd8a52721b5bff5f5c77f9a7201312b
2013-04-22 22:07:49 -04:00
Ehsan Akhgari
7b3517171c Bug 864606 - Take the gain node's input chunk volume into account when we have automation events for changing the gain value; r=padenot
--HG--
extra : rebase_source : 0d8c538a22ba764559a30c09e436eaaf38ac63fd
2013-04-22 22:05:16 -04:00
Ehsan Akhgari
372be8564a 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
febd320fc7 Bug 864351 - Hold on to a SelfReference for ScriptProcessorNodes to make sure that they won't go away prematurely if they're used as source nodes; r=padenot 2013-04-22 21:23:54 -04:00
Ehsan Akhgari
7571e9d313 Bug 834513 follow-up: Mode AudioNode::DestroyMediaStream into the cpp file, and inline UnbindFromEngine 2013-04-22 22:45:37 -04:00
Ehsan Akhgari
27c7c4dcf7 Bug 864091 - Part 3: Implement DynamicsCompressorNode's processing based on the Blink's implementation; r=padenot 2013-04-21 16:13:59 -04:00
Ehsan Akhgari
f03533b4a7 Bug 864091 - Part 2: Add the Blink Dynamics Compressor implementation to the build system; r=padenot,glandium 2013-04-20 23:12:00 -04:00
Ehsan Akhgari
625818e3fe Bug 864091 - Part 1: Import the Dynamics Compressor implementation from Blink; r=padenot
The original code was copied from Blink SVN revision 148720.
2013-04-20 19:46:24 -04:00
Ehsan Akhgari
ba2650c05f Bug 864164 - Part 1: Send the AudioBufferSourceNode loop parameter changes to the stream; r=padenot 2013-04-22 00:22:33 -04:00
Ehsan Akhgari
a09ccd781d Bug 864322 - Stop all audio buffer source nodes when the context is being shut down to prevent leaks in the graph; r=padenot
--HG--
extra : rebase_source : a64d445609ac9892d0fae36122fdc25e1437f400
2013-04-22 11:45:34 -04:00