Commit Graph

755 Commits

Author SHA1 Message Date
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
Karl Tomlinson
32a9de7cae test for bug 890528
--HG--
extra : transplant_source : B%22%1A%B5%E9%03%D1%A4%D9%20%F7%12%FA%09%10%14%A0%19x%BA
2013-09-02 12:59:31 +12:00
Karl Tomlinson
b7844721cf b=890528 add more documentation and make length optional when createExpectedBuffers is present r=ehsan
--HG--
extra : transplant_source : R%7DJo%87%0C%0D%0FuX%C4%BC%C0%95%08b%5D%DA%D1%BF
2013-09-02 11:27:44 +12:00
Paul Adenot
08fd7cd240 Bug 881092 - Test that we can decode multichannel WAVE file only when using decodeAudioData. r=ehsan
--HG--
extra : rebase_source : fe1cb35be9a1197b01a6c90654abd825f28a67e5
2013-08-29 11:44:05 +02:00
Paul Adenot
bacec95428 Bug 881092 - Allow decoding files we know we can't play, in the context of WebAudio. r=kinetik,rillian
--HG--
extra : rebase_source : ebad931aede2f8225404625e90a5f3228c4a31c0
2013-08-29 11:43:44 +02:00
Brian O'Keefe
4f68eb9b02 Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Paul Adenot
c8ef7c71b8 Bug 908144 - Don't output sound before start() is called when using OscilatorNode. r=ehsan 2013-08-26 11:46:33 +02:00
Kyle Huey
de0ee30e74 Bug 903772: Part 3 - Refactor GlobalObject. r=peterv 2013-08-22 22:17:08 -07:00
Ms2ger
87ae95251c Merge PGO-green changeset from inbound to m-c. 2013-08-22 10:31:44 +02:00
Ms2ger
2d7391b50d Bug 883284 - Part b: Move LIBXUL_LIBRARY into moz.build (a-c); r=joey 2013-08-22 08:55:59 +02:00
Ms2ger
4d968c40e1 Bug 882859 - Part b: Move FAIL_ON_WARNINGS into moz.build; r=joey+gps 2013-08-22 08:55:59 +02:00
Ehsan Akhgari
1e7ca5d13f Bug 904695 - #include fewer headers in nsContentUtils.h; r=jst 2013-08-21 15:28:26 -04:00
Ralph Giles
437a387175 Bug 865253 - Part 5: Shorten a comment to fit in 80 columns. r=ehsan 2013-08-19 11:58:00 -07:00
Ralph Giles
fc6c1b487b Bug 865253 - Part 4: Stop OscillatorNodes on context shutdown. r=ehsan
Like AudioBufferSourceNode and ScriptProcessorNode, OscillatorNode
holds a self-reference in mPlaying. Keep track of all osc nodes
in the AudioContext and explicitly stop them to make sure this
reference is dropped.
2013-08-19 11:57:00 -07:00
Ralph Giles
5c102b5da6 Bug 865253 - Part 3: Direct generation of fixed oscillator types. r=ehsan
Simple direct calculation of the fixed types.

