The delay in the third test is reduced to ensure that some of the output
signal has traversed every link in the cycle.
The input signal no longer loops for un-muted cycles, to keep it simple.
--HG--
extra : rebase_source : 37f555c356cc2c0573e7c93150ed86587da30ad7
Previously downstream nodes from DelayNodes in cycles sometimes received stale
output from the previous MSG iteration.
Also, if two cycles share a common path, they will now *both* be treated as
cycles, either by muting or by enforcing minimum delay. Previously, marking
one cycle first could prevent detection of other cycles in the same SCC.
--HG--
extra : rebase_source : 82892c538c5ce514165b5f975474df15b99e3d2b
This doesn't change the enabled/disabled state of any tests. It should be a no-op since the harness runs tests alphabetically anyway regardless of their order in the manifest.
See bug 980506 for an extensive discussion about this. This patch adds
three APIs to AudioNode in order for us to be able to build awesome
devtools on top of it.
* Weak reference API.
This patch allows one to hold a weak reference to all AudioNode's
using Components.utils.getWeakReference(). That way, the devtool's
inspection code would not change the lifetime of AudioNodes.
* AudioNode.id
This is a chrome-only unique and monotonically incrementing ID for
AudioNode objects. It is supposed to be used in order for the
devtools to be able to identify a node without having to keep it
alive.
* webaudio-node-demise
This is an observer notification that is called every time an
AudioNode gets destroyed inside Gecko. The ID of the corresponding
node is passed to this notification.
--HG--
extra : rebase_source : 83246a990489daf44ddc97dd4ea372a8cebe8e00
See bug 980506 for an extensive discussion about this. This patch adds
three APIs to AudioNode in order for us to be able to build awesome
devtools on top of it.
* Weak reference API.
This patch allows one to hold a weak reference to all AudioNode's
using Components.utils.getWeakReference(). That way, the devtool's
inspection code would not change the lifetime of AudioNodes.
* AudioNode.id
This is a chrome-only unique and monotonically incrementing ID for
AudioNode objects. It is supposed to be used in order for the
devtools to be able to identify a node without having to keep it
alive.
* webaudio-node-demise
This is an observer notification that is called every time an
AudioNode gets destroyed inside Gecko. The ID of the corresponding
node is passed to this notification.
The numberOfChannels array on AudioBuffer is now an infallible array, as this
is considerably smaller than infallible channel data array allocations in
AllocateAudioBlock and similar to channel data pointer array allocations in
AudioChunk.
--HG--
extra : transplant_source : C%29_%13%9C%9C%A1%E1%A3%E8%C9_%93%11%85lM%FC%7E%BC
OfflineAudioCompletionEvent needs to use AudioBuffer for its output,
and so the AudioContext should run at the rates supported by AudioBuffer.
--HG--
extra : transplant_source : %F2%A0%90%E6%DD%21%15%CDBa%F4%24%93%22%FA%A3%D8%12KU
Also change WebAudioUtils from a class to a namespace, so that constant
variables can be defined inline with internal linkage.
static class variables cannot be defined inline because this violates the one
definition rule, even though some compilers may not notice.
--HG--
extra : transplant_source : %9F4%2Ct%BA%D2%BD%8A1Xev%92%C0%A1%AD%88IH%BF
float did not necessarily have enough precision.
Includes a -1 fix in the multiplier of the input signal to have
"a signal level of zero corresponding to the center value of the curve array".
--HG--
extra : transplant_source : %05v%A2%0A%CA%96%96%A7%B0z%AA%A7%02L%8Fm%B4TB%95
Use the sample rate passed to the OfflineAudioContext constructor in
MediaStreamGraph::CreateOfflineInstance, and pass the preferred mixer sample
rate to the (real time) MediaStreamGraph constructor.
Then, always use this sample rate for the lifetime of the graph.
This patch needed to pass the sample rate to the AudioMixer class to avoid
relying on globals like it was done before.
--HG--
extra : rebase_source : 2802208819887605fe26a7040998fc328b3c9a57
This patch was mostly generated with the following command:
find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""
and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
This patch was mostly generated with this command:
find . -name "*.h" -o -name "*.cpp" | xargs sed -e 's/Binding::Wrap(aCx, aScope, this/Binding::Wrap(aCx, this/' -e 's/Binding_workers::Wrap(aCx, aScope, this/Binding_workers::Wrap(aCx, this/' -e 's/Binding::Wrap(cx, scope, this/Binding::Wrap(cx, this/' -i ""
plus a few manual fixes to dom/bindings/Codegen.py, js/xpconnect/src/event_impl_gen.py, and a few C++ files that were not caught in the search-and-replace above.
The difference from Blink here is that Blink plays silence for if element
channel counts are > 32, but here more channels are down-mixed. Media stream
channel counts are also fixed to 2 in Blink, but that restriction is not
applied here.
Leaving the "inline" const static/class member initialization of
MaxChannelCount left missing symbols with gcc 4.7.3.
--HG--
extra : transplant_source : %C9%BA%84%0F%E8%89%E2%85p%B8%28%EF%E9M%CC%81%B9ob/