gecko-dev/dom/media/webaudio
Paul Adenot e34a6067fb Bug 1355798 - Fix a division by zero in PannerNode.cpp. r=dminor
This happens when the listener and a PannerNode are at the same position, and
a cone gain has been specified.

The issue is that our implementation of 3d vector normalization does not
special-case vectors that have all components at zero, that dividing by zero
results in infinity, and multiplying by infinity produces NaN.

This end up setting the volume member for the output AudioChunk to NaN, and this
breaks everything downstream, of course. In practice, silence is output, with
some clicks (on linux/pulse at least).

MozReview-Commit-ID: 8u54LixvYMu

--HG--
extra : rebase_source : 3b37970b42e5c60cd6e39d3197b580edc63b5ac9
2017-04-12 15:44:19 +02:00
..
blink Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
gtest Bug 1308437 - Part 3: Change expected error to TypeError when testing setValueCurveAtTime with non-finite elements in TestAudioEventTimeline.cpp. r=dminor, a=padenot 2017-02-07 22:12:06 +07:00
test Bug 1355798 - Fix a division by zero in PannerNode.cpp. r=dminor 2017-04-12 15:44:19 +02:00
AlignedTArray.h
AlignmentUtils.h
AnalyserNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
AnalyserNode.h Bug 1322883 - AudioNode constructors - part 0 - AnalyserNode, r=padenot 2016-12-15 19:24:41 +01:00
AudioBlock.cpp
AudioBlock.h
AudioBuffer.cpp Bug 1319987: P9. More coding style fixes. r=gerald 2017-01-27 13:20:37 +01:00
AudioBuffer.h Bug 851892 part 10. Convert CSSNamespaceRule to WebIDL. r=peterv,heycam 2017-01-13 10:41:03 -05:00
AudioBufferSourceNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
AudioBufferSourceNode.h Bug 1324568 - Implement AudioScheduledSourceNode, r=padenot 2016-12-21 10:53:17 +01:00
AudioContext.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
AudioContext.h Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
AudioDestinationNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
AudioDestinationNode.h Bug 1346872 - part1 : notify audible state change when AudioDestinationNode was muted or suspended. r=Ehsan 2017-03-30 14:25:37 +08:00
AudioEventTimeline.cpp Merge m-c to autoland 2016-11-03 20:02:24 -07:00
AudioEventTimeline.h Bug 1308437 - Part 1: Change the exception thrown by 'setValueCurve' on non-finite elements to TypeError. r=dminor 2017-02-06 22:14:58 +07:00
AudioListener.cpp
AudioListener.h
AudioNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNode.h Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeEngine.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeEngine.h Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeEngineNEON.cpp
AudioNodeEngineNEON.h
AudioNodeEngineSSE2.cpp
AudioNodeEngineSSE2.h
AudioNodeExternalInputStream.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeExternalInputStream.h Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeStream.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioNodeStream.h Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
AudioParam.cpp Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8 2017-01-03 21:47:55 +02:00
AudioParam.h Bug 1324659 - AudioParam.minValue/maxValue, r=padenot 2016-12-21 10:53:38 +01:00
AudioParamTimeline.h
AudioProcessingEvent.cpp Bug 1329744 - AudioBuffer ctor updated, r=padenot 2017-01-10 21:30:28 +00:00
AudioProcessingEvent.h
AudioScheduledSourceNode.cpp Bug 1324568 - Implement AudioScheduledSourceNode, r=padenot 2016-12-21 10:53:17 +01:00
AudioScheduledSourceNode.h Bug 1324568 - Implement AudioScheduledSourceNode, r=padenot 2016-12-21 10:53:17 +01:00
BiquadFilterNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
BiquadFilterNode.h Bug 1322883 - AudioNode constructors - part 4 - BiquadFilterNode, r=padenot 2016-12-15 19:24:41 +01:00
BufferDecoder.cpp Bug 1314833 - Part 2.1: Factor out AbstractThread::MainThread() used in Media Playback. r=billm,jwwang 2016-11-29 13:03:36 +08:00
BufferDecoder.h Bug 1314833 - Part 2.1: Factor out AbstractThread::MainThread() used in Media Playback. r=billm,jwwang 2016-11-29 13:03:36 +08:00
ChannelMergerNode.cpp Bug 1322883 - AudioNode constructors - part 11 - ChannelMergerNode, r=padenot 2016-12-15 19:24:42 +01:00
ChannelMergerNode.h Bug 1322883 - AudioNode constructors - part 11 - ChannelMergerNode, r=padenot 2016-12-15 19:24:42 +01:00
ChannelSplitterNode.cpp Bug 1322883 - AudioNode constructors - part 10 - ChannelSplitterNode, r=padenot 2016-12-15 19:24:42 +01:00
ChannelSplitterNode.h Bug 1322883 - AudioNode constructors - part 10 - ChannelSplitterNode, r=padenot 2016-12-15 19:24:42 +01:00
ConstantSourceNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
ConstantSourceNode.h Bug 1324568 - Implement AudioScheduledSourceNode, r=padenot 2016-12-21 10:53:17 +01:00
ConvolverNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
ConvolverNode.h Bug 1322883 - AudioNode constructors - part 9 - ConvolverNode, r=padenot 2016-12-15 19:24:42 +01:00
DelayBuffer.cpp Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm. 2016-09-01 15:01:16 +10:00
DelayBuffer.h
DelayNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
DelayNode.h Bug 1322883 - AudioNode constructors - part 3 - DelayNode, r=padenot 2016-12-15 19:24:41 +01:00
DynamicsCompressorNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
DynamicsCompressorNode.h Bug 1322883 - AudioNode constructors - part 12 - DynamicsCompressorNode, r=padenot 2016-12-15 19:24:42 +01:00
FFTBlock.cpp
FFTBlock.h
GainNode.cpp Bug 1324659 - AudioParam.minValue/maxValue, r=padenot 2016-12-21 10:53:38 +01:00
GainNode.h Bug 1322883 - AudioNode constructors - part 2 - GainNode, r=padenot 2016-12-15 19:24:41 +01:00
IIRFilterNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
IIRFilterNode.h Bug 1322883 - AudioNode constructors - part 5 - IIRFilterNode, r=padenot 2016-12-15 19:24:41 +01:00
MediaBufferDecoder.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
MediaBufferDecoder.h Bug 1328422 - Make WebAudioDecodeJob not be refcounted, and instead manage its lifetime explicitly; r=padenot 2017-01-16 15:53:45 +08:00
MediaElementAudioSourceNode.cpp Bug 1322883 - AudioNode constructors - part 16 - MediaElementAudioSourceNode, r=padenot 2016-12-15 19:24:43 +01:00
MediaElementAudioSourceNode.h Bug 1322883 - AudioNode constructors - part 16 - MediaElementAudioSourceNode, r=padenot 2016-12-15 19:24:43 +01:00
MediaStreamAudioDestinationNode.cpp Bug 1322883 - AudioNode constructors - part 18 - MediaStreamAudioDestinationNode, r=padenot 2016-12-15 19:24:43 +01:00
MediaStreamAudioDestinationNode.h Bug 1322883 - AudioNode constructors - part 18 - MediaStreamAudioDestinationNode, r=padenot 2016-12-15 19:24:43 +01:00
MediaStreamAudioSourceNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
MediaStreamAudioSourceNode.h Bug 1322883 - AudioNode constructors - part 17 - MediaStreamAudioSourceNode, r=padenot 2016-12-15 19:24:43 +01:00
moz.build Bug 1336484 - Don't throttle timeouts in background tabs that are playing audio; r=baku 2017-02-10 12:08:25 -05:00
OscillatorNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
OscillatorNode.h Bug 1324568 - Implement AudioScheduledSourceNode, r=padenot 2016-12-21 10:53:17 +01:00
PannerNode.cpp Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang 2016-12-07 22:00:12 -10:00
PannerNode.h Bug 1322883 - AudioNode constructors - part 7 - PannerNode, r=padenot 2016-12-15 19:24:42 +01:00
PanningUtils.h
PeriodicWave.cpp Bug 1324181 - Better implementation of PeriodicWave constructor, r=padenot 2016-12-22 15:37:33 +01:00
PeriodicWave.h Bug 1322883 - AudioNode constructors - part 14 - PeriodicWave, r=padenot 2016-12-15 19:24:42 +01:00
PlayingRefChangeHandler.h Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm. 2016-08-08 12:18:10 +10:00
ReportDecodeResultTask.h
ScriptProcessorNode.cpp Bug 1341549 - Label runnables in dom/media/webaudio/ r=billm 2017-04-04 13:47:47 +02:00
ScriptProcessorNode.h Bug 11130010 - Backout new AudioNode.disconnect methods; r=mreavy,karlt,smaug 2016-08-16 15:26:35 -04:00
StereoPannerNode.cpp Bug 1324659 - AudioParam.minValue/maxValue, r=padenot 2016-12-21 10:53:38 +01:00
StereoPannerNode.h Bug 1322883 - AudioNode constructors - part 8 - StereoPannerNode, r=padenot 2016-12-15 19:24:42 +01:00
ThreeDPoint.cpp
ThreeDPoint.h Bug 1355798 - Fix a division by zero in PannerNode.cpp. r=dminor 2017-04-12 15:44:19 +02:00
WaveShaperNode.cpp Bug 1326507, remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS, r=mccr8 2017-01-03 21:47:55 +02:00
WaveShaperNode.h Bug 1322883 - AudioNode constructors - part 6 - WaveShaperNode, r=padenot 2016-12-15 19:24:42 +01:00
WebAudioUtils.cpp
WebAudioUtils.h bug 1353246 adjust int/float comparison to treat floats just outside the range of int as outside r=padenot 2017-04-04 16:10:26 +12:00