We probably want to use the PeriodicWave machinery to generate
the pre-defined waveforms once it's available. In either case
we can optimize this significantly by caching the generated
waveform when the frequency is stationary over the block.
2013-08-19 11:56:00 -07:00
Ehsan Akhgari
d4b3957aa8 Bug 865253 - Part 2: Implement the alternate enum values for OscillatorNode; r=roc 2013-08-19 11:54:00 -07:00
Ehsan Akhgari
d3e93cd446 Bug 865253 - Part 1: Implement the DOM bindings for OscillatorNode; r=roc 2013-08-19 11:53:00 -07:00
Ehsan Akhgari
f678926c6d Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
Wes Kocher
ff5292b3eb Backed out changeset 016fa89e49b0 (bug 905409) on a CLOSED TREE 2013-08-14 17:21:45 -07:00
Ehsan Akhgari
c6ce65cf2e Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-14 18:46:00 -04:00
Paul Adenot
b14fe48e2a Bug 899135 - Drop buffers in ScriptProcessorNode instead of buffering them when the main thread is blocked. r=roc 2013-08-13 19:34:22 +02:00
Ms2ger
df8525f77d Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Paul Adenot
e643bf2207 Bug 903476 - Fuzz a bit more and android as well.
--HG--
extra : rebase_source : 57d9a1ed3549a0c8a2af9fb8be42b5823f21a2ec
2013-08-13 15:56:42 +02:00
Paul Adenot
0b00e4ef84 Bug 903476 - Fuzz a bit more on win32.
--HG--
extra : rebase_source : 321848369a2f2401b1fcaf287bfbcd049a7c299c
2013-08-13 14:48:36 +02:00
Paul Adenot
66239a7ec2 Bug 903476 - Update the fuzzing values in test_mediaDecoding.html because we changed the resampler. r=ehsan
--HG--
extra : rebase_source : 3b354018ba83f53cf64d6adb511c41dfcb205039
2013-08-13 12:44:34 +02:00
Karl Tomlinson
b6833fc832 b=815643 Implement HRTF panner processing based on Blink implementation r=ehsan
--HG--
extra : rebase_source : 197fd6f39d3d45b61d25d9dc399c72828d93655a
2013-08-09 10:08:06 +12:00
Karl Tomlinson
5d662c0df1 b=815643 Add Blink's HRTFPanner to the build r=ehsan
--HG--
extra : rebase_source : 14187eb58d308c25b3ff37356a1aef6757aee81d
2013-08-09 10:07:49 +12:00
Karl Tomlinson
e37987a35d b=815643 Refactor DelayNodeEngine delay processing into a shareable class r=ehsan
--HG--
extra : rebase_source : e25ff3e490c2cbce5ed7cdf9419ccc2850ea16e5
2013-08-09 10:07:49 +12:00
Karl Tomlinson
afd43adcd6 b=865241 don't join HRTFDatabaseLoader thread until it has finished r=ehsan
Also turn some always-true conditions into assertions.

--HG--
extra : rebase_source : a38b75a1a27f25cef7b9dd86a1cca15ce9f67893
2013-08-09 10:07:42 +12:00
Karl Tomlinson
2ea901aa4d b=865241 make HRTFDatabaseLoader ref-counting thread-safe r=ehsan
--HG--
extra : rebase_source : 8cab96807c111eb103dbe931d14a86a8b97a824e
2013-08-09 09:59:56 +12:00
Karl Tomlinson
296268450d b=815643 Add Blink's HRTFDatabase and HRTFDatabaseLoader to the build r=ehsan
--HG--
extra : rebase_source : e7aa0ce1ca436bbb429cb1f6051b3b8210bf767a
2013-08-09 09:56:28 +12:00
Karl Tomlinson
76ae42715c b=815643 Add Blink's HRTFElevation to the build r=ehsan
--HG--
extra : rebase_source : 5dda0b6c6302197574ac5fafbb0f06b1ac65980a
2013-08-08 21:38:30 +12:00
Karl Tomlinson
f64e2297c1 b=815643 Reduce convolver fft size for low sample rates r=ehsan
--HG--
extra : rebase_source : 0d7c6d4a3bcb340fc674f0b4181cf264fcc4e041
2013-08-08 21:38:30 +12:00
Karl Tomlinson
b57bd542e2 b=815643 Add code to interpret and resample impulse response data r=ehsan
--HG--
extra : rebase_source : 35497353634022f297b2ebf333b7230b12c1f9c2
2013-08-08 21:38:30 +12:00
Karl Tomlinson
f68d252272 b=815643 Add HRTF impulse response data r=ehsan
The impulse response sample data is directly from individual impulse response wave files
in Blink SVN revision 153183.

