On 3.2.2012 8:24, Charles Pritchard wrote:
On 2/2/12 11:08 PM, Bronislav Klučka wrote:
On 3.2.2012 7:51, Charles Pritchard wrote:
I see no reason why an author should expect to stash 100MB of objects into createObjectURL, nor any reason why a UA could not manage 100MB for the application lifetime; the user can certainly be informed, as they are with other APIs, if the limit has gone beyond what the UA is comfortable with. That's always useful for debugging/development -- when infinite loops are a normal part of the web experience.
Well how about 1GB video :D or 100 high resolution images?
But as you say.... there's no reason, why desktop application (browser) should have any problem with it... And yes... there may be some disk space problems on rare cases, but such problems can appear in any regular usage of any program (well, there's simply no space left)...

We're going to be treating that video as a media stream via Blob URL.
Which is a good point -- it's going to be a Blob url of some sort but it is a special case.

That 1GB video is not getting loaded into RAM all at once.

A video blob is going to look like some cross of:
http://www.w3.org/TR/streamproc/#media-element-extensions
http://dev.w3.org/2011/webrtc/editor/webrtc.html
http://dev.w3.org/2011/webrtc/editor/webrtc.html#blobcallback

It's gonna be messy!

Remember, we've got createObjectURL(File) as well, and the mess that can cause, as recently discussed.
The underlying File data could disappear from the file system at any time

That in mind, my focus is on <img>.
And with 100 high res images, believe me: I'm using thumbnails.

Not only that, I'm packing 8 thumbnails into each blob/file.
So with 100 high res images, we're talking about 12 blobs, less than 60 megs.
A lot less now that JPEG is widely supported for Canvas.


-Charles

I've already mentioned somewhere before I hope Blob would be descendant of stream, I have no problem with reducing this issue to more generic one (stream). 1GB video would not be loaded to RAM, why would it? I see no point of doing that, as long as one can seek in underlying stream, there's no point. I was referring to "why an author should expect to stash 100MB of objects into createObjectURL", why not? if it's all cached on disc. author should not expect to have 3GB data in memory at once, but why would he/she? That is nothing one should be concern with.

"The underlying File data could disappear from the file system at any time"
Well.. they should not while they are managed by browser. And deleting the content by user (other application)? Well, I can go and simply delete all images on my server... and webpages would be displaying nothing for normal pages, server scripts working with such files could have problem. User can have image library desktop program displaying 20 images, then go, delete 15 of them from disk (while app is runnig) and trying to access those using this desktop program... problem for app. Special cases? Yes. Something new and unheard of? No... Programmer should be able to handle those. We can always have triad createObjectUrl, revokeObjectUrl and bool checkObjectUrl(DOMString aUrl).

Brona

Reply via email to