Commit Graph

793 Commits

Author SHA1 Message Date
Robert O'Callahan
5e98538b88 Bug 952893. Part 1: Block the AudioDestinationNode when it's the only node in the AudioContext. r=padenot 2014-01-16 00:08:20 +13:00
Paul Adenot
8ae42d79f9 Bug 952893 - Backout changesets 780cba0f9f59, 887fe3a09c3d and fb04a4252ea3 for bad commit message, DONTBUILD. 2014-01-29 17:36:56 +01:00
Robert O'Callahan
bbce6c3530 Bug 952893. Part 3: Tighten TimeVarying invariants so that GetAt always returns an end time when the value actually changes. r=padenot
* * *
Bug 952893 - Fix the rebase.
2014-01-16 00:13:08 +13:00
Robert O'Callahan
eb9730310f Bug 952389. Part 1: Block the AudioDestinationNode when it's the only node in the AudioContext. r=padenot 2014-01-16 00:08:20 +13:00
Karl Tomlinson
0466b1681e b=964376 correctly handle a non-null ProduceAudioBlock aOutput parameter r=padenot
--HG--
extra : transplant_source : 6%BA%8FNSz%8C%BCrgZ%8B%96T-%8F%F6_%0B%01
2014-01-29 23:47:58 +13:00
Karl Tomlinson
9faf032a35 b=933304 Remove unnecessary channel count parameter from AudioBlockInPlaceScale r=padenot
--HG--
extra : transplant_source : s%04%B1%11%E9%F9%E2%92l%182%FFZm%81%E4/M%B3%BD
2014-01-28 18:14:25 +13:00
Karl Tomlinson
4245ee6562 b=933304 use AudioChunk::mVolume to optimize distance and cone gain r=padenot
--HG--
extra : transplant_source : %B6%97%20%08%AD%1E%D5N%A8q%5DMZ%5C%DB%10%89%F9%00%29
2014-01-28 18:14:25 +13:00
Karl Tomlinson
a3d1456e4e b=933304 apply PannerNode input gain to both channels, even for stereo input r=padenot
--HG--
extra : transplant_source : %BE%A54%E4%8Ezy%AC%FC%BD2%7D%A0h%BB%E0%25%60%94%CA
2014-01-28 18:14:25 +13:00
Karl Tomlinson
affab9414f test for bug 933304
--HG--
extra : transplant_source : %B6%EB%D6%89%CCpe%8A%3Cq%EE%F8%F8j%AC%EE%98%08h%08
2014-01-28 18:14:24 +13:00
Paul Adenot
8c033d4db4 Bug 943589 - Handle AudioChunk::mVolume (from GainNode) in AudioParam. r=ehsan 2014-01-10 15:30:40 +01:00
Paul Adenot
dfad7702a3 Bug 942022 - Return safely when thread creation fails, in ReverbConvolver. r=karlt 2014-01-10 16:01:18 +01:00
Paul Adenot
676bc4620d Bug 952860 - Leaky integrate sawtooth and square waves in the OscillatorNode to prevent bad DC offset when changing frequency. r=karlt
--HG--
extra : rebase_source : f526506e80a4d7db553fe54cc115d8bf1c7be9d2
2014-01-10 12:40:05 +01:00
Paul Adenot
e322d1164c Bug 956201 - Null check the destination node when muting. r=karlt
This can happen since we now mute instead of suspending when an AudioContext
shuts down.
2014-01-07 11:17:28 +01:00
Karl Tomlinson
015174ff82 b=956604 optimize inverse FFT scaling during convolution r=padenot
--HG--
extra : transplant_source : %FD%10%CEAnU%98w%15%9D%9E6l%A7Q1%E1V%CDD
2014-01-08 16:58:11 +13:00
Karl Tomlinson
ddddde870d b=956604 Remove unnecessary channel count parameter from AudioBufferInPlaceScale r=padenot
--HG--
extra : transplant_source : %98%098%E3%1D%9D%B4%22%FD%ED%3C%96%11%96%F9P%89%F4J0
2014-01-08 16:57:53 +13:00
Karl Tomlinson
f4763e5f3b b=956604 rename block version of AudioBufferInPlaceScale to AudioBlockInPlaceScale r=padenot
--HG--
extra : transplant_source : %EE%9C%0D%B4%F0S%DA%AFX%3D%D2%10H%28-%82%EE%B5%AB%84
2014-01-08 16:57:26 +13:00
Robert O'Callahan
c93171360b Bug 943461. Part 18: Ensure AudioBufferSourceNode's engine always produces an audio block when ProduceAudioBlock is called, and add an assertion to catch this kind of error directly. r=karl
--HG--
extra : rebase_source : e6ae51dc34f5567998af3b299acd48dd10e8394e
2013-12-13 01:33:01 +13:00
Robert O'Callahan
263ff59f62 Bug 943461. Part 12: Remove spurious ScriptProcessorNode from test. r=karl
--HG--
extra : rebase_source : e902519b5e1d7bbd7f60545147edd8241e4d9455
2013-12-10 13:49:03 +13:00
Robert O'Callahan
f2979e9489 Bug 943461. Part 11: Don't tear down an OfflineAudioContext until its current time has actually reached its end, to ensure that all relevant stream state changes have been forwarded to the main thread. r=padenot
--HG--
extra : rebase_source : 32b9a4cf4c39edfabf5be17cec50a676f1ad4641
2013-12-09 18:08:02 +13:00
Boris Zbarsky
45103f9d63 Bug 950315 part 1. Convert a bunch of event targets to passing a Window or nsDOMEventTargetHelper directly to the constructor of their ancestor nsDOMEventTargetHelper. r=smaug 2014-01-06 21:53:23 -05:00
Karl Tomlinson
58128f29b2 b=944143 avoid producing infinite stream of subnormals in ZeroPole tail r=padenot
--HG--
extra : transplant_source : gI%94%E9%DB%99%83%B7%09%B6%82q%FF9%5DI%BE%D6%EF%B6
2014-01-07 12:53:48 +13:00
Karl Tomlinson
b17e828444 b=949683 optimize zero-gain in GainNode r=padenot
--HG--
extra : transplant_source : %97Js%1B%23%13%AEb%7F%9E%B5%C4%BEx%84xV%C1%F7%5B
2014-01-07 12:53:48 +13:00
Karl Tomlinson
a3efd302c0 b=944851 don't consider AudioNode input when getting AudioParam values on the main thread r=ehsan
--HG--
extra : transplant_source : %15o4%BAA%1F%D4%87%01%CD%B3H%A1T%B0%88%27%9F%A1e
2014-01-07 12:53:47 +13:00
Karl Tomlinson
d0ee97e566 b=952756 always remember offset and duration from Start() r=padenot
--HG--
extra : transplant_source : %9A%3D%12wAbL%0D%E1%16G%A9%B7%23%A9%16%7F%8C%2B%18
2014-01-07 12:53:47 +13:00
Ehsan Akhgari
73dc4b008e Bug 884368 - Part 1: Add a memory reporter for AudioContexts; r=roc,njn 2014-01-04 13:15:41 -05:00
Paul Adenot
b71a9b5209 Bug 936784 - Only mute on Shutdown if the AudioContext is not an OfflineAudioContext. 2013-12-18 16:07:37 +01:00
Paul Adenot
909f9b0f69 Bug 936784 - Don't overbuffer in the MSG on AudioContext shutdown. r=roc,ehsan 2013-12-17 16:15:07 +01:00
Paul Adenot
08266738cb Bug 932621 - Use fabs instead of abs (forgot to address review comments). r=ehsan 2013-12-16 14:08:22 +01:00
Paul Adenot
3236595731 Bug 932621 - Make sure the latency does not grow up in ScriptProcessorNode. r=ehsan 2013-12-13 18:21:05 +01:00
Paul Adenot
db5ba45bd3 Bug 949474 - Reflect the fact that the nominal range for the sampleRate argument of the AudioContext.createBuffer changed in the spec. r=
* * *
Bug 949474 - Fix various oranges, on a CLOSED TREE.

