<div dir="ltr">Thanks Timothy.  Media Source Extensions were much easier and high-level than using WebAssembly with the Web Audio API.  Unfortunately, MSE does not support MIME "audio/ogg" and I had to put my OpusFiles into a WebM container file.  What could we do to get MSE support for Ogg Opus files?  I created this issue if it helps: <a href="https://github.com/w3c/media-source/issues/245" target="_blank">https://github.com/w3c/media-source/issues/245</a>.  Would be happy to initiate the process with the web platform folks.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 2, 2018 at 1:10 PM Timothy B. Terriberry <<a href="mailto:tterribe@xiph.org">tterribe@xiph.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Chris McGowan wrote:<br>
> All thoughts and contributions are welcome, and I'm planning to add a <br>
> seeking feature using HTTP range requests:<br>
> <a href="https://github.com/AnthumChris/opus-stream-decoder/issues/1" rel="noreferrer" target="_blank">https://github.com/AnthumChris/opus-stream-decoder/issues/1</a><br>
<br>
You may also be interested in <<a href="https://github.com/brion/ogv.js/" rel="noreferrer" target="_blank">https://github.com/brion/ogv.js/</a>> (if <br>
you're not already aware of it). There might be some useful <br>
collaboration possible.<br>
<br>
> ~140-220K Wasm binaries currently needed to do this.  Only complete <br>
> files can be downloaded with BaseAudioContext.decodeAudioData():<br>
> <a href="https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/decodeAudioData" rel="noreferrer" target="_blank">https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/decodeAudioData</a><br>
<br>
Maybe I'm confused, but I thought this was the purpose of the Media <br>
Source Extensions?<br>
<br>
If you can parse page boundaries with JS/WebAssembly, it is pretty <br>
simple to assemble a "complete" file from partial file contents by <br>
prepending the headers in the right place, but to get seamless playback <br>
between different chunks, you also need to maintain decoder state <br>
between them. decodeAudioData can't do that, but MSE should be able to?<br>
_______________________________________________<br>
opus mailing list<br>
<a href="mailto:opus@xiph.org" target="_blank">opus@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/opus" rel="noreferrer" target="_blank">http://lists.xiph.org/mailman/listinfo/opus</a><br>
</blockquote></div>