Commit Graph

538 Commits

Author SHA1 Message Date
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