--HG--
extra : rebase_source : 1317857063b7f028687aab1c00f113d947cd5685
2013-12-13 17:58:00 +01:00
Ryan VanderMeulen
6b97d4ba21 Backed out changeset 71f9f57e5ddb (bug 949474) for test_bug808374.html failures.
CLOSED TREE
2013-12-12 16:05:53 -05:00
Paul Adenot
168ecc0336 Bug 949474 - Reflect the fact that the nominal range for the sampleRate argument of the AudioContext.createBuffer changed in the spec. r=ehsan 2013-12-12 16:05:31 +01:00
Paul Adenot
fe52bb44ee Bug 916384 - Stop calling onaudioprocess on the ScriptProcessorNode it has no inputs or outputs. r=roc
Quoting the spec: "audioprocess events are only dispatched if the
ScriptProcessorNode has at least one input or one output connected".

--HG--
extra : rebase_source : bbf52a183a55b75d394a885624a4080a9467fac4
2013-12-12 15:31:51 +01:00
Paul Adenot
58cae1ed05 Bug 944707 - Stop locking when getting the preferred samplerate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : bbf7b305d13f252e7c743bb9abf12da078db865b
2013-12-09 20:54:49 +01:00
Paul Adenot
8d8f7eeda7 Bug 916384 and 944707 - Backed out fa872452b89d and 012b1baf2b19 for crashes on a CLOSED TREE. 2013-12-11 16:31:35 +01:00
Paul Adenot
c5a9858384 Bug 916384 - Stop calling onaudioprocess on the ScriptProcessorNode if it has no inputs and outputs. r=roc
Quoting the spec: "audioprocess events are only dispatched if the
ScriptProcessorNode has at least one input or one output connected".

--HG--
extra : rebase_source : 93881fb4395744dc0adbb6df7ee146ef70ce42d2
2013-12-10 14:41:41 +01:00
Paul Adenot
2b28bb15ba Bug 944707 - Stop locking when getting the preferred sample rate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : f2b5be30c25d71cfdb259cb5035335fb4e8a415c
2013-12-09 20:54:49 +01:00
Paul Adenot
a7bf924cb8 Bug 947910 - Relax the MOZ_ASSERT(mPosition <= mDuration) in case of looping, in AudioBufferSourceNode::CopyFromBufferWithResampling. r=karlt 2013-12-10 14:35:50 +01:00
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