Birunthan Mohanathas
759ab69b0a
Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
...
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Karl Tomlinson
7b0cbc2530
test for bug 937475
...
--HG--
extra : transplant_source : %BC%9F%D3%7FB%A2%93%F45%0E%A7%FD%BCXK%7D%D6I%29%8C
2013-12-04 14:40:38 +13:00
Karl Tomlinson
91d1b9d3c6
b=937057 remove resampler latency from BufferSource playback r=padenot
...
--HG--
extra : transplant_source : /pU%E1%EC%93%1F%04%29%7D%86%E7%C2%21%F6k%15%C0Bm
2013-12-04 14:20:12 +13:00
Karl Tomlinson
419fccfec5
b=938450 test resampling by resampling back to original sample rate
...
--HG--
extra : transplant_source : z%D9%E8%9A%CC%0E%5B%A7%F3C%86%20%3BT%02%3F%06%CEzb
2013-12-03 20:29:24 +13:00
Karl Tomlinson
06680fb48c
b=938450 use an OfflineAudioContext to test decodeAudioData at different sample rates f=padenot
...
--HG--
extra : transplant_source : %CF.%22r%F8%BB%D7%21%17%E9%96%19y1%5B%D0%E6%F0%D1%18
2013-12-03 12:23:49 +13:00
Karl Tomlinson
e945bf9c01
b=938450 load the expected file only once and remove unused monoTest parameter
...
--HG--
extra : transplant_source : %8C%A4%04%FB%9E%F3%1D%90%DB%C7%B1-e.%1C%08%B7%84%7Fl
2013-12-03 12:21:00 +13:00
Karl Tomlinson
fb8b48b239
b=938450 reduce the number of offset parameters to compareChannels() f=ehsan
...
findFirstNonZeroSample() won't return an offset > buffer length, so clamping
the result to <= 2048 is not necessary.
--HG--
extra : transplant_source : %28HV%B3%9A%AA%D6%8C6n%FD%18%AE%D6g%83%03%EA%09%D4
2013-12-03 12:20:46 +13:00
Karl Tomlinson
254bd0d87e
b=938450 rename compareBuffers to compareChannels & add compareBuffers f=ehsan
...
--HG--
extra : transplant_source : %93W%BC%84%FF%10%9B%F5%CD5%98%0E%F0/%F2R%B9W%1E%94
2013-12-03 12:13:15 +13:00
Karl Tomlinson
3d801a1806
b=938450 test lengths of decoded audio and change 48k wav files to 48k f=padenot
...
New wave files differ from those generated from ogg files using sox 14.4.1 and
libvorbis 1.3.3 by being one quantum less on about half of the samples.
--HG--
extra : transplant_source : B%27%8F%2B%40%22%C5%25%0CS%22%28%40%C0%C3%0EM%87%87%A7
2013-12-03 12:10:38 +13:00
Karl Tomlinson
50bcc068a7
b=938450 process all input samples in decodeAudioData r=padenot
...
--HG--
extra : transplant_source : %01%B2%FE%DA%BE%2CcX%B9%A7%60%15%FB%08%C5%2AS%99%B28
2013-12-03 12:09:01 +13:00
Karl Tomlinson
76bf3e40c2
b=937057 provide a null ptr instead of a zero buffer when processing resampler tail r=padenot
...
--HG--
extra : transplant_source : %8EK%22q%A6%E9%82%F1%5E-%9E%BEs%01%F1%D1Jj%097
2013-12-03 12:07:17 +13:00
Karl Tomlinson
8cdb723e52
b=937475 separate stream position from buffer position so that stop time can use stream position r=ehsan
...
--HG--
extra : transplant_source : %8C%F0%05w%0A%C6%21%11%D5A4%85%FD%BC%D6%1F%9A%B8%FE%CB
2013-12-03 12:07:17 +13:00
Karl Tomlinson
3432499e21
b=937475 change DURATION from end-offset to duration and compare buffer length using integer sample count r=ehsan
...
--HG--
extra : transplant_source : %2BS%A0%A1%C04%BC%1D%A7vDh%8E%A4%F7%90%E62%DC%3D
2013-12-03 12:07:17 +13:00
Karl Tomlinson
6bef079a18
b=939491 avoid producing infinite stream of subnormals in BiquadFilterNode tail r=padenot
...
Using double precision for the processing means the main loop is unlikely to
encounter subnormals and provides suitable extra precision to minimize
accumulation of error.
If the tail output values are denormalized when converted to single precision
then flush them to zero to reduce downstream computation cost.
--HG--
extra : transplant_source : %08%09u%C48%E3i%AB%23%1B%D8_kz%E5%A8_%3D%C4%93
2013-12-03 12:07:16 +13:00
Ehsan Akhgari
d778db48a9
Bug 939571 - Build Web Audio in unified mode; r=glandium
2013-11-19 14:11:16 -05:00
Mike Hommey
a65383e1e9
Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
...
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
8ceb917350
Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps
2013-11-19 11:48:10 +09:00
Mike Hommey
bb6779efe3
Bug 939044 - Remove most definitions of MODULE. r=mshal
2013-11-19 11:47:39 +09:00
Mike Hommey
d7b6f95761
Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps
2013-11-19 11:47:14 +09:00
Peiyong Lin
d60e379d37
Bug 934440 - Statically assert that MEDIA_STREAM_DEST_TRACK_ID is different than AUDIO_TRACK. r=jdm
2013-11-12 08:37:17 -05:00
Ms2ger
5e1bd894df
No bug - Fix some style issues in DOM code.
2013-11-11 09:04:41 +01:00
Ms2ger
af09204569
Bug 931404 - Move LOCAL_INCLUDES to moz.build in content/; r=gps
2013-11-11 09:04:06 +01:00
Karl Tomlinson
c990cba862
b=931311 wait for HRTF panner to load impulse database before doing test
...
--HG--
extra : transplant_source : %2A%1F%D0kKSr%AA%8F%C1%26%E5%E6%EC%D5%CF%8C%A9%D11
2013-11-09 14:07:50 +13:00
Karl Tomlinson
cc755050a7
b=936317 prevent MediaBufferDecoder threads from waiting after AudioContext shutdown() r=ehsan
...
--HG--
extra : transplant_source : %CE%E5O%83N%8FX%ED%2Ck%17I%B1%92%B6%A0lXH%D1
2013-11-09 14:07:45 +13:00
Karl Tomlinson
e19072ca3d
b=856850 use PodMove for potentially overlapping buffers r=roc
...
--HG--
extra : transplant_source : %A2%F8%85%0C%08%86%CE%E2%7F%A7X%9F%F1%B7%0E%3F%16%1E%BF%3F
2013-11-05 13:02:55 +13:00
Karl Tomlinson
8667fa5018
Bug 933156 - Don't send null input to EqualPowerPanningFunction. r=roc
2013-11-04 14:22:37 -05:00
Andrea Marchesini
fac0bfead2
Bug 925594 - WebIDL enum for AudioChannel in HTMLMediaElement, r=ehsan, r=khuey
2013-10-28 17:08:14 -07:00
Carsten "Tomcat" Book
2769e506ae
Backed out changeset 5506e7033c85 (bug 925594) perma-orange mochitest test-failure on b2g-ics
...
--HG--
extra : transplant_source : %19E%9F_%BF%84%27%11%0D%DE%CA.%E7%09%9D%FD3%1A2U
2013-10-28 15:34:08 +01:00
Andrea Marchesini
cc71776434
Bug 925594 - WebIDL enum for AudioChannel in HTMLMediaElement, r=ehsan, r=khuey
2013-10-28 03:45:10 -07:00
Karl Tomlinson
04017096dd
b=898291 skip HRTF panner processing when input has been null long enough for output to be null r=ehsan
...
--HG--
extra : transplant_source : %E4l%83zo%0E%08%14%FF%F7%9D%D6%8C%FD%A2%07a%2A%8Aq
2013-10-25 14:05:43 +13:00
Karl Tomlinson
1cb0a5c853
b=898291 remove unused PannerNodeEngine model type variables r=ehsan
...
--HG--
extra : transplant_source : %0F%F0%EB%AF%17%B6%B6%CEI0%857%D8%09%C4%D1%0D%C2.l
2013-10-25 14:05:43 +13:00
Karl Tomlinson
8c4aae7b76
b=898291 erase azimuth/elevation history when reset()ing HRTFPanner r=ehsan
...
so that old cross-fade info does not distort new sound when a PannerNode
finishes and restarts.
--HG--
extra : transplant_source : I%A9%DAx%9F%AE%B8%88%90FN%3B%3E%FC%FE%827%CB%10%8C
2013-10-25 14:05:42 +13:00
Karl Tomlinson
44c05b6e2a
mochitest for bug 898291
...
--HG--
extra : transplant_source : %1F%18%3A%91%21%06%B6%C47%7Ck%83%C7%C8yo%2A%22%A5%02
2013-10-25 14:05:42 +13:00
Karl Tomlinson
c0c070d7e0
b=924288 continue producing BiquadFilter sound output after input becomes null r=ehsan
...
--HG--
extra : transplant_source : %A6%DDf%09%98C%C0%E6%AEy%F8%F6%FF%7E/f%D7%12Ub
2013-10-25 14:05:42 +13:00
Karl Tomlinson
e5e86b04cc
b=923301 use MediaStreamGraph to dispatch the other PlayingRefChangeHandlers too r=trivial
...
--HG--
extra : transplant_source : %A6%9F%81%40%AF%EE_EU%03%BCvZ%0B%1CE%7F%8C%80F
2013-10-25 14:05:41 +13:00
Mike Hommey
1d566f7586
Bug 929905 - Consolidate sources in moz.build. r=gps
2013-10-25 08:23:05 +09:00
Karl Tomlinson
10fe0bff6e
b=923301 use MediaStreamGraph to dispatch PlayingRefChangeHandlers r=roc
...
This reduces the number of events dispatched to the main thread
and ensures these run in order with other pending updates.
--HG--
extra : transplant_source : %5E%235%DEz%EB%7D%C6%C7%F8%AF%A3%84%1F%F9%5B%87D%B3%13
2013-10-25 12:12:33 +13:00
Karl Tomlinson
42a892d746
b=923301 skip reverb processing when input has been null long enough for output to be null r=roc
...
--HG--
extra : transplant_source : t%F4Fi%7C%FE%A0l%7B%8FT%9D%F8%F8A%15%93%2A%5Bw
2013-10-25 12:12:13 +13:00
Karl Tomlinson
2755fe230b
b=923301 skip delay processing when nothing is buffered and input is null r=roc
...
--HG--
extra : transplant_source : %60%1B%88Z%BD%9AoAI%92%FA%B1%E4%A1%EFg%2A%FE%05%8F
2013-10-25 12:12:13 +13:00
Karl Tomlinson
256598bc36
b=923301 send only one release message when convolver tail time expires r=roc
...
--HG--
extra : transplant_source : p%B7dN%D9%A7%DB%F3%FB%A9a%85%BC%2BH%A4uW%A4%84
2013-10-25 12:12:13 +13:00
Karl Tomlinson
2852848da2
b=923301 send only one release message when delay buffer is drained r=roc
...
--HG--
extra : transplant_source : %C7%8Ag%B2%C52X%A2%96%D1%8E%BB%15%E4%15%CC%1D%1Er%B8
2013-10-25 12:12:13 +13:00
Karl Tomlinson
1f3810b405
b=923301 remove now-unnecessary node-type templating of PlayingRefChangeHandler r=roc
...
--HG--
extra : transplant_source : %0A%BA%C9%1D%1AX%0Dxg9%3BL%1F%98%BE%98%87%20o%3A
2013-10-25 12:12:12 +13:00
Karl Tomlinson
2f6f210f83
b=923301 remove now-unnecessary AcceptPlayingRefRelease r=roc
...
--HG--
extra : transplant_source : %7B%21%18%B17%16%7B%9E%9F%B3%23%17%FD%3DZ%FC%5C%0F%D3%8C
2013-10-25 12:11:24 +13:00
Karl Tomlinson
343e110e70
b=923301 keep a tail-time reference on DelayNode until *after* the last non-silent block has been produced r=roc
...
This gives a downstream node a chance to take a tail-time reference when it
receives the last non-silent block from the DelayNode.
--HG--
extra : transplant_source : %B5%7C%E1%F6%00%D4W%D6%A22%0C%F2%0A%2C%60%F2%18%C6%A5%B8
2013-10-25 12:11:24 +13:00
Karl Tomlinson
25bdde611d
b=923301 keep disconnected destination nodes alive long enough for their engines to add tail-time references if necessary r=roc
...
--HG--
extra : transplant_source : %24%5D%7B%3F%7E%87%20%FF%20%09%CE%AD%91%F8%7C%E7%E1%DB%3D%83
2013-10-25 12:11:01 +13:00
Brian O'Keefe
4c98f61956
Bug 928709 - Convert chromium-config.mk to mozbuild, r=mshal
2013-10-02 13:17:55 -04:00
Birunthan Mohanathas
872802570b
Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
...
--HG--
extra : rebase_source : 9237726507e8002479616a98a82646a763932507
2013-10-23 16:34:10 -04:00
Karl Tomlinson
57ec2f982a
b=925619 simplify loop sanity checks r=ehsan
...
The removed condition is always satisfied when mLoopEnd > 0.0
--HG--
extra : transplant_source : 4%9F%7C%92%F7-f%05%F96%0F%7C.%AF%8CE%82F%D3%A0
2013-10-23 18:40:11 +13:00
Karl Tomlinson
e6eddf12f8
b=925619 truncate TrackTicks differences to uint32_t after limiting to WEBAUDIO_BLOCK_SIZE r=ehsan
...
--HG--
extra : transplant_source : %F6%8B%89C%60%02Hm%11%9FZ%F7I%2BJ%CF%23%8E%CE%D3
2013-10-23 18:36:59 +13:00
Matthew Gregan
51ba071a99
Bug 927245 - Preliminary work to enable preffing off the deprecated Audio Data API implementation. r=ehsan
2013-10-18 15:10:56 +13:00
JW Wang
3636dfe0e3
Bug 927322 - AudioDestinationNode should support weak reference; r=ehsan
2013-10-16 17:27:45 +08:00
Paul Adenot
67517ee2fb
Bug 918861 - Update tests that were relying on a 48000Hz samplerate. r=ehsan
...
--HG--
extra : rebase_source : 84ba0d07e2c1905bc9b7d6e37121c6e0d3d53b33
2013-10-17 15:44:52 +02:00
Paul Adenot
d94b857af1
Bug 918861 - Allow the MSG to choose a better samplerate than 48000Hz. r=roc
...
--HG--
extra : rebase_source : 2181ccbbdca370031d1d3ae5b44ef4e37a3e948c
2013-10-17 15:44:52 +02:00
Karl Tomlinson
fa7c6ec5b6
b=923106 recompute frequency dependent parameters when OscillatorType changes r=padenot
...
mSquare, mTriangle, and mSaw are not initialized in the OscillatorNodeEngine
constructor, just like they are not initialized when switching to
OscillatorType::Sine. These parameters are initialized if and when switching
to the OscillatorTypes that use them.
mFinalFrequency, mNumberOfHarmonics, mSignalPeriod, mAmplitudeAtZero,
mPhaseIncrement, mPhaseWrap are not initialized in the OscillatorNodeEngine
constructor, just like they are not initialized immediately on switching
OscillatorType. These parameters are initialized in
UpdateParametersIfNeeded(), conditional on mRecomputeParameters.
--HG--
extra : transplant_source : a%C1%83%03%03%5CJ%88%99j%A0%93%05%92%06%CA%D6%8B%00%21
2013-10-15 13:10:02 +13:00
Andrea Marchesini
a51331fdcf
Bug 924870 - AudioContext.mozAudioChannel attribute, r=ehsan
2013-10-11 13:55:47 +02:00
Karl Tomlinson
3594531f4d
b=924288 no need to set filter parameters after every process() r=ehsan
...
--HG--
extra : transplant_source : %23%D1%3B%D8%03%85%25%95%A8z%15%24K%F0%F7f2%20u%95
2013-10-09 15:33:07 +13:00
Karl Tomlinson
bca3f10dd4
b=924286 handle non-unit mVolume in BiquadFilterNode r=ehsan
...
--HG--
extra : transplant_source : %E5%9E%3E%5D%F2%E5%99%7B%88%DB%21%7D%1C%82%1A.q%26%F0%EA
2013-10-09 15:33:02 +13:00
Karl Tomlinson
e859e3d998
b=922458 allow copying the last sample in an AudioBuffer channel r=ehsan
...
--HG--
extra : transplant_source : %5EM%40g%06n%04%A1%DB%0A%7D%3A%5C6%21%CA%C101%09
2013-10-09 15:32:16 +13:00
Andrea Marchesini
5b731001cd
Bug 874508 - Web Audio is connected to AudioChannelService, r=ehsan
2013-10-08 20:20:33 +02:00
Phil Ringnalda
7f051a26a9
Merge b-i to m-c
2013-10-04 22:06:34 -07:00
Carsten "Tomcat" Book
f5d6799f05
Backed out changeset b607cc162c2c (bug 874508) for causing perma orange b2g-crashtest failures
2013-10-04 16:31:02 +02:00
Andrea Marchesini
b8d1c01e56
Bug 874508 - Web Audio is connected to AudioChannelService, r=ehsan
2013-10-04 06:27:49 -04:00
Phil Ringnalda
8459f2486d
Backed out changeset 643354059afb (bug 874508) for b2g build bustage
...
CLOSED TREE
2013-10-03 20:11:58 -07:00
Andrea Marchesini
5635de1215
Bug 874508 - Web Audio is connected to AudioChannelService, r=ehsan
2013-10-03 18:42:04 -04:00
Andrea Marchesini
998bedf816
Bug 923517 - AudioDestinationNode should work as an EventTarget, r=ehsan
2013-10-03 18:40:20 -04:00
JW Wang
66cdab8a24
Bug 921695 - Part 2: Modify callers. r=karlt
2013-10-01 14:22:57 +08:00
JW Wang
79dc006472
Bug 921695 - Part 1: Add convert function. r=karlt
2013-10-01 14:22:54 +08:00
Ms2ger
105ce73cfa
Bug 922268 - Remove empty makefiles; r=gps
2013-10-03 09:10:00 +02:00
Masayuki Nakano
5e5853070a
Bug 920377 part.31 Get rid of nsEvent r=roc
2013-10-02 12:46:04 +09:00
Ehsan Akhgari
e85e1b2a99
Convert the Web Audio DynamicsCompressorNode fatal assertion to a warning, because it should not be a fatal assertion (no bug)
2013-09-30 18:20:03 -04:00
Karl Tomlinson
2900c28a02
b=910174 add DelayNode's tail-time reference as soon as the engine receives sound r=ehsan
...
This removes the dependence on AllInputsFinished() which didn't return true
for many input types.
The DelayProcessor is no longer continuously reset (bug 921457) and the
reference is now correctly added again when all inputs are finished and then
new inputs are connected.
--HG--
extra : rebase_source : b85c62305a6fcfce57bd40a11edaeaaf2a63c188
2013-10-01 09:50:04 +13:00
Karl Tomlinson
ba487756fb
b=921675 use maximum instead of current delay for tail time because delay can increase faster than time passes r=ehsan
...
--HG--
extra : rebase_source : b74864829e5fa0cdfbd555d93d2c71dd656f2258
2013-10-01 09:50:03 +13:00
Gregory Szorc
e53ac5e38d
Bug 920223 - Part 1: Mass convert MOCHITEST_FILES to manifests; rs=Ms2ger
2013-09-30 09:51:57 +02:00
Ed Morley
d84dee3273
Backed out changeset 77bff106b704 (bug 920223)
2013-09-30 12:50:12 +01:00
Gregory Szorc
cabc6369a6
Bug 920223 - Part 1: Mass convert MOCHITEST_FILES to manifests; rs=Ms2ger
2013-09-30 09:51:57 +02:00
Karl Tomlinson
f9066d3992
b=912474 use speex_resampler_process_int on platforms where speex_resampler_process_float expects samples in the range +/-32767 r=ehsan
...
--HG--
extra : rebase_source : 48b08dc174e49d26b80ac4e439f97c5e2fa65f58
2013-09-28 12:16:57 +12:00
Karl Tomlinson
ecc21d91ce
b=920987 check for ovrflw in addition r=ehsan
...
--HG--
extra : rebase_source : 759d416f4697bb60dd24b104678b6fb259ee308d
2013-09-28 12:11:26 +12:00
Matthew Gregan
e1f44d3688
Bug 920867 - Split VideoInfo into Video and Audio objects, then encapsulate in new MediaInfo object. r=cpearce
2013-09-27 17:22:38 +12:00
Karl Tomlinson
8aee54525c
b=918221 don't remove OscillatorNode playing ref on stop() but wait until finished r=ehsan
...
--HG--
extra : transplant_source : %A6%90%DB%00%FD5.%40%ED%F6l%17%E69E%D6%40%B5%EA%2A
2013-09-24 13:48:56 +12:00
Karl Tomlinson
39cd241c89
b=918213 dispatch onended from OscillatorNode even when stop time is before start r=ehsan
...
This makes OscillatorNode consistent with AudioBufferSourceNode
--HG--
extra : transplant_source : %AE8%3B%B4%E5M%60%03%CBN.%21%BD%FF%60%A6%F2a%BDi
2013-09-24 13:48:35 +12:00
Karl Tomlinson
b94c627651
b=918212 make OscillatorNode a MainThreadListener for its stream so that ended is dispatched r=ehsan
...
--HG--
extra : transplant_source : %9D%B8%82%B3%B1%99%C6%CE%1C%E1%DDs%D1%40%EA%E3%DD%D2%01%A4
2013-09-24 13:47:30 +12:00
Karl Tomlinson
25c1986ed9
b=914033 add active nodes to CC traversal of AudioContext when the context is not rendering r=ehsan
...
An OfflineAudioContext needs to keep references to nodes that will be used if
startRendering() is called. If, however, the last reference to the Context is
removed, then startRendering() will not be called and so the nodes will not be
used and can be unlinked now.
--HG--
extra : transplant_source : %D4%91%0B%99K%2A%3E%906%1D%08%5D%60%84%B8%25O%3C%08D
2013-09-24 13:47:30 +12:00
Karl Tomlinson
3c9be2c42f
b=914033 use AudioContext::RegisterActiveNode() in AudioBufferSourceNode r=ehsan
...
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.
--HG--
extra : transplant_source : %13%87%97%9F%CD%D8V%16%D2%D4%B5%84D%0A%D6%02%9BNj%FC
2013-09-24 13:47:00 +12:00
Karl Tomlinson
4314cfc6df
b=914033 use AudioContext::RegisterActiveNode() in ScriptProcessorNode r=ehsan
...
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.
--HG--
extra : transplant_source : %CD%5Els2%7F/%DD%5E%07%08%FE%29%5B%98%95%F3%11G%E6
2013-09-24 13:46:30 +12:00
Karl Tomlinson
a15c0a10b9
b=914033 use AudioContext::RegisterActiveNode() in OscillatorNode r=ehsan
...
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.
--HG--
extra : transplant_source : %81%83Hp%F6T%E7%9EA%B3%D0%5Dz%EA%1FYv%A2%23%ED
2013-09-24 13:45:41 +12:00
Paul Adenot
14628109ab
Bug 881959 - Clamp the DelayNode.delayTime to 128/AudioContext.sampleRate when in a cycle. r=ehsan
...
--HG--
extra : rebase_source : 7cf8945371bb6ff169ad61a8ccdda0ece36b5e83
2013-09-02 15:15:24 +02:00
Paul Adenot
7fb6ee6768
Bug 881959 - Tests for cycles in WebAudio graphs. r=ehsan
...
--HG--
extra : rebase_source : 5366c6aa0bb59f14adee74a3088488f9b15b52b1
2013-09-02 15:14:51 +02:00
Paul Adenot
7c95321d67
Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
...
--HG--
extra : rebase_source : d4bc378128cf15f8d8395b45b4443ca6b06c5bd2
2013-08-26 19:19:36 +02:00
Karl Tomlinson
078c7bc257
b=917260 null check mDestination in AudioContext::Shutdown() r=ehsan
...
This handles the case where Shutdown() is called after Unlink()
(but before the destructor).
--HG--
extra : transplant_source : %97A%BE%60%F5j%F5%F0GT%C2%B6%F8%A2%BD%13%2B%02%83R
2013-09-19 12:04:13 +12:00
Paul Adenot
611d691e3a
Bug 917260 - Nullcheck Destination() in AudioContext::DestinationStream. r=ehsan
2013-09-17 15:23:52 +02:00
Ralph Giles
f574450bd6
Bug 865256 - Part 4: Implement custom waveforms. r=ehsan,padenot
...
Copy the periodicWave data into a shareable buffer.
Add a SetBuffer call to send the buffer data to the
OscillatorNodeEngine. Call into blink's PeriodicWave
implementation to generate bandlimited tables bracketing
the desired frequency and interpolate the output data
from them.
Change the PeriodicWave constructor to only take one
length, since both arrays must be the same size.
Change OscillatorNode's SetType to throw INVALID_STATE
instead of NOT_IMPLEMENTED if js tries to assign
type = 'custom' directly.
2013-08-28 15:39:26 -07:00
Ralph Giles
d120591c10
Bug 865256 - Part 3d: Port blink's PeriodicWave to gecko. r=ehsan
...
Changes to use gecko infrastructure.
2013-09-10 14:33:03 -07:00
Ralph Giles
fd839881f9
Bug 865256 - Part 3c: Import blink's PeriodicWave. r=ehsan
...
From 3807300c75ae70f004b76cbce023e59a0367e09b Mon Sep 17 00:00:00 2001
This is the original code from blink svn trunk r157670 for reference.
This commit has no porting or build support, to make subsequent changes
easier to identify.
2013-09-10 14:29:51 -07:00
Ralph Giles
3006203577
Bug 865256 - Part 3b: Add a complex->real ifft to FFTBlock. r=ehsan
...
From ea43bceaf8f6dd2c44d7f55a45f770be19b335a5 Mon Sep 17 00:00:00 2001
Currently FFTBlock only holds the complex frequency domain data
internally, reading and writing to external time domain data
buffers. For PeriodicWave we need to create a real, time domain
signal from real and imaginary frequency domain data. This method
does this without touching the internal output buffer at all.
FFTBlock is just used as a wrapper for kiss_fft_cfg.
2013-09-10 11:00:17 -07:00
Paul Adenot
8f5abfa81f
Bug 908669 - Use band-limited impulse trains (BLIT) for OscillatorNode. r=rillian
...
This fixes the aliasing noise in the default oscillator types.
2013-09-17 10:36:00 -07:00
Karl Tomlinson
55c4867ce7
b=916680 don't keep active AudioNodes alive from an AudioContext that has shut down r=ehsan
...
--HG--
extra : transplant_source : %20%3Fl%E0%D7R%7B_%E6%B0%C7%BB%3A%E7%21%9D%F1%A2%F4%1C
2013-09-18 13:10:30 +12:00
Karl Tomlinson
9a843336e3
b=910171 register tail references with the AudioContext so they can be removed when the rendering is complete r=ehsan
...
--HG--
extra : transplant_source : %8C%C3%C2%2B%1B%E9Q%9B%0E%DE%B4%AA%02%B2%D1%A0S%F1%EC%0D
2013-09-17 11:54:52 +12:00
Karl Tomlinson
608b070c45
b=910171 add a general means to keep active nodes alive from the AudioContext r=ehsan
...
AudioNodes that keep playing or tail-time references need to have these
references cleared when an AudioContext has completed or is shut down by the
window.
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report playing references to the cycle collector until
offline rendering starts for bug 914033. This is not necessary for tail-time
references, but it is tidier to use the same code for playing and tail-time
references.
--HG--
extra : transplant_source : %E0%F1%06%BFV%B6XI%9BX%8E%8D7%3FsU%8F%F9%14r
2013-09-17 11:53:40 +12:00
Karl Tomlinson
f0f3cd0ecb
b=916422 make OfflineAudioContext::StartRendering() throw if called more than once r=ehsan
...
--HG--
extra : transplant_source : %B6T%C0C%F0/%03%A3C%25%9B%EF%A8%C41%8E%86%E9%FCr
2013-09-16 17:14:45 +12:00
Paul Adenot
5d34d71eef
Bug 916773 - Initialize mLatency in SharedBuffer's constructor. r=ehsan
2013-09-16 17:37:26 +02:00
Ehsan Akhgari
ef3770d249
Bug 917299 - Remove some dead code in content/ and dom/; r=bzbarsky
2013-09-17 12:49:07 -04:00
Ed Morley
a3ff7956ba
Backed out changeset 9524b1df278e (bug 908669)
2013-09-17 17:14:58 +01:00
Ed Morley
6a8bde5bc5
Backed out changeset fb89f2090779 (bug 881959)
2013-09-17 17:14:55 +01:00
Ed Morley
fc3dc2a135
Backed out changeset b221626331b4 (bug 881959)
2013-09-17 17:14:45 +01:00
Ed Morley
14cbc2101a
Backed out changeset 2aa38a1a2b06 (bug 881959)
2013-09-17 17:14:42 +01:00
Ed Morley
1b19fad168
Backed out changeset 3d2aac8dc618 (bug 916773)
2013-09-17 17:14:39 +01:00
Ed Morley
6013f526dd
Backed out changeset 4323508b3412 (bug 917260)
2013-09-17 17:14:33 +01:00
Ed Morley
5ec4d375ee
Backed out changeset 7d17f2d129e3 (bug 881959)
2013-09-17 17:14:26 +01:00
Paul Adenot
35cd2c5606
Bug 881959 - Fix inbound bustage on XP again, on a CLOSED TREE.
2013-09-17 17:25:33 +02:00
Paul Adenot
06ee843621
Bug 917260 - Nullcheck Destination() in AudioContext::DestinationStream. r=ehsan
...
--HG--
extra : rebase_source : daec86b27d8497ba109ca998f0fccf3d6d7c3677
2013-09-17 15:23:52 +02:00
Paul Adenot
eeb99d293f
Bug 916773 - Initialize mLatency in SharedBuffer's constructor. r=ehsan
...
--HG--
extra : rebase_source : a40fb148498981c1a65a5cd9756201b90d8d98a4
2013-09-16 17:37:26 +02:00
Paul Adenot
65b02e466e
Bug 881959 - Clamp the DelayNode.delayTime to 128/AudioContext.sampleRate when in a cycle. r=ehsan
...
--HG--
extra : rebase_source : 5282e468fbe411a455f65bc0d22b16163db4bd7a
2013-09-02 15:15:24 +02:00
Paul Adenot
a4656230f2
Bug 881959 - Tests for cycles in WebAudio graphs. r=ehsan
...
--HG--
extra : rebase_source : 6673c86a52952d05e3fdf60205250379ad27d82f
2013-09-02 15:14:51 +02:00
Paul Adenot
f4a229fbf9
Bug 881959 - Mute WebAudio nodes that are part of a cycle that contains no DelayNode, and make cycles work. r=ehsan
...
--HG--
extra : rebase_source : a92e90a2fb08f784d3a1b7d0701a5dd20595c4ef
2013-08-26 19:19:36 +02:00
Paul Adenot
56edbaaf01
Bug 908669 - Use band-limited impulse trains (BLIT) for OscillatorNode. r=rillian
...
--HG--
extra : rebase_source : c786c507b48a1fcdd49e7c14482d621a463f6c9c
2013-09-16 16:48:33 +02:00
Ehsan Akhgari
e33789d856
Bug 915524 - Implement AudioBuffer.copyFromChannel and AudioBuffer.copyToChannel; r=roc
2013-09-17 07:30:32 -04:00
Karl Tomlinson
5751aaa536
b=914030 don't keep alive used AudioContexts from the window r=ehsan,bz
...
--HG--
extra : transplant_source : %9D%94%FF%AA%92%C7%5B8%FA%C7%DD%3A%E3W%9E%BD%7F%25%5C%19
2013-09-12 16:16:53 +12:00
Karl Tomlinson
91b88fa3bd
b=914030 keep a self reference on destination while offline context is rendering r=ehsan
...
--HG--
extra : transplant_source : %FAk%98%E7%CB%2C%C6uf%EE%F4%CFq%3D%A7%D1%D6%E9%F1%29
2013-09-10 17:10:53 +12:00
Karl Tomlinson
7f81f91b49
b=914030 shutdown an OfflineAudioContext when it has completed r=ehsan
...
This is needed to remove self-references in the graph when no more processing
will take place on the graph.
--HG--
extra : transplant_source : %EC%82%A8s%3D%08%E4%FB%8C%A5%A6%28d/2%89Rz%98s
2013-09-10 17:10:36 +12:00
Karl Tomlinson
7a48a1f657
b=914030 shut down an AudioDestinationNode's graph on destruction, if not already r=ehsan
...
This means that the graph will be shutdown properly, even if the
AudioDestinationNode is unlinked before AudioContext::Shutdown() is called.
Making MediaStreamGraph::DestroyNonRealtimeInstance() idempotent also makes
AudioContext::Shutdown() idempotent.
--HG--
extra : transplant_source : jZ%86%C5%C2n%17%EF%C2%C0y%ED%14%0E%17_dt%0C%07
2013-09-10 17:05:22 +12:00
Karl Tomlinson
e2e8e5cdd4
b=914030 remove MediaBufferDecoder::Shutdown(), no longer necessary since bug 900711, as part of making AudioContext::Shutdown() idempotent r=ehsan
...
--HG--
extra : transplant_source : %A8%BB%7D%A3%A6%87NF%F3%9D.Lu%D4%15B%10%9C%DFR
2013-09-10 17:03:06 +12:00
Karl Tomlinson
3609f6d2d3
b=914030 update AudioNode ownership comment r=roc
...
--HG--
extra : transplant_source : %B2z%F7%B7%8F%0F%AB%95N%B0%82%AC%8D%917%1B%84%3D%3A%9C
2013-09-10 16:35:47 +12:00
Karl Tomlinson
7b39d8a51c
b=914013 tighten detection of end of buffer playback r=ehsan
...
--HG--
extra : transplant_source : %40%3F%5D%9A%05%87b%97%12%7BO%8A%2Ai%F38%98%F4.%DF
2013-09-10 15:39:19 +12:00
Karl Tomlinson
54ae7bf864
b=911777 collect cycles before getting maxChannelCount to release some cubeb streams r=padenot
...
--HG--
extra : transplant_source : %C3W%96%C2J%B9%B4V%9C%C0yA%10%09%7B%B2%17%D8%E0R
2013-09-07 00:33:32 +12:00
Ms2ger
1c16df3e56
Bug 913923 - Part b: Move OwningNonNull into its own header; r=dzbarsky
...
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/OwningNonNull.h
2013-09-10 09:03:37 +02:00
Ehsan Akhgari
143454cc1a
Bug 912702 - Minimize the #includes in content/media; r=roc
2013-09-05 16:25:17 -04:00
Ehsan Akhgari
92ad73ef93
Backed out changeset 2f15518f566e (bug 912702) because of B2G JB Emulator build bustage
...
--HG--
extra : rebase_source : 6c01ad3bc2f91b0e7e3edab84aedbfe064310a8b
2013-09-05 13:29:38 -04:00
Ehsan Akhgari
be1e68caf3
Bug 912702 - Minimize the #includes in content/media; r=roc
2013-09-04 17:58:14 -04:00
Robert O'Callahan
33cdb42706
Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
...
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Mike Hommey
f1cf3b4238
Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps
2013-09-05 09:01:46 +09:00
Karl Tomlinson
e1e0a17c5b
b=906966 limit ScriptProcessorNode input channel count through channelCount and channelCountMode r=ehsan
...
--HG--
extra : transplant_source : %E6-%8A%10%BEb%FEg%8C%C3f%2C%1F%C6%859%E5%27%1C%60
2013-09-05 07:44:37 +12:00
Karl Tomlinson
949c11371d
b=906966 limit ConvolverNode and PannerNode input channel count through channelCount and channelCountMode r=ehsan
...
--HG--
extra : transplant_source : %8A%FB%BC%D3%D0%F3Ct%A5%D1%B1%AF%3D%9Bk%896%7F%7F%1F
2013-09-05 07:44:35 +12:00
Karl Tomlinson
4a187db18b
tests for convolver and panner channelCount b=906966
...
--HG--
extra : transplant_source : %17%A2WFH%18%7E-c%2CZVC%AAc%85%FB%02%BE%BD
2013-09-05 07:44:04 +12:00
Karl Tomlinson
04ac113d63
b=907986 remove unused ThreeDPoint::Distance() r=padenot
...
--HG--
extra : transplant_source : %19%DD%A9%CB%CC%B1%C42%E2%8EY%CE%22%89o_%97i%03_
2013-09-04 21:21:00 +12:00
Karl Tomlinson
9bea792d2f
b=907986 handle zero front-right plane projection without NaNs r=padenot
...
The azimuth calculation in the Web Audio spec becomes undefined in this
situation as it requires normalizing a zero vector. The panning effect should
not depend on azimuth when the source is directly above the listener (because
position does not depend on azimuth), but the specified "equalpower" panning
model does depend on azimuth even at this elevation. Setting azimuth to zero
produces the same result as if the normalized projection were replaced with a
zero vector.
--HG--
extra : transplant_source : f%A4h%CB7%7Bp%87%AE%09%9F%2Cu%D7%CD%9D%5E%A8%EC%0D
2013-09-04 21:20:59 +12:00
Karl Tomlinson
6f9d0ccd43
test equalpower panning effect with panner directly above b=907986
...
--HG--
extra : transplant_source : %8E%99%9B%F8%288%5C%A5%E8%D1%C3%E2%9F%89%5C%D0C%B1l%B0
2013-09-04 21:20:59 +12:00
Karl Tomlinson
077bb360ad
b=907986 normalize orientation vectors early and keep existing state if directions are undefined r=padenot
...
Normalizing the AudioListener front orientation vectors before taking their
cross product avoids the possibility of overflow.
The panning effect and the azimuth and elevation calculation in the Web Audio
spec becomes undefined with linearly dependent listener vectors, so keep
existing state in these situations.
PannerNode orientation is normalized for consistency, but zero is permitted
for this vector because the sound cone algorithm in the Web Audio specifies
behavior for this case.
--HG--
extra : transplant_source : %DA%C7e%E7%90%14%AF%EA%08%94x%C1%A2g%F1%9A%EE%16%EB%29
2013-09-04 21:20:59 +12:00
Karl Tomlinson
532024ea75
b=907986 avoid under and overflow in Normalize() r=padenot
...
--HG--
extra : transplant_source : %83%C5%A4%92%28%2Bf%7DHT%13%DE7L%26%B89x%E4%FF
2013-09-04 21:20:58 +12:00
Karl Tomlinson
e43bef2026
b=907986 don't calculate upProjection twice r=padenot
...
--HG--
extra : transplant_source : %8E%E1r%9F%AC%EB%C6%9A%EE_%10%0F%B9%1D%EF%85%EBu%CD%96
2013-09-04 21:20:58 +12:00
Karl Tomlinson
dde1cff092
revert 3171b6ad0055 b=907986
...
--HG--
extra : transplant_source : K%83%1FS%27%A7%20%82%C4P%08%E5n%8C%830%B6%2C%24%97
2013-09-04 15:02:04 +12:00
Matthew Gregan
e80d2f2424
Bug 911059 - Move WebAudio's BufferDecoder to its own file so it can be shared with MSE. r=cpearce
2013-09-04 15:08:11 +12:00
Andrew McCreight
4723c7c5e3
Bug 883920 - use templates for {Hold,Drop}JSObjects. r=peterv
2013-08-16 13:10:17 -07:00
Paul Adenot
8030d8a57b
b=907986 part 3 fold-in 1 remove normalize of unit vector r=padenot
2013-09-03 10:52:55 +02:00
Karl Tomlinson
115405f489
b=911777 disable test_delayNodeAtMax.html on Ubuntu(|64) opt builds
...
--HG--
extra : transplant_source : %27%3E%E7%B8%81%F6%AAg%A8%B0H%86%97%C5/V6%B8%FCh
2013-09-03 12:54:37 +12:00
Karl Tomlinson
88dbfffb29
use existing named constants b=890528
...
--HG--
extra : transplant_source : %C9%F5%23%A2%CC%D0%E5v%F4%7B%ED%93%0C%B6%D7%E3%CC%C5%B1%A1
2013-09-02 16:53:15 +12:00
Karl Tomlinson
761bd9f94a
remove unintentional ! in ed23ecc80370 to test expected buffer frame count when length is supplied b=890528
...
--HG--
extra : transplant_source : %BB%8E%A8%C2BBFr%A4D%28VG%84%2A%AE%A3qZ%81
2013-09-02 16:53:15 +12:00
Karl Tomlinson
b72d4ec1b9
test for bug 891254
...
--HG--
extra : transplant_source : %FE%D3%7F%0F%3Da%3A%D9u6Hx2%E22%15fn%14H
2013-09-02 16:52:15 +12:00
Nicholas Nethercote
191ed08f6a
Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke.
...
--HG--
extra : rebase_source : 008ef689989f93b46627b8be8608bdbc544ca3a2
2013-08-27 19:59:14 -07:00
Karl Tomlinson
0d8b5ff1f0
b=890528 Record silence in the delay buffer when there is no input, to avoid echos r=ehsan
...
--HG--
extra : transplant_source : x%A5%D0%A8%F9%7B%7DX%AA%C5%04%7E.%2C%B6%3A%EF%3F%08%5E
2013-09-02 12:59:34 +12:00
Karl Tomlinson
cc2f88a710
b=890528 delay buffer must be greater than max delay frames to avoid reading what has just been written r=ehsan
...
--HG--
extra : transplant_source : %86L%3C%C2%F0%A79%E4w%F6u%FD%11d%A9%FCu%F90%E8
2013-09-02 12:59:34 +12:00