Robert O'Callahan
2664e02723
Bug 890248. Avoid situations where adding a new input to an AudioNode can race with a message telling the AudioNode to release its mPlayingRef. r=ehsan
...
--HG--
extra : rebase_source : 913683cc16a717bf73f9976292af965aba6b7758
2013-07-05 13:49:53 +12:00
Robert O'Callahan
c0d6761000
Bug 886618. Part 4: Test. r=ehsan
2013-07-05 09:19:54 +12:00
Ehsan Akhgari
236d8f6730
Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc
2013-07-03 21:38:31 -04:00
Ehsan Akhgari
5cb9cb8f95
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 21:37:39 -04:00
Ehsan Akhgari
ed0b5cc1b2
Bug 889016 - Part 2: Report an error in the synchronous AudioContext.createBuffer unless the legacy pref has been set; r=roc
2013-07-04 09:25:12 -04:00
Ehsan Akhgari
3e21182565
Bug 890023 - Set the output channel count for ConvolverNode to 2 unconditionally; r=roc
2013-07-04 09:22:22 -04:00
Ehsan Akhgari
ea5e9da9f9
Backed out 2 changesets (bug 890072) for possible leaks
...
Backed out changeset 5e815a5ca50d (bug 890072)
Backed out changeset 7151ab8ff70c (bug 890072)
2013-07-03 22:17:25 -04:00
Ehsan Akhgari
54d144cdcf
Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc
2013-07-03 21:38:31 -04:00
Ehsan Akhgari
bc716e907a
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 21:37:39 -04:00
Drew Willcoxon
086255d6ab
Bug 879111 - Mute Web Audio when allowMedia is false on the docshell. r=ehsan
2013-07-03 17:44:32 -07:00
Ehsan Akhgari
0da978691e
Backed out 2 changesets (bug 890072) because gcc sucks
...
Backed out changeset ff011e5b3655 (bug 890072)
Backed out changeset 0ed650741dc5 (bug 890072)
2013-07-03 20:36:06 -04:00
Ehsan Akhgari
97da2b6baa
Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc
2013-07-03 20:20:57 -04:00
Ehsan Akhgari
f9030f5b71
Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc
2013-07-03 20:20:06 -04:00
Ehsan Akhgari
1a8aa6c1f4
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
28e97a2f28
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
50a25e718e
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
92695d22a2
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
09d2312322
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
cab87a0cce
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
813aa6a822
Bug 886618. Remove dead AudioBuffer code. r=ehsan
...
--HG--
extra : rebase_source : fcd30cacfbcd1a43f62e0c0ce7df2dd57c307366
2013-06-29 01:49:56 +12:00
Robert O'Callahan
e1d426516d
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
7fcc5c4dbc
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
17e7067306
Bug 886660 - Fix the leak in FFTBlock::SetFFTSize(); r=roc
2013-06-25 20:37:56 -04:00
Ryan VanderMeulen
7d936a039a
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
3c90eac266
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
5afe944cf3
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
93c54f4145
Bug 885583 - Enable Web Audio unconditionally across mochitests; r=roc
2013-06-23 19:23:02 -04:00
Ehsan Akhgari
3ec6d57a80
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
556060ee93
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
508d09f9f8
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
0e800932a4
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
c43484e0e2
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
e9baa064b2
Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc
2013-05-21 15:17:47 -04:00
Ehsan Akhgari
96ea05fa5f
Bug 881558 - Re-introduce try-locking in the reverb implementation; r=roc
2013-06-12 20:57:17 -04:00
Ehsan Akhgari
579a771ace
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
e2c81dbce5
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
8a97dc2304
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
2e533bea4f
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
3af23c62eb
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
2ef673d28b
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
0bdb88b1cd
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
82519eedaf
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
bcac308338
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
2083c10f3c
Bug 865244 - Test for AudioContext.destination.maxChannelCount. r=ehsan
2013-06-10 19:32:28 +02:00
Paul Adenot
3aa35d131a
Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan
2013-06-10 19:32:28 +02:00
Sankha Narayan Guria
5304247273
Bug 880265 - Remove AudioBufferSourceNode.gain; r=ehsan
2013-06-08 00:55:04 +05:30
Paul Adenot
caac06e896
Bug 878875 - Port Blink's LayoutTest for PannerNode to mochitest-plain. r=ehsan
2013-06-07 20:06:40 +02:00
Paul Adenot
bc2c171823
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
8bbf87ddc1
Bug 880129 - Correctly handle AnalyserNodes with a buffer size smaller than 128; r=roc
2013-06-07 07:33:00 -04:00
Ehsan Akhgari
35e12a7680
Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc
2013-06-03 19:23:06 -04:00
Ehsan Akhgari
5e015adfe7
Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc
2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
f1444e2e1e
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
41136eb152
Bug 877527. Forgot to hg add.
2013-06-03 19:15:41 +02:00
Paul Adenot
67b46436b5
Bug 877527
2013-06-03 19:13:23 +02:00
Ehsan Akhgari
ea2e6fd726
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
0c888a8966
Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc
2013-06-02 09:26:06 -04:00
Ehsan Akhgari
acafe11ae1
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
132f3d5aa5
Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc
2013-06-02 09:25:16 -04:00
Ehsan Akhgari
8524249b5c
Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc
2013-06-01 03:02:46 -04:00
Ehsan Akhgari
81dc335548
Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc
2013-05-30 20:54:07 -04:00
Ehsan Akhgari
76553f250a
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
d78121a657
Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc
2013-05-30 20:52:26 -04:00
Ehsan Akhgari
ff03101c76
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
1aded9ba34
Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug
2013-05-29 13:43:41 -07:00
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