Yesterday I landed bug 635649 on mozilla-central. This is a refactoring of the wave backend for the HTML audio element. The initial work on this bug was done by Matthew Gregan with me completing the patch.
Prior to this landing the wave backend implemented the HTML audio API itself, sharing very little implementation details with the other audio backends. This meant the backend had to implement the intricate details of what events get raised and when they get raised. When we wrote the WebM backend we refactored the code so we could share this sort of thing amongst backends. This bug refactored the wave backend to share this code.
The advantages of this are:
- Less likelihood of 'wave backend only' bugs.
- Less code to maintain.
- The Audio Data API can now use wave files as this was implemented in the shared backend code.