gecko/content/media/webaudio/blink
Karl Tomlinson 0935b39ced b=857610 handle DelayNode channel count changes and separate buffer read and write r=padenot
The basic idea is to write out the signal that came in with the same number of
channels as it had when it came in.  Things get a bit more complicated when
one output block may be derived from more than one input block, each having
different numbers of channels.  When this happens, the input blocks with fewer
channels are upmixed, so as not to lose (or distort) any signal in the block
with more channels.

HRTFPanner no longer uses exponential decay (with time constant 20ms) for
delay changes, but a smoother linear transition during cross-fade time (~45ms).

--HG--
rename : content/media/webaudio/DelayProcessor.cpp => content/media/webaudio/DelayBuffer.cpp
rename : content/media/webaudio/DelayProcessor.h => content/media/webaudio/DelayBuffer.h
extra : rebase_source : 18453d631779cd7d0672b5325e110b107ab4237d
2014-03-05 10:06:57 +13:00
..
Biquad.cpp b=944143 avoid producing infinite stream of subnormals in ZeroPole tail r=padenot 2014-01-07 12:53:48 +13:00
Biquad.h b=939491 avoid producing infinite stream of subnormals in BiquadFilterNode tail r=padenot 2013-12-03 12:07:16 +13:00
DenormalDisabler.h
DirectConvolver.cpp
DirectConvolver.h
DynamicsCompressor.cpp 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
DynamicsCompressor.h
DynamicsCompressorKernel.cpp Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
DynamicsCompressorKernel.h
FFTConvolver.cpp b=956604 optimize inverse FFT scaling during convolution r=padenot 2014-01-08 16:58:11 +13:00
FFTConvolver.h b=956604 optimize inverse FFT scaling during convolution r=padenot 2014-01-08 16:58:11 +13:00
HRTFDatabase.cpp b=815643 Add Blink's HRTFDatabase and HRTFDatabaseLoader to the build r=ehsan 2013-08-09 09:56:28 +12:00
HRTFDatabase.h b=815643 Add Blink's HRTFDatabase and HRTFDatabaseLoader to the build r=ehsan 2013-08-09 09:56:28 +12:00
HRTFDatabaseLoader.cpp Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan 2013-10-23 16:34:10 -04:00
HRTFDatabaseLoader.h Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
HRTFElevation.cpp b=937057 provide a null ptr instead of a zero buffer when processing resampler tail r=padenot 2013-12-03 12:07:17 +13:00
HRTFElevation.h b=815643 Add Blink's HRTFElevation to the build r=ehsan 2013-08-08 21:38:30 +12:00
HRTFKernel.cpp b=956604 optimize inverse FFT scaling during convolution r=padenot 2014-01-08 16:58:11 +13:00
HRTFKernel.h b=815643 Add Blink's HRTFKernel to the build r=ehsan 2013-08-08 21:38:29 +12:00
HRTFPanner.cpp b=857610 handle DelayNode channel count changes and separate buffer read and write r=padenot 2014-03-05 10:06:57 +13:00
HRTFPanner.h b=857610 handle DelayNode channel count changes and separate buffer read and write r=padenot 2014-03-05 10:06:57 +13:00
IRC_Composite_C_R0195-incl.cpp Bug 963056 - Part 1: Name unnamed struct in IRC_Composite_C_R0195-incl.cpp. r=ehsan 2014-02-11 13:31:57 -05:00
moz.build Bug 939571 - Build Web Audio in unified mode; r=glandium 2013-11-19 14:11:16 -05:00
PeriodicWave.cpp b=956604 Remove unnecessary channel count parameter from AudioBufferInPlaceScale r=padenot 2014-01-08 16:57:53 +13:00
PeriodicWave.h Bug 865256 - Part 3d: Port blink's PeriodicWave to gecko. r=ehsan 2013-09-10 14:33:03 -07:00
README
Reverb.cpp b=906966 limit ConvolverNode and PannerNode input channel count through channelCount and channelCountMode r=ehsan 2013-09-05 07:44:35 +12:00
Reverb.h Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
ReverbAccumulationBuffer.cpp
ReverbAccumulationBuffer.h
ReverbConvolver.cpp Bug 942022 - Return safely when thread creation fails, in ReverbConvolver. r=karlt 2014-01-10 16:01:18 +01:00
ReverbConvolver.h Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
ReverbConvolverStage.cpp b=956604 optimize inverse FFT scaling during convolution r=padenot 2014-01-08 16:58:11 +13:00
ReverbConvolverStage.h Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
ReverbInputBuffer.cpp
ReverbInputBuffer.h
ZeroPole.cpp b=944143 avoid producing infinite stream of subnormals in ZeroPole tail r=padenot 2014-01-07 12:53:48 +13:00
ZeroPole.h b=944143 avoid producing infinite stream of subnormals in ZeroPole tail r=padenot 2014-01-07 12:53:48 +13:00

This directory contains the code originally borrowed from the Blink Web Audio
implementation.  We are forking the code here because in many cases the burden
of adopting Blink specific utilities is too large compared to the prospect of
importing upstream fixes by just copying newer versions of the code in the
future.

The process of borrowing code from Blink is as follows:

* Try to borrow utility classes only, and avoid borrowing code which depends
  too much on the Blink specific utilities.
* First, import the pristine files from the Blink repository before adding
  them to the build system, noting the SVN revision of Blink from which the
  original files were copied in the commit message.
* In a separate commit, add the imported source files to the build system,
  and apply the necessary changes to make it build successfully.
* Use the code in a separate commit.
* Never add headers as exported headers.  All headers should be included
  using the following convention: #include "blink/Header.h".
* Leave the imported code in the WebCore namespace, and import the needed
  names into the Mozilla code via `using'.
* Cherry-pick upsteam fixes manually when needed.  In case you fix a problem
  that is not Mozilla specific locally, try to upstream your changes into
  Blink.
* Ping ehsan for any questions.