[opus] WebAssembly Opus Decoder

Timothy B. Terriberry tterribe at xiph.org
Fri Nov 2 19:10:35 UTC 2018

Chris McGowan wrote:
> All thoughts and contributions are welcome, and I'm planning to add a 
> seeking feature using HTTP range requests:
> https://github.com/AnthumChris/opus-stream-decoder/issues/1

You may also be interested in <https://github.com/brion/ogv.js/> (if 
you're not already aware of it). There might be some useful 
collaboration possible.

> ~140-220K Wasm binaries currently needed to do this.  Only complete 
> files can be downloaded with BaseAudioContext.decodeAudioData():
> https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/decodeAudioData

Maybe I'm confused, but I thought this was the purpose of the Media 
Source Extensions?

If you can parse page boundaries with JS/WebAssembly, it is pretty 
simple to assemble a "complete" file from partial file contents by 
prepending the headers in the right place, but to get seamless playback 
between different chunks, you also need to maintain decoder state 
between them. decodeAudioData can't do that, but MSE should be able to?

More information about the opus mailing list