[whatwg] Binary Streaming with XHR

Olli Pettay Olli.Pettay at helsinki.fi
Fri Aug 24 08:27:27 PDT 2012


(This all should go to WebApps WG)

In Gecko there is support for moz-chunked-arraybuffer
response type.



On 08/24/2012 03:23 AM, Jussi Kalliokoski wrote:
> Hello,
>
> I've got a little proposal to solve a problem we're facing with one of our
> codebases ( aurora.js [1], i.e. audio codecs in JavaScript ).
>
> We need to stream the audio files (you don't want to store a 2 hour long
> live stream in the memory or wait until a whole file is loaded before
> playing). Currently we're using partial requests to fetch the data, but
> it's very expensive both in terms of CPU (currently the streaming takes
> more CPU than the actual decoding, I suspect this is a sum of garbage
> collection and other factors) and network.
>
> My proposal is that we add a feature for streaming to XHRs that are of the
> arraybuffer response type.
>
> My first idea was that if you set a property called "chunkSize" on the XHR,
> it would start dispatching an event called "onchunk" whenever a chunk of
> that size has been loaded. That event would contain a property "chunk" that
> would be an array buffer containing that data. However, I'm having second
> thoughts on that approach as it is likely to produce a lot of garbage.
>
> Instead, my refined idea is that you'd set a "chunk" property on the XHR to
> an ArrayBuffer, and each time a chunk of the size of the "chunk" was ready,
> it would set the values of the "chunk" property accordingly and the
> "onchunk" event would be dispatched.
>
> Thoughts?
>
> Cheers,
> Jussi
>
> [1] https://github.com/ofmlabs/aurora.js
>




More information about the whatwg mailing list