--HG--
extra : rebase_source : 037471efd5be1f0d4a798bcc01192db9398377c2
2013-08-08 21:38:30 +12:00
Karl Tomlinson
715c2a763f b=815643 Use symmetry to halve the number of HRTF kernels calculated and cached r=ehsan
--HG--
extra : rebase_source : 12e4a114630e793c22d3e335c38c641a6bc20ee2
2013-08-08 21:38:29 +12:00
Karl Tomlinson
8c052323df b=815643 Add Blink's HRTFKernel to the build r=ehsan
A functional difference is that HRTFKernel is not reference-counted.

--HG--
extra : rebase_source : 66a9653fed75265ec55d915b731876bcb793d513
2013-08-08 21:38:29 +12:00
Karl Tomlinson
c3889975de b=865241 always leave 20 samples of headroom when extracting group delay, removing the discontinuity at delay = 20 r=ehsan
--HG--
extra : rebase_source : 30515ea2236b7503ff7e446d50930f91135bc7e0
2013-08-08 21:38:29 +12:00
Karl Tomlinson
a8f2492870 b=815643 Add Blink's frequency interpolation and group delay methods from FFTFrame to FFTBlock r=ehsan
--HG--
extra : rebase_source : 1e3393c85f1828cbcce49af1e3160fc3535d39b8
2013-08-08 21:38:24 +12:00
Karl Tomlinson
c312f43e8d b=865241 don't try to compute a phase for group delay from the DC and nyquist components of the DFT r=ehsan
Given imagP[0] is really realP[halfSize], it doesn't make sense to calculate a
phase from placing the DC and Nyquist components in different directions.
The DC component doesn't have a phase offset and lastPhase is already
initialized to zero.

This makes extractAverageGroupDelay() consistent with addConstantGroupDelay()
and to some extent interpolateFrequencyComponents().

The effect of the bug would have been small for reasonably sized FFTs.

--HG--
extra : rebase_source : b2931d625bd7e014f123b576f28aad7f719c585d
2013-08-08 21:37:36 +12:00
Karl Tomlinson
b03713d218 b=815643 remove unused HRTF code r=ehsan
--HG--
extra : rebase_source : f6063443b6e7574055b0ad92e95e32d7f0a850cd
2013-08-08 21:37:36 +12:00
Karl Tomlinson
9524af834b b=815643 Import the HRTF panner implementation from Blink r=ehsan
This code was copied from Blink SVN revision 153183.

--HG--
extra : rebase_source : 968f69846f5c532eda3580c8ce2176e2e6b5fc63
2013-08-08 21:37:36 +12:00
Ryan VanderMeulen
8afe7e8fed Merge inbound to m-c. 2013-08-09 19:08:45 -04:00
Nathan Froyd
32842a584e Bug 901615 - don't include BindingUtils.h in AudioContext.h; r=roc 2013-08-05 13:40:06 -04:00
Paul Adenot
b07edfc4a2 Bug 897092 - Fix setTargetAtTime glitch. r=ehsan
--HG--
extra : rebase_source : 8b1162e7721637df2b8a2faad849609d3177369b
2013-08-09 15:11:03 +02:00
Robert O'Callahan
95d8c8d855 Bug 856361. Part 8: Fix copying of track data from input streams to output streams in AudioNodeExternalInputStream. r=padenot
--HG--
extra : rebase_source : 344780d9c27ce3026ae5c12a08ea6a1ba3b4e924
2013-08-01 16:02:49 +12:00
Ehsan Akhgari
33cdf48b64 Bug 855568 - Implement MediaElementAudioSourceNode
X-Git-Commit-ID: 52f1fcdd561e8214e6820a3f2478d9e8b9623430

