gecko-dev/dom/media/webaudio
alwu 7c0b331bf7 Bug 1496496 - part4 : avoid to notify audible state changed frequently. r=padenot
We don't want to notify state changed frequently if the input stream is consist of
interleaving audible and inaudible blocks.

This situation is really common, especially when user is using OscillatorNode to produce
sound. Sending unnessary runnable frequently would cause performance debasing.

If the stream contains 10 interleaving samples and 5 of them are audible, others are
inaudible, user would tend to feel the stream is audible. Therefore, we have the loose
checking when stream is changing from inaudible to audible, but have strict checking when
streaming is changing from audible to inaudible. If the inaudible blocks continue over a
speicific time thersold, then we will think the steam as inaudible.

Differential Revision: https://phabricator.services.mozilla.com/D7823

--HG--
extra : moz-landing-system : lando
2018-10-08 18:52:01 +00:00
..
blink Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt 2018-10-09 13:19:20 +00:00
test Bug 1493779 - Add a test for ConvolverNode with very large buffer. r=karlt 2018-10-09 13:19:27 +00:00
AlignedTArray.h
AlignmentUtils.h
AnalyserNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AnalyserNode.h Bug 1456259 - Correct AnalyserNode construction issues. r=padenot,smaug 2018-04-26 16:32:52 +02:00
AudioBlock.cpp bug 1474222 consider allocation size instead of used channel count for re-using AudioBlockBuffer r=padenot 2018-08-03 18:32:28 +12:00
AudioBlock.h Bug 1496496 - part1 : add IsAudible() to detect audible data. r=padenot 2018-10-11 18:17:41 +00:00
AudioBuffer.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AudioBuffer.h bug 1391482 add a method to create an AudioBuffer from AudioChunk data r=padenot 2017-08-16 17:45:48 +12:00
AudioBufferSourceNode.cpp Bug 1488242 - Throw the correct error type in {ConstantSourceNode,AudioBufferSourceNode}.{Start,Stop}. r=karlt 2018-09-04 13:50:15 +00:00
AudioBufferSourceNode.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
AudioContext.cpp Bug 1492014 add AudioWorkletImpl/PaintWorkletImpl subclasses r=baku 2018-09-20 11:34:01 +00:00
AudioContext.h Bug 1489278 - part1 : show doorhanger when create AudioContext r=padenot 2018-09-13 16:51:07 +00:00
AudioDestinationNode.cpp Bug 1496496 - part4 : avoid to notify audible state changed frequently. r=padenot 2018-10-08 18:52:01 +00:00
AudioDestinationNode.h Bug 1496496 - part2 : rename variables and functions. r=padenot 2018-10-05 19:04:16 +00:00
AudioEventTimeline.cpp Bug 1497112 reference AudioTimelineEvent stream as AudioNodeStream r=padenot 2018-10-08 09:09:29 +00:00
AudioEventTimeline.h Bug 1497112 reference AudioTimelineEvent stream as AudioNodeStream r=padenot 2018-10-08 09:09:29 +00:00
AudioListener.cpp Bug 1477704 - r=karlt 2018-07-23 16:47:44 +02:00
AudioListener.h Bug 1477704 - r=karlt 2018-07-23 16:47:44 +02:00
AudioNode.cpp Bug 1148354 - Remove the doppler effect from the PannerNode. r=baku,karlt 2018-07-19 11:19:29 +02:00
AudioNode.h Bug 1443224 - Throw correct exceptions when trying to set the channelCount, the channelCountMode and the channelInterpretation on a ChannelSplitterNode. r=baku 2018-03-09 15:22:44 +01:00
AudioNodeEngine.cpp Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeEngine.h Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeEngineNEON.cpp Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeEngineNEON.h Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeEngineSSE2.cpp Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeEngineSSE2.h Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor 2018-07-06 15:18:06 +02:00
AudioNodeExternalInputStream.cpp
AudioNodeExternalInputStream.h
AudioNodeStream.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
AudioNodeStream.h bug 1391482 remove now-unused ThreadSharedFloatArrayBufferList SetBuffer() variant r=padenot 2017-08-10 17:49:38 +12:00
AudioParam.cpp Bug 1497112 reference AudioTimelineEvent stream as AudioNodeStream r=padenot 2018-10-08 09:09:29 +00:00
AudioParam.h Bug 1308436 - Rework the AudioParam event insertion algorithm to be spec compliant, and fix the exception types and values. r=karlt 2018-09-04 14:44:03 +02:00
AudioParamMap.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AudioParamMap.h Bug 1460907 - Implement AudioParamMap definitions. r=karlt,qdot 2018-05-13 16:16:23 +02:00
AudioParamTimeline.h Bug 1497112 reference AudioTimelineEvent stream as AudioNodeStream r=padenot 2018-10-08 09:09:29 +00:00
AudioProcessingEvent.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AudioProcessingEvent.h Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug 2018-06-26 18:22:06 +02:00
AudioScheduledSourceNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AudioScheduledSourceNode.h
AudioWorkletImpl.cpp Bug 1492014 add AudioWorkletImpl/PaintWorkletImpl subclasses r=baku 2018-09-20 11:34:01 +00:00
AudioWorkletImpl.h Bug 1492014 add AudioWorkletImpl/PaintWorkletImpl subclasses r=baku 2018-09-20 11:34:01 +00:00
AudioWorkletNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
AudioWorkletNode.h Bug 1458446 - Add AudioWorkletNode interface definitions. r=baku,karlt 2018-06-01 19:10:02 +02:00
AudioWorkletProcessor.cpp Bug 1466182 - Add AudioWorkletProcessor definitions. r=baku,karlt 2018-06-24 20:02:47 +02:00
AudioWorkletProcessor.h Bug 1466182 - Add AudioWorkletProcessor definitions. r=baku,karlt 2018-06-24 20:02:47 +02:00
BiquadFilterNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
BiquadFilterNode.h
ChannelMergerNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
ChannelMergerNode.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
ChannelSplitterNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
ChannelSplitterNode.h Bug 1443224 - Throw correct exceptions when trying to set the channelCount, the channelCountMode and the channelInterpretation on a ChannelSplitterNode. r=baku 2018-03-09 15:22:44 +01:00
ConstantSourceNode.cpp Bug 1488242 - Throw the correct error type in {ConstantSourceNode,AudioBufferSourceNode}.{Start,Stop}. r=karlt 2018-09-04 13:50:15 +00:00
ConstantSourceNode.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
ConvolverNode.cpp Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt 2018-10-09 13:19:20 +00:00
ConvolverNode.h
DelayBuffer.cpp Bug 1483174 use float constants with float delay time variables r=padenot 2018-08-16 11:09:03 +00:00
DelayBuffer.h bug 1480661 use single precision for operating on delay values r=padenot 2018-08-06 10:18:24 +12:00
DelayNode.cpp bug 1480661 use single precision for operating on delay values r=padenot 2018-08-06 10:18:24 +12:00
DelayNode.h
DynamicsCompressorNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
DynamicsCompressorNode.h
FFTBlock.cpp bug 1476231 switch FFTBlock from libav to ffvpx r=jya 2018-07-14 14:44:43 +12:00
FFTBlock.h bug 1481745 improve estimates of memory used by FFT contexts r=padenot 2018-09-27 13:08:14 +12:00
GainNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
GainNode.h
IIRFilterNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
IIRFilterNode.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
MediaBufferDecoder.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
MediaBufferDecoder.h Bug 1326003 - Remove dead code: WebAudioDecodeJob::mContentType. r=padenot 2017-09-29 16:02:43 +02:00
MediaElementAudioSourceNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
MediaElementAudioSourceNode.h
MediaStreamAudioDestinationNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
MediaStreamAudioDestinationNode.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
MediaStreamAudioSourceNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
MediaStreamAudioSourceNode.h
OscillatorNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
OscillatorNode.h Bug 1436263 - Part 1: Replace `final override` virtual function specifiers with just `final`. r=froydnj 2018-02-05 22:46:57 -08:00
PannerNode.cpp Bug 1492894 - part 4 - eliminate already_AddRefed variables in dom/; r=mccr8 2018-09-21 16:45:49 -04:00
PannerNode.h Bug 1487963 - Throw when setting PannerNode parameters out of limits; r=padenot,baku 2018-09-05 12:30:28 +00:00
PanningUtils.h
PeriodicWave.cpp Backed out 2 changesets (bug 1456271) for mda failures in dom/media/webaudio/test/test_periodicWave.html 2018-07-16 17:11:14 +03:00
PeriodicWave.h bug 1391482 use AudioChunk to store and pass PeriodicWave data to engine r=padenot 2017-08-10 20:26:20 +12:00
PlayingRefChangeHandler.h
ReportDecodeResultTask.h
ScriptProcessorNode.cpp Bug 1484046 reset variables for main thread buffer dropping logic on the same thread r=padenot 2018-08-17 12:24:51 +00:00
ScriptProcessorNode.h Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8 2018-02-12 15:44:40 -05:00
StereoPannerNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
StereoPannerNode.h
ThreeDPoint.cpp
ThreeDPoint.h
WaveShaperNode.cpp Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot 2018-06-26 17:05:01 -07:00
WaveShaperNode.h
WebAudioUtils.cpp Bug 1388288 - Make dom/media/webaudio build non-Unified. r=padenot 2017-08-08 11:38:02 +08:00
WebAudioUtils.h Bug 1441500 - Remove smoothing of the delayTime parameter. r=karlt 2018-02-27 12:59:25 +01:00
moz.build Bug 1492014 add AudioWorkletImpl/PaintWorkletImpl subclasses r=baku 2018-09-20 11:34:01 +00:00