Commit Graph

521 Commits

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