--HG--
extra : rebase_source : c40cd0c7070dec9e0273093499228f13906f8fc5
2013-07-25 15:01:49 +12:00
Robert O'Callahan
3f1bcdc18d Bug 856361. Part 6: Make MediaStreamAudioSourceNode keep its DOMMediaStream alive, and make the DOMMediaStream keep the MediaStreamAudioSourceNode alive. r=ehsan
--HG--
extra : rebase_source : 0e3b5108d8ced8b1f1f427c9fd4f87e97c46921d
2013-07-25 14:07:34 +12:00
secretrobotron
4535b91abc Bug 856361. Part 5: Implement MediaStreamAudioSourceNode. r=ehsan
--HG--
extra : rebase_source : 265f31edda31a2f749eacc568919304622446748
2013-07-24 23:29:39 +12:00
JW Wang
dee2ecf218 Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-06 14:11:32 +08:00
JW Wang
78371426cf Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-08-06 14:15:07 +08:00
Ryan VanderMeulen
94cd7b2435 Backed out changesets aee6b1a6c400 and a633e4d67d31 (bug 875277) for bustage. 2013-08-05 20:47:07 -04:00
JW Wang
6792fdb826 Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-05 10:34:52 +08:00
JW Wang
82fbbe4088 Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-07-26 15:14:35 +08:00
Boris Zbarsky
cad540afeb Bug 900898 part 2. Move to using Nullable<TypedArray> to represent possibly-null TypedArray structs. r=smaug 2013-08-05 13:40:01 -04:00
Ehsan Akhgari
1949a827b5 Bug 900341 - Shut down the decoder object for an AudioContext from a runnable; r=bent,roc 2013-08-02 12:07:17 -04:00
Mike Hommey
d01b5df996 Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Ehsan Akhgari
5ee21d6d3f Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Paul Adenot
0bdeab0a15 Bug 895720 - Actually use the fuzz value. 2013-07-30 11:10:33 +01:00
Paul Adenot
0e9230a9f2 Bug 895720 - On MacOS, increase the fuzz factor for test_audioBufferSourceNodeOffset.html. 2013-07-30 11:06:33 +01:00
Ryan VanderMeulen
f3f8beff11 Bug 894941 - Increase fuzz tolerance for the small-shot.ogg mediaDecoding test to resolve a CLOSED TREE. 2013-07-26 15:17:34 -04:00
Robert O'Callahan
a20b43c5a8 Bug 890716. Fix race in Reverb::Reverb. r=padenot
--HG--
extra : rebase_source : 65af577f5ffcf7f7a0b650f1693f4159ddac4ac6
2013-07-26 13:35:22 +12:00
Ms2ger
36f3f6ae03 Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Ms2ger
fb6790e6d8 Bug 888643 - Part b: Move CPP_UNIT_TESTS definitions into moz.build files; r=gps 2013-07-24 09:23:06 +02:00
Joshua Cranmer
08dac03f44 Bug 884061 - Part 3d: Use NS_DECL_THREADSAFE_ISUPPORTS in content/, r=smaug
--HG--
extra : rebase_source : ee869e0ec710259b1f3d1a328bff27c5d2960ea1
2013-07-18 21:21:19 -05:00
Ehsan Akhgari
2e9a3a5936 Bug 891254 - Fix the usage of uninitialized samples when the input to a ConvolverNode has a volume; r=roc
--HG--
extra : rebase_source : 2d7e6c393e66096cf410adce0924843ad2eda61b
2013-07-18 10:22:47 -04:00
Paul Adenot
cae697e35c Bug 883591 - Don't allow creating a MediaStreamDestinationNode on an OfflineAudioContext. r=ehsan 2013-07-18 11:57:38 +02:00
Paul Adenot
d8fa3b15c0 Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +02:00
Ryan VanderMeulen
4d4078f8cb Backed out 2 changesets (bug 894150) for crashtest orange.
Backed out changeset 80ce41a4e6ee (bug 894150)
Backed out changeset b41c7f2ddda5 (bug 894150)
2013-07-16 12:33:56 -04:00
Paul Adenot
b266047b79 Bug 894150 - Test. 2013-07-16 17:39:13 +02:00
Paul Adenot
f2c6d51eea Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +02:00
Paul Adenot
3272f71ce4 Bug 891986 - Keep the source ArrayBuffer to a decodeAudioData call alive until the decoding is complete. r=mccr8,ehsan 2013-07-16 11:00:36 +02:00
Paul Adenot
043fd87042 Bug 886653 - Don't call speex_resampler_skip_zeros when changing the rate in AudioBufferSourceNode. r=ehsan 2013-07-12 17:21:51 +02:00
Paul Adenot
aacae3cd50 Bug 892492 - Fix automation on AudioBufferSourceNode.playbackRate. r=ehsan 2013-07-12 11:23:21 +02:00
Trevor Saunders
82e5558b37 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Thomas Zimmermann
029ae7c49e Bug 831224: Allow update of the media duration, r=padenot
With MP3 streams, the media duration might change after we received
new data. This patch adds infrastructure to signal the new duration
to the media decoder and state machine. It will also fire an event
of type 'durationchange' to the DOM.
2013-05-03 09:48:37 +02:00
JW Wang
704634eff4 Bug 896353 - Set principal for mDOMStream in MediaStreamAudioDestinationNode. r=roc 2013-07-23 11:54:32 +08:00
Ed Morley
dd1504ab38 Backed out changeset 43953e9233a2 (bug 831224) 2013-08-08 09:59:49 -07:00
Thomas Zimmermann
21922c6b1f Bug 831224: Allow update of the media duration, r=padenot
With MP3 streams, the media duration might change after we received
new data. This patch adds infrastructure to signal the new duration
to the media decoder and state machine. It will also fire an event
of type 'durationchange' to the DOM.

