Ehsan Akhgari
8f1fc677be
Bug 889042 - Null check the argument to ConvolverNode::SetBuffer; r=padenot
...
--HG--
extra : rebase_source : e69ed91550603d4477b0b6084e05af971a0b050c
2013-07-02 14:15:32 -04:00
Robert O'Callahan
6ec3546f11
Bug 886618. Part 2: Simplify OOM handling when stealing array buffer data. r=ehsan
...
--HG--
extra : rebase_source : 1343b39cdf4e65af99219da47e778f86d8a38b04
2013-06-30 00:30:35 +12:00
Robert O'Callahan
acd948d7ca
Bug 886618. Part 3: Handle null data in ConvolverNode. r=ehsan
...
--HG--
extra : rebase_source : 64e9c67937db1bea84bc3445d1e774782b5de419
2013-06-29 17:32:18 +12:00
Robert O'Callahan
6a7f5b997d
Bug 886618. Play nothing when one or more of the Float32Arrays of an AudioBuffer has been neutered. r=ehsan
...
--HG--
extra : rebase_source : 6778a5416142e247aa91ec29bbc50b049ecd6d90
2013-06-26 04:01:07 +12:00
Justin Lebar
3e059c7221
Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
051c5b560a
Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
...
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
This is a mechanical change made with sed. Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Robert O'Callahan
07e75dea9b
Bug 886618. Remove dead AudioBuffer code. r=ehsan
...
--HG--
extra : rebase_source : fcd30cacfbcd1a43f62e0c0ce7df2dd57c307366
2013-06-29 01:49:56 +12:00
Robert O'Callahan
0d7e3acda0
Bug 886657. Don't play anything from an AudioBufferSourceNode until a buffer has been set and start() has been called. r=ehsan
2013-06-26 04:00:42 +12: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
a6a09cb41e
Bug 886660 - Fix the leak in FFTBlock::SetFFTSize(); r=roc
2013-06-25 20:37:56 -04:00
Ryan VanderMeulen
e3c06f30f3
Backed out 2 changesets (bug 886618, bug 886657) for frequent OSX 10.7 mochitest-1 failures.
...
Backed out changeset 9fd8b2adc693 (bug 886618)
Backed out changeset 376fe12f4de4 (bug 886657)
2013-06-25 15:24:11 -04:00
Robert O'Callahan
6355b58d83
Bug 886618. Play nothing when one or more of the Float32Arrays of an AudioBuffer has been neutered. r=ehsan
...
--HG--
extra : rebase_source : a254d45ed8222b7154a541ecfff63125541abf85
2013-06-26 04:01:07 +12:00
Robert O'Callahan
1b4b8ac6f4
Bug 886657. Don't play anything from an AudioBufferSourceNode until a buffer has been set and start() has been called. r=ehsan
...
--HG--
extra : rebase_source : 48494d925526a8a064b42a59797fef70c61d4276
2013-06-26 04:00:42 +12:00
Ehsan Akhgari
2144715779
Bug 885583 - Enable Web Audio unconditionally across mochitests; r=roc
2013-06-23 19:23:02 -04:00
Ehsan Akhgari
cbdefabbd2
Bug 886165 - Hide the alternate names in the spec behind prefs which are turned off by default; r=roc
...
This patch uses one pref per interface, to allow us finer grain control over
which ones we might need to turn on in the future.
2013-06-23 19:22:10 -04:00
Ehsan Akhgari
acfc21a9c4
Bug 865256 - Part 2: Rename WaveTable to PeriodicWave; r=roc
...
--HG--
rename : content/media/webaudio/WaveTable.cpp => content/media/webaudio/PeriodicWave.cpp
rename : content/media/webaudio/WaveTable.h => content/media/webaudio/PeriodicWave.h
rename : content/media/webaudio/test/test_waveTable.html => content/media/webaudio/test/test_periodicWave.html
rename : dom/webidl/WaveTable.webidl => dom/webidl/PeriodicWave.webidl
2013-06-19 18:24:26 -04:00
Boris Zbarsky
111050ba80
Bug 883827. Make Optional<NonNull<T>> and Optional<OwningNonNull<T>> nicer to use by having their const Value() method return a T&. r=peterv
2013-06-19 14:48:43 -04:00
Ehsan Akhgari
fe67aae17b
Bug 884632 - Optimize MediaStreamGraphImpl::PrepareUpdatesToMainThreadState in order to only include AudioNodeStreams that the main thread is interested in; r=roc
2013-06-18 23:09:44 -04:00
Jon Coppeard
a30b14261f
Bug 877762 - GC: Post-barrier cycle collector participants - 7 Convert most JSObect to use Heap<T> (ex. XBL) r=bz
2013-06-18 11:00:38 +01:00
Josh Matthews
5cb0162f45
Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc
2013-05-21 15:17:47 -04:00
Ehsan Akhgari
de88d1fec1
Bug 881558 - Re-introduce try-locking in the reverb implementation; r=roc
2013-06-12 20:57:17 -04:00
Ehsan Akhgari
7af104bee8
Bug 815643 - Part 9: Port Blink's LayoutTest for ConvolverNode to mochitest-plain; r=roc
...
--HG--
extra : rebase_source : b829991957f0349a6c2541fcc99d4214e701a2ae
2013-06-10 16:10:07 -04:00
Ehsan Akhgari
47ec52a8a6
Bug 815643 - Part 8: Import convolution tests from Blink; r=roc
...
Imported from Blink SVN revision 150518
--HG--
extra : rebase_source : c50aeed5d0fceaa9112cd9e791ec7acd9904fd84
2013-06-10 16:09:53 -04:00
Ehsan Akhgari
f7d0ddbba6
Bug 815643 - Part 7: Add a basic API test for ConvolverNode; r=roc
...
--HG--
extra : rebase_source : be90de45e240fec45875a65235104d2d92716a14
2013-06-10 16:09:38 -04:00
Ehsan Akhgari
05a4ee9f4a
Bug 815643 - Part 6: Optimize FFTBlock to avoid recreating kiss_fftr_cfg objects all the time; r=roc
...
Setting up the FFT tables turns out to be quite expensive because of the
large number of calls to sin() and cos().
In the future we may want to look into having a global cache of FFT
tables per size, in order to pay the cost of setting each one of them up
only once.
--HG--
extra : rebase_source : 871d11e7f74db9e3e6c704da9518d40cba3deb8a
2013-06-10 16:09:25 -04:00
Ehsan Akhgari
4237b065da
Bug 815643 - Part 5: Implement ConvolverNode's processing based on the Blink implementation; r=roc
...
--HG--
extra : rebase_source : 4c1a8dbaa4ab2d4fcc67c0a5226a6937e0656404
2013-06-10 16:09:12 -04:00
Ehsan Akhgari
573f70e559
Bug 815643 - Part 4: Add the Convolution processing implementation to the build system; r=roc
...
--HG--
extra : rebase_source : 2a5aa609334c67bb9b09090d9f681c5c3a940c5c
2013-06-10 16:09:01 -04:00
Ehsan Akhgari
e279e084bb
Bug 815643 - Part 3: Import the Convolution processing implementation from Blink; r=roc
...
The original code was copied from Blink SVN revision 150518.
--HG--
extra : rebase_source : 1fbc3cc7f7325bdd8806d7ef30a5c882b505debf
2013-06-10 16:08:38 -04:00
Ehsan Akhgari
675e417f91
Bug 815643 - Part 2: Refactor our Web Audio FFT code into the FFTBlock class; r=roc
...
This is useful in order for us to be able to borrow code from Blink with
fewer changes, and also to explore faster platform dependent FFT
implementations in the future if needed.
--HG--
extra : rebase_source : 34bbded736e1b385754756513c59ee27ce7552a5
2013-06-10 16:08:21 -04:00
Ehsan Akhgari
e71db503bf
Bug 815643 - Part 1: Implement the DOM bindings for ConvolverNode; r=roc
...
--HG--
extra : rebase_source : 9f6853dcaeeac1f36aa8c2ee90991a7f0ea0b145
2013-06-10 16:07:55 -04:00
Paul Adenot
4bfa3ee212
Bug 865244 - Test for AudioContext.destination.maxChannelCount. r=ehsan
2013-06-10 19:32:28 +02:00
Paul Adenot
ae5d415e99
Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan
2013-06-10 19:32:28 +02:00
Sankha Narayan Guria
d8379b657e
Bug 880265 - Remove AudioBufferSourceNode.gain; r=ehsan
2013-06-08 00:55:04 +05:30
Paul Adenot
c41b2d4368
Bug 878875 - Port Blink's LayoutTest for PannerNode to mochitest-plain. r=ehsan
2013-06-07 20:06:40 +02:00
Paul Adenot
c74db2982e
Bug 878875 - Import PannerNode tests from Blink. r=ehsan
...
Imported from Blink SVN revision 152035
2013-06-07 20:06:40 +02:00
Ehsan Akhgari
6ded75e2eb
Bug 880129 - Correctly handle AnalyserNodes with a buffer size smaller than 128; r=roc
2013-06-07 07:33:00 -04:00
Ehsan Akhgari
b6cfec5d54
Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc
2013-06-03 19:23:06 -04:00
Ehsan Akhgari
61a50048f8
Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc
2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
1aadfa7975
Backed out 3 changesets (bug 877527, bug 878765) for mochitest-1 timeouts on a CLOSED TREE.
...
Backed out changeset 0bf1e71fe3cc (bug 877527)
Backed out changeset 8473deb5fba9 (bug 878765)
Backed out changeset 0d327854300c (bug 877527)
2013-06-03 15:01:20 -04:00
Paul Adenot
d675835ef0
Bug 877527. Forgot to hg add.
2013-06-03 19:15:41 +02:00
Paul Adenot
5daeebc9a3
Bug 877527
2013-06-03 19:13:23 +02:00
Ehsan Akhgari
2aa2507d7c
Bug 878478 - Disable looping of AudioBufferSourceNode when we detect that the loopStart offset is not less than the loopEnd offset; r=roc
2013-06-02 09:26:26 -04:00
Ehsan Akhgari
73b6b78804
Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc
2013-06-02 09:26:06 -04: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
7a83db0a0c
Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc
2013-06-02 09:25:16 -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
4eb33f438e
Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc
2013-05-30 20:54:07 -04:00
Ehsan Akhgari
2942a374d2
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
aded29394c
Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc
2013-05-30 20:52:26 -04:00
Ehsan Akhgari
00a0eca5c5
Bug 877039 - Set the Web Audio maximum channel count to 32; r=roc
...
--HG--
extra : rebase_source : 7e5bb51cd3bd9b4fbe01649af8f14e17cf6b3042
2013-05-30 14:25:52 -04:00
Arnaud Sourioux
3259f595c7
Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug
2013-05-29 13:43:41 -07:00
Ehsan Akhgari
7cf4778379
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
a87472915d
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
0a2c0872da
Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE.
2013-05-29 17:56:10 -04:00
Arnaud Sourioux
6629173032
Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug
2013-05-29 13:43:41 -07:00
Ehsan Akhgari
f093c0091d
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
cc7d5c2b45
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
fbb58a2c0f
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
615f1f5b8a
Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc
2013-05-28 07:19:07 -04:00
Ehsan Akhgari
9baff6c056
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
5169c0a913
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
2e93916b83
Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc
2013-05-25 10:01:08 -04:00
Ehsan Akhgari
fd75086ad5
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
957cbbdf9f
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
6949c4ae36
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
3ce5b9f23b
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
d2d5f6b5f2
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
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
544f957035
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
1811db3407
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
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
6fb8c0972a
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
4d8cc1f041
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
6e1db6fd29
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
e87ed222ac
Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc
2013-05-23 22:39:36 -04:00
Ehsan Akhgari
2d735d6964
Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc
2013-05-23 08:26:21 -04:00
Ehsan Akhgari
6930fe07cd
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
88179b9901
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
ab09f23cb3
Backed out changesets e52c6f7200b3 and 2718954757e1 (bug 874869) for intermittent Windows leaks.
2013-05-22 15:22:26 -04:00
Bobby Holley
f2943090bd
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
cdde50556c
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
aa8f22ec3d
Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc
2013-05-22 11:30:31 -04:00
Ehsan Akhgari
f21f77e78b
Bug 873335 - Unlink ScriptProcessorNode members before AudioNode; r=mccr8
2013-05-21 14:54:23 -04:00
Ehsan Akhgari
56b05d7b13
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
1d49386d36
Bug 836599 - Part 13: Add a unit test for OfflineAudioContext; r=roc
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
5e74778928
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
73fcbb6b99
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
a7c05da424
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
ee70633121
Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc
2013-05-16 19:30:41 -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
Paul Adenot
61090bc967
Bug 867104 - Add a crashtest. r=ehsan
2013-05-14 14:14:42 +02:00
Paul Adenot
dab176a926
Bug 867104 - r=ehsan
2013-05-14 14:14:42 +02:00
Ehsan Akhgari
5cba21896b
Bug 865251 - Implement WaveShaperNode; r=roc
2013-05-14 00:12:30 -04:00
Ed Morley
5256152aa1
Backed out changeset 496846474ed3 (bug 864774)
2013-05-13 10:05:49 +01:00
Ehsan Akhgari
d3727632a9
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
f781f8cc60
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
5b52df0a32
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
954221d9c9
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
7ceff1cbc9
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
3a03d6982c
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
6967b2e522
Bug 869682 - Make sure that GainNode does not modify its input buffer; r=roc
2013-05-07 23:32:23 -04:00
Ehsan Akhgari
f2d6931593
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
19a6f21e0b
Bug 869073 - make WebIDL enums enum classes instead of plain enums; r=bz
2013-05-06 15:28:13 -04:00
Ehsan Akhgari
3a5e115094
Bug 865242 - Remove support for soundfield panning from PannerNode; r=padenot
2013-05-07 08:27:08 -04:00
Ehsan Akhgari
d0d98f673c
Bug 865231 - Implement AudioParam.setValueCurveAtTime; r=roc
2013-05-06 19:50:45 -04:00
Ehsan Akhgari
dc5737f942
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
3db4781e60
Bug 868855 - Respect the input's volume in ChannelMergerNode and ChannelSplitterNode; r=roc
2013-05-06 14:30:47 -04:00
Ehsan Akhgari
09be695b86
Bug 865233 - Implement the ended event for AudioBufferSourceNode; r=roc
2013-05-06 14:22:01 -04:00
Ehsan Akhgari
f73325c4ae
Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot
2013-05-06 11:34:03 -04:00
Ehsan Akhgari
e7db49b259
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
a376fef6c5
Bug 865247 - Part 4: Implement ChannelSplitterNode; r=roc
2013-05-05 11:49:13 -04:00
Ehsan Akhgari
393265eec6
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
218e9e0a0e
Bug 865247 - Part 2: Tell MediaInputPorts about their input and output ports; r=roc
2013-05-05 11:47:59 -04:00
Ehsan Akhgari
c01ffbe92a
Bug 868485 - Part 2: Add test cases for createBuffer with mono downmixing; r=roc
2013-05-05 11:16:23 -04:00
Ehsan Akhgari
8c975dd4b5
Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc
2013-05-05 11:15:58 -04:00
Ehsan Akhgari
789ba6717c
Bug 868776 - Fix rooting hazards in Web Audio code; r=till
2013-05-04 17:40:20 -04:00
Yuan Pengfei
20ba164ee7
Bug 868716 - Fix placement of #include <float.h>; r=ehsan
2013-05-04 11:35:35 -04:00
Chris Pearce
af7dd2e31d
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
0cf4dbdef2
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
4ac559870b
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
026206633a
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
fd7dbdb682
# 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
af251e5c77
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
3f9bd50fa8
Bug 867876 - Add some tests for the AudioParam automation events; r=roc
2013-05-02 01:13:27 -04:00
Paul Adenot
32ec5787d9
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
56fc223adb
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
84fa792d7b
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
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
85820ff13a
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
caeeb616ee
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
6941e106a7
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
a1f0bc5292
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
0c87398ccc
Backed out changeset 9351bfd9d8c5 (bug 867174)
2013-05-03 09:20:05 +01:00
Ed Morley
2042650fd5
Backed out changeset 85ec6c943147 (bug 867876)
2013-05-03 09:20:01 +01:00
Ed Morley
4e31011251
Backed out changeset b342f87552a3 (bug 865642)
2013-05-03 09:19:58 +01:00
Ed Morley
03354ae3f1
Backed out changeset 3cadad39da66 (bug 868116)
2013-05-03 09:19:55 +01:00
Ed Morley
8eeceb52e2
Backed out changeset 93602e7a1551 (bug 865642)
2013-05-03 09:19:52 +01:00
Ed Morley
737faba1ab
Backed out changeset da92f0c44e91 (bug 867980)
2013-05-03 09:19:49 +01:00
Ed Morley
3753e02750
Backed out changeset 6402e13dc9ba (bug 865642)
2013-05-03 09:19:46 +01:00
Ed Morley
a9f3ed873a
Backed out changeset b66017604bdd (bug 867203)
2013-05-03 09:19:43 +01:00
Paul Adenot
37c08feeaa
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
1eee4090f6
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
fbab08d93b
Bug 865642 - Disable more tests on Android.
2013-05-02 23:59:31 -04:00
Ryan VanderMeulen
b03746dc75
Bug 867980 - Disable test on Android due to frequent timeouts.
2013-05-02 21:25:38 -04:00
Ryan VanderMeulen
83f65e06ef
Bug 865642 - Disable tests on Android due to frequent timeouts.
2013-05-02 21:24:17 -04:00
Ryan VanderMeulen
a0f47f11d0
Bug 868116 - Disable test on Android due to being perma-orange.
2013-05-02 15:39:40 -04:00
Ehsan Akhgari
81ad4113d5
Bug 865642 - Disable test_bug867174.html on Android
2013-05-02 12:03:49 -04:00
Oleg Romashin
ec83e8bc77
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
fedd33c510
Bug 867876 - Add some tests for the AudioParam automation events; r=roc
2013-05-02 01:13:27 -04:00
Ehsan Akhgari
f4ef30f478
Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot
2013-04-30 16:37:23 -04:00
Ehsan Akhgari
35b84ef38c
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
899863a74d
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
28407c41d6
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
589fed31a5
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
ad99fd0d6c
Bug 865234 - Part 8: Add a test case for channel mixing rules; r=roc
2013-04-30 00:06:04 -04:00
Ehsan Akhgari
db6a4e8298
Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc
2013-04-27 19:25:23 -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
Ehsan Akhgari
ac4719d170
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
ea0642fdbb
Backed out changeset cace8e8e8556 because of the wrong bug number
2013-05-01 01:15:09 -04:00
Ehsan Akhgari
0517ae39d8
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
24fbfcefb9
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
ac5e6b15a5
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
939a5e76b9
Backed out changesets 5447d49a2c6f and ab9c9d0819a2 (bug 867089) for mochitest failures.
...
CLOSED TREE
2013-04-30 11:16:55 -04:00
Paul Adenot
8d81faa16c
Bug 867089 - Test for invalid playbackRate values on an AudioBufferSourceNode. r=ehsan
2013-04-30 16:04:44 +02:00
Paul Adenot
616d1f9c6c
Bug 867089 - Validate the playbackRate before using it. r=ehsan
2013-04-30 16:04:05 +02:00
Andrew McCreight
870975029d
Bug 866570 - test. r=smaug
2013-04-28 22:38:57 -07:00
Ehsan Akhgari
c08f31fb0c
Bug 866737 - Unregister PannerNodes when they're unlinked by the cycle collector; r=padenot
2013-04-29 14:06:40 -04:00
Andrew McCreight
03a59e841e
Bug 866570 - AudioContext should use its superclass's CC stuff. r=smaug
2013-04-29 06:04:59 -07:00
Ehsan Akhgari
13392450f0
Bug 866442 - Implement BiquadFilterNode.getFrequencyResponse; r=padenot
2013-04-27 16:29:48 -04:00
Ehsan Akhgari
506c3d8044
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
b4e7ad956e
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
3163802ff4
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
bfd9579893
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
5615dfd14f
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
4c262b87b0
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
8558db626e
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
f9764c2d00
Backed out changeset 7c244b521e54 (the investigation patch for bug 866079)
2013-04-27 15:07:29 -04:00
Ehsan Akhgari
0c3c1d6ffa
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
a254b1fcac
Bug 865550 - Unlink AudioBufferSourceNode members before AudioNode; r=mccr8
2013-04-25 16:52:52 -04:00
Ehsan Akhgari
eabaf3e71e
Bug 859600 - Make AudioContext an EventTarget; r=smaug
2013-04-25 00:28:39 -04:00
Ehsan Akhgari
ce979bfbde
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
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
8f22491495
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
6c274aa699
Bug 865548 - Convert the node arrays in AudioContext to hashsets; r=padenot
2013-04-24 23:32:41 -04:00
Ehsan Akhgari
9773a06f1b
Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky
2013-04-24 16:57:07 -04:00
Ehsan Akhgari
3aafed5c8f
Backed out changeset 089871cdaf1e (bug 865004) because of crashtest leaks on a CLOSED TREE
2013-04-24 16:29:08 -04:00
Ehsan Akhgari
bae9f2a9a4
Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky
2013-04-24 15:30:19 -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
Paul Adenot
87427692d3
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
f4ede88cdf
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
ae2e659fa6
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
12e6ca7aff
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
5d8d818bac
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
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
4393d3e222
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
5ddf6abea4
Bug 834513 follow-up: Mode AudioNode::DestroyMediaStream into the cpp file, and inline UnbindFromEngine
2013-04-22 22:45:37 -04:00
Ehsan Akhgari
4b6164232a
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
bc6410c3a7
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
6d48241e2c
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
d968757da5
Bug 864164 - Part 1: Send the AudioBufferSourceNode loop parameter changes to the stream; r=padenot
2013-04-22 00:22:33 -04:00