On 8/8/2011 2:51 PM, Glenn Maynard wrote:
On Mon, Aug 8, 2011 at 4:31 PM, Simon Heckmann <[email protected] <mailto:[email protected]>> wrote:

    Well, not directly an answer to your question, but the use case I
    had in mind is the following:

    A large encrypted video (e.g. HD movie with 2GB) file is stored
    using the File API, I then want to decrypt this file and start
    playing with only a minor delay. I do not want to decrypt the
    entire file before it can be viewed. As long as such as use case
    gets covered I am fine with everything.


Assuming you're thinking of DRM, are there any related use cases other than crypto? Encryption for DRM, at least, isn't a very compelling use case; client-side Javascript encryption is a very weak level of protection (putting aside, for now, the question of whether the web can or should be attempting to handle DRM in the first place). If it's not DRM you're thinking of, can you clarify?


Jonas Sickling brought up a few cases for XHR-based streaming of arraybuffers: progressive rendering of word docs and PDFs. WebP and WebM have had interesting packaging hacks. Packaging itself, whether DRM or not, is compelling. PDF supports embedded data, a wide range of formats. GPAC provides many related tools (MP4 based, I believe):
http://gpac.wp.institut-telecom.fr/

The audio and video tags drop frames
It seems to me that if a listener is not registered to the stream, data would just be dropped.

As an alternative, the author could register a fixed length circular buffer.

For instance, I could create 1 megabyte arrayview, run URL.createBlobStream(ArrayView) and use .append(data). That kind of structure may support multicast (multiple audio/video elements) and improved XHR2 semantics. The circular buffer, itself, is easy to prototype: subarray
works well with typed arrays.

Otherwise relevant, is the work on raw audio data
that Firefox and Chromium have released as experimental extensions.
It does work on a buffer-based system.

-Charles







Reply via email to