--HG--
extra : rebase_source : f417b968e81d9c9a1aff8ae3174079a297eb371b
2013-05-03 09:48:37 +02:00
Paul Adenot
4392f23f11 Bug 888271 - Make test_AudioBufferSourceNodeOffset.html fuzzier. 2013-07-10 15:03:19 +02:00
Ehsan Akhgari
0a8e65dd4a Bug 891543 - Remove the version of AudioBuffer::GetChannelData that is unused; r=roc 2013-07-09 17:35:05 -04:00
Ryan VanderMeulen
e527d02c4a Bug 888271 - Increase errorRatio allowance of AudioBufferSourceNode test. r=padenot 2013-07-09 16:01:58 -04:00
Paul Adenot
967aaeb186 Bug 888271 - Don't substract twice by mOffset in AudioBufferSourceNode. r=ehsan 2013-07-09 10:41:54 +02:00
Ehsan Akhgari
9575f867f2 Bug 890543 - Make AudioBuffer not inherit from nsISupports; r=mccr8 2013-07-05 16:21:52 -04:00
Robert O'Callahan
56ffa35ac0 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
78a692c67a Bug 886618. Part 4: Test. r=ehsan 2013-07-05 09:19:54 +12:00
Ehsan Akhgari
eaa8385098 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
a6a3a001eb Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 21:37:39 -04:00
Ehsan Akhgari
41c4bbf2bc 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
1f4cc9ee86 Bug 890023 - Set the output channel count for ConvolverNode to 2 unconditionally; r=roc 2013-07-04 09:22:22 -04:00
Ehsan Akhgari
9810921acc 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
93ad1a8f64 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
83be9599d6 Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 21:37:39 -04:00
Drew Willcoxon
9a245e82e1 Bug 879111 - Mute Web Audio when allowMedia is false on the docshell. r=ehsan 2013-07-03 17:44:32 -07:00
Ehsan Akhgari
2df7ddb555 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
44670c6487 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
45cec38f9b Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 20:20:06 -04:00
Ehsan Akhgari
d1d9fbed63 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
2b403babce 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
7ef9b92ccb 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
63f7a9af8d 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