WebAudio/Test Plan
From MozillaWiki
< WebAudio
Web Audio
Feature | Status | Release Target | Dev Lead | QA Lead | QA Status |
Web Audio | Landed | Firefox 25 | Ehsan Akhgari | Manuela Muntean | Signed Off |
Summary
The Web Audio API describes a high-level JavaScript API for processing and synthesizing audio in web applications. The primary paradigm is of an audio routing graph, where a number of AudioNode objects are connected together to define the overall audio rendering.
- Note: for Linux platform, in order to activate this feature, you need to go to about:config and set media.gstreamer.enabled to true
References
- MozillaWiki article for the W3C Web Audio API
- W3C Web Audio API Specification
- Differences in the implementation between Firefox and Chrome
- Demo pages:
- Notes
- not all demos are currently available for Firefox (most of them only work with Chrome)
- the MP3 support isn't finished yet on Mac
Test Cases
- The manual test cases for this feature can be viewed in this Moztrap testsuite
- Automated tests:
- http://mxr.mozilla.org/mozilla-central/source/content/media/webaudio/test/
- content/media/test/crashtests/907986-1.html
- content/media/test/crashtests/907986-2.html
- content/media/test/crashtests/907986-3.html
- content/media/test/crashtests/907986-4.html
- content/media/test/crashtests/889042.html
- content/media/test/crashtests/880129.html
- content/media/test/crashtests/878407.html
- content/media/test/crashtests/878328.html
- content/media/test/crashtests/877820.html
- content/media/test/crashtests/876834.html
- content/media/test/crashtests/876215.html
- content/media/test/crashtests/876024-1.html
- content/media/test/crashtests/876024-2.html
- content/media/test/crashtests/875911.html
- content/media/test/crashtests/875596.html
- content/media/test/crashtests/868504.html
Bugs
- Tracking bug - 779297
Sign off
- Criteria
- All the test cases were executed
- All the blocker, critical, major bugs have been fixed
- Firefox 24 Aurora (pre-beta sign off) - 08/04/2013
- On the next OSs:
- Windows 7 64bit
- Windows 8 32bit
- Ubuntu 12.10 32bit
- Mac OSX 10.8.3
- Firefox 25 Aurora merge - 08/09/2013
- On the next OSs:
- Windows 7 64bit
- Windows 8 64bit
- Ubuntu 12.10 32bit
- Mac OSX 10.8
- Concerns:
- bug 890528 - DelayNode repeats last signal multiple times, does no delay - NEW
- bug 848954 - Call the MediaStreamGraph's processing code from the cubeb callback when needed - NEW
- bug 849636 - Handle invalid offset/duration passed to AudioBufferSourceNode.start the same way that WebKit does - ASSIGNED
- bug 857610 - Handle channel count changes in delay node - NEW
- bug 864171 - Problem in converting AudioParam times to track ticks - NEW
- bug 864780 - decodeAudioData fails to decode a wave file - NEW
- bug 865239 - [Tracking] Finish implementing PannerNode - NEW
- bug 865241 - Implement HRTF panning for PannerNode - ASSIGNED
- bug 865253 - (oscillatornode) Implement OscillatorNode - NEW
- bug 865256 - Implement WaveTable - REOPENED
- bug 865553 - Specific mp3 file does not decode correctly when using `decodeAudioData` - REOPENED
- bug 865642 - Intermittent test_delayNode.html,test_delayNodeWithGain.html,test_gainNode.html,test_scriptProcessorNode.html | Test timed out. - REOPENED
- bug 868116 - Intermittent test_currentTime.html | AudioContext.currentTime should have increased by now - REOPENED
- bug 874508 - Reconcile Web Audio with audio channels - NEW
- bug 877662 - Optimize the AudioNodeEngine.cpp routines - NEW
- bug 881092 - Cannot decode wave file - NEW
- bug 881587 - Optimize the AudioNodeEngine.cpp routines added in bug 815643 - NEW
- bug 881959 - Investigate support for cycles in the MediaStreamGraph with delay nodes present - NEW
- bug 882171 - Optimize the AudioNodeEngine.cpp routines for NEON - NEW
- bug 882543 - Create Web Audio benchmarks - NEW
- bug 883010 - Optimize MediaStreamGraphImpl::UpdateStreamOrder in order to optimize away how much time we spend on it in every iteration of the MSG - NEW
- bug 883844 - AudioBufferSourceNodes scheduled in a sequence aren't seamless - NEW
- bug 885496 - Optimize KissFFT with NEON instructions - NEW
- bug 885505 - Pref on Web Audio for Firefox 24 - NEW
- bug 886381 - WebAudio static with closely timed AudioBufferSourceNodes - UNCONFIRMED
- bug 890369 - WebAudio crash [@mozilla::StreamBuffer::FindTrack] - NEW
- Firefox 25 Aurora (pre-beta sign off) - 09/02/2013
- All the test cases were executed on the next OSs:
- Windows 7 64bit
- Windows 8 32bit
- Ubuntu 12.10 32bit
- Mac OSX 10.9
- Investigated:
- bug 890528 - DelayNode repeats last signal multiple times, does no delay
- bug 865239 - [Tracking] Finish implementing PannerNode
- bug 865241 - Implement HRTF panning for PannerNode
- bug 865253 - (oscillatornode) Implement OscillatorNode
- bug 865553 - Specific mp3 file does not decode correctly when using `decodeAudioData`
- bug 881092 - Cannot decode wave file
- bug 886381 - WebAudio static with closely timed AudioBufferSourceNodes
- bug 910045 - ScriptProcessorNode onaudioprocess sometimes fires too fast
- Concerns:
- bug 848954 - Call the MediaStreamGraph's processing code from the cubeb callback when needed - NEW
- bug 849636 - Handle invalid offset/duration passed to AudioBufferSourceNode.start the same way that WebKit does - ASSIGNED
- bug 857610 - Handle channel count changes in delay node - NEW
- bug 864171 - Problem in converting AudioParam times to track ticks - NEW
- bug 864780 - decodeAudioData fails to decode a wave file - NEW
- bug 865642 - Intermittent test_delayNode.html,test_delayNodeWithGain.html,test_gainNode.html,test_scriptProcessorNode.html | Test timed out. - REOPENED
- bug 868116 - Intermittent test_currentTime.html | AudioContext.currentTime should have increased by now - REOPENED
- bug 881587 - Optimize the AudioNodeEngine.cpp routines added in bug 815643 - NEW
- bug 883010 - Optimize MediaStreamGraphImpl::UpdateStreamOrder in order to optimize away how much time we spend on it in every iteration of the MSG - NEW
- bug 885496 - Optimize KissFFT with NEON instructions - NEW
- bug 923319 - Web Audio performance is extremely poor - NEW
- bug 898291 - PannerNode with HRTF should continue producing output a short time after it is GCed - NEW