- -
-- -- - diff --git a/dom/base/test/test_postMessages.html b/dom/base/test/test_postMessages.html new file mode 100644 index 000000000000..89a8ed8ea794 --- /dev/null +++ b/dom/base/test/test_postMessages.html @@ -0,0 +1,295 @@ + + + +
+ ++ + diff --git a/dom/media/test/crashtests/1012609.html b/dom/media/test/crashtests/1012609.html new file mode 100644 index 000000000000..1dad783a073c --- /dev/null +++ b/dom/media/test/crashtests/1012609.html @@ -0,0 +1,9 @@ + + diff --git a/dom/media/test/crashtests/1020205.html b/dom/media/test/crashtests/1020205.html new file mode 100644 index 000000000000..e9efc4096f49 --- /dev/null +++ b/dom/media/test/crashtests/1020205.html @@ -0,0 +1,22 @@ + + + + diff --git a/dom/media/test/crashtests/1041466.html b/dom/media/test/crashtests/1041466.html new file mode 100644 index 000000000000..0f064d186cdf --- /dev/null +++ b/dom/media/test/crashtests/1041466.html @@ -0,0 +1,21 @@ + + + diff --git a/dom/media/test/crashtests/1045650.html b/dom/media/test/crashtests/1045650.html new file mode 100644 index 000000000000..32acd2ce758d --- /dev/null +++ b/dom/media/test/crashtests/1045650.html @@ -0,0 +1,18 @@ + diff --git a/dom/media/test/crashtests/analyser-channels-1.html b/dom/media/test/crashtests/analyser-channels-1.html new file mode 100644 index 000000000000..2f3133cf13ec --- /dev/null +++ b/dom/media/test/crashtests/analyser-channels-1.html @@ -0,0 +1,16 @@ + + + diff --git a/dom/media/test/crashtests/crashtests.list b/dom/media/test/crashtests/crashtests.list index 69589149f7b1..17863201549f 100644 --- a/dom/media/test/crashtests/crashtests.list +++ b/dom/media/test/crashtests/crashtests.list @@ -67,8 +67,13 @@ load 952756.html load 966636.html load 986901.html load 990794.html +load 1012609.html load 1015662.html +load 1020205.html +load 1041466.html +load 1045650.html skip-if(Android||B2G) test-pref(media.navigator.permission.disabled,true) load 1028458.html # bug 1048863 +load analyser-channels-1.html load buffer-source-ended-1.html load doppler-1.html HTTP load media-element-source-seek-1.html diff --git a/dom/media/webaudio/AnalyserNode.cpp b/dom/media/webaudio/AnalyserNode.cpp index c66398d33c45..8c3642c97c7e 100644 --- a/dom/media/webaudio/AnalyserNode.cpp +++ b/dom/media/webaudio/AnalyserNode.cpp @@ -12,6 +12,14 @@ #include "mozilla/PodOperations.h" namespace mozilla { + +static const uint32_t MAX_FFT_SIZE = 32768; +static const size_t CHUNK_COUNT = MAX_FFT_SIZE >> WEBAUDIO_BLOCK_SIZE_BITS; +static_assert(MAX_FFT_SIZE == CHUNK_COUNT * WEBAUDIO_BLOCK_SIZE, + "MAX_FFT_SIZE must be a multiple of WEBAUDIO_BLOCK_SIZE"); +static_assert((CHUNK_COUNT & (CHUNK_COUNT - 1)) == 0, + "CHUNK_COUNT must be power of 2 for remainder behavior"); + namespace dom { NS_IMPL_ISUPPORTS_INHERITED0(AnalyserNode, AudioNode) @@ -57,20 +65,7 @@ public: { *aOutput = aInput; - // If the input is silent, we sill need to send a silent buffer - if (aOutput->IsNull()) { - AllocateAudioBlock(1, aOutput); - float* samples = - static_cast
+ x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + |
+ x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + x x x x x x x x x x x x x x x x x x x x x x + |