Commit Graph

40 Commits

Author SHA1 Message Date
Karl Tomlinson
f750989023 b=932400 rename ProduceAudioBlock to ProcessBlock r=padenot
--HG--
rename : content/media/webaudio/DelayProcessor.cpp => content/media/webaudio/DelayBuffer.cpp
extra : rebase_source : ebdc7404c8d27e3a24098f21a7752df529bb44c9
2014-03-05 10:09:49 +13:00
Karl Tomlinson
30acdbb926 b=932400 allow DelayNodeEngine to produce output before input r=padenot
--HG--
extra : rebase_source : 73991e2d1438862e05bb5a299a6f90935c4a51b2
2014-03-05 10:06:57 +13:00
Karl Tomlinson
60bbef62f1 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
a69af4fbbf 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
2c008faab9 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
Ehsan Akhgari
60eb19e15a Bug 884368 - Part 1: Add a memory reporter for AudioContexts; r=roc,njn 2014-01-04 13:15:41 -05:00
Paul Adenot
71dddda23b 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
Ralph Giles
0608685cbf Bug 865256 - Part 3a: Add AudioBufferPeakValue utility. r=ehsan
From 6c057c02970c79d620527d08bc3755491c99b1d3 Mon Sep 17 00:00:00 2001
This is an equivalent, C-only implementation of blink's
VectorMath::maxmgv or Apple's vDSP_maxmgv. It finds the
maximum absolute value of the elements in a float buffer.
Used by blink's PeriodicWave implementation for normalization.
2013-09-10 10:54:17 -07:00
Ed Morley
a88f8cb96c Backed out changeset fb89f2090779 (bug 881959) 2013-09-17 17:14:55 +01:00
Paul Adenot
5e031096a3 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
Ehsan Akhgari
210ba12d7c Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-05 16:25:17 -04:00
Ehsan Akhgari
45746b149c 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
66abd6bfb5 Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-04 17:58:14 -04:00
Robert O'Callahan
269f816a9e Bug 890716. Fix race in Reverb::Reverb. r=padenot
--HG--
extra : rebase_source : 65af577f5ffcf7f7a0b650f1693f4159ddac4ac6
2013-07-26 13:35:22 +12:00
Ehsan Akhgari
573f70e559 Bug 815643 - Part 4: Add the Convolution processing implementation to the build system; r=roc
--HG--
extra : rebase_source : 2a5aa609334c67bb9b09090d9f681c5c3a940c5c
2013-06-10 16:09:01 -04:00
Ehsan Akhgari
675e417f91 Bug 815643 - Part 2: Refactor our Web Audio FFT code into the FFTBlock class; r=roc
This is useful in order for us to be able to borrow code from Blink with
fewer changes, and also to explore faster platform dependent FFT
implementations in the future if needed.

--HG--
extra : rebase_source : 34bbded736e1b385754756513c59ee27ce7552a5
2013-06-10 16:08:21 -04:00
Ehsan Akhgari
d51de5e22a Bug 873553 - Part 4: Pass the sampling rate to the engine in SetTimelineParameter; r=roc
--HG--
extra : rebase_source : aa574757e9791eafd8c6825328fc4e2f65479f34
2013-05-24 13:10:08 -04:00
Ehsan Akhgari
4d8cc1f041 Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
5cba21896b Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00
Ehsan Akhgari
393265eec6 Bug 865247 - Part 3: Add a ProduceAudioBlock overload to handle simultaneous processing of multiple input and output ports; r=roc
The ObtainInputBlock API is also changed to create an input block for one input
block at a time.  An array of these input blocks is then sent to
ProduceAudioBlock for processing, which generates an array of AudioChunks as
output.

Backwards compatibilty with existing engines is achieved by keeping the
existing ProduceAudioBlock API for use with engines with only a maximum of one
input and output port.
2013-05-05 11:48:45 -04:00
Ehsan Akhgari
1dcf3ec65a Bug 866434 - Part 3: Mix in the value generated by AudioNode inputs to AudioParams when getting their values during audio processing; r=roc 2013-05-01 23:12:59 -04:00
Ehsan Akhgari
85820ff13a Bug 866434 - Part 2: Give each AudioParam that is connected to an AudioNode an AudioNodeStream; r=roc
These MediaStreams are used as a way to down-mix the input AudioChunks, and
also as a way to get proper stream processing ordering.  The MediaStream for
the source AudioNode is an input to these streams, and these streams in turn
are inputs to the MediaStream that the AudioNode that owns the AudioParam owns.
This way, the Media Streams Graph processing code will order the streams so
that by the time that the MediaStream for a given node is processed, all of the
MediaStreams belonging to the AudioNode(s) feeding into the AudioParam have
been processed.

This has a tricky side-effect that those streams also being considered when
determining the input block for the AudioNodeStream belonging to the
AudioParam's owner AudioNode.  In order to fix that, we simply special case
those streams and make AudioNodeStream::ObtainInputBlock ignore them.
2013-05-01 21:02:31 -04:00
Ehsan Akhgari
db6a4e8298 Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc 2013-04-27 19:25:23 -04:00
Ehsan Akhgari
ad6c0922c2 Bug 864709 - Part 2: Protect accesses to AudioNodeEngine::mNode using a lock; r=padenot 2013-04-24 12:13:45 -04:00
Ehsan Akhgari
1275a7058a Bug 864605 - Take the input chunk's volume into account in the nodes that buffer their input; r=padenot
--HG--
extra : rebase_source : 7590e20cbb1ac347f3988aaa5dbc586012747221
2013-04-22 21:59:51 -04:00
Ehsan Akhgari
82a95502c9 Bug 834513 - Part 2: Add an AudioNode weak pointer to the AudioNodeEngine class; r=roc 2013-04-20 12:16:28 -04:00
Ehsan Akhgari
f52ab73c5d Bug 856771 - Protect the source buffer nodes from leaking when their binding goes away without being played back; r=roc 2013-04-01 16:06:55 -04:00
Paul Adenot
ee8b4ddb7e Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc
--HG--
extra : rebase_source : d729da50f97b94ea0434a93ad481ac35954bfa9a
2013-03-21 17:45:53 +01:00
Kyle Huey
fc4e5bac45 Backout things philor tells me to (Bug 853360, Bug 849918). 2013-03-21 18:20:42 -07:00
Paul Adenot
c8964509cc Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc 2013-03-21 17:45:53 +01:00
Ehsan Akhgari
2e3c9ba835 Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot 2013-03-12 11:16:42 -04:00
Ryan VanderMeulen
b3839debd3 Backed out changesets 4ee69256f8f2, 2becc603eeb8, and afad1c17015e (bug 849916) for bustage on a CLOSED TREE. 2013-03-12 16:16:30 -04:00
Ehsan Akhgari
5435366892 Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot 2013-03-12 11:16:42 -04:00
Ehsan Akhgari
3752b6a571 Bug 836076 - Part 6: Hook up GainNode to the MediaStreams back-end to enable controlling the volume of the audio being played back; r=roc 2013-01-29 18:37:51 -05:00
Ehsan Akhgari
e91dfed6d9 Bug 836076 - Part 2: Make it possible to send AudioEventTimeline objects as commands to the MSG thread; r=roc 2013-01-28 17:42:27 -05:00
Robert O'Callahan
569f78ecf3 Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.

--HG--
extra : rebase_source : 99524b09edd4ac0e1bc6607f2ba14925bc2f11c2
2013-01-14 11:46:57 +13:00
Ehsan Akhgari
81075674d3 Backed out 14 changesets (bug 804387) because of Android M2 crashes
Backed out changeset 80e8530f06ea (bug 804387)
Backed out changeset 3de2271ad47f (bug 804387)
Backed out changeset 00f86870931c (bug 804837)
Backed out changeset 0e3f20927c50 (bug 804387)
Backed out changeset e6ef90038007 (bug 804387)
Backed out changeset 0ad6f67a95f9 (bug 804387)
Backed out changeset d0772aba503c (bug 804387)
Backed out changeset 5477b87ff03e (bug 804387)
Backed out changeset 1d7ec5adc49f (bug 804387)
Backed out changeset 11f4d740cd6c (bug 804387)
Backed out changeset e6254d8997ab (bug 804387)
Backed out changeset 372322f3264d (bug 804387)
Backed out changeset 53d5ed687612 (bug 804387)
Backed out changeset 000b88ac40a7 (bug 804387)
2013-02-05 01:29:28 -05:00
Ehsan Akhgari
3f79e8f932 Backed out 3 changesets (bug 836076) becasue bug 804387 is getting backed out
Backed out changeset d567b1bb34ad (bug 836076)
Backed out changeset 51f7c9e31f9a (bug 836076)
Backed out changeset 901c735274bc (bug 836076)

--HG--
rename : content/media/AudioEventTimeline.h => content/media/webaudio/AudioEventTimeline.h
2013-02-05 01:28:38 -05:00
Ehsan Akhgari
9b629eb383 Bug 836076 - Part 2: Make it possible to send AudioEventTimeline objects as commands to the MSG thread; r=roc 2013-01-28 17:42:27 -05:00
Robert O'Callahan
b742aee0ca Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.
2013-01-14 11:46:57 +13:00