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