From: Frédéric Bonnet on 22 Mar 2010 17:17 Donal K. Fellows wrote: > On 20 Mar, 15:44, "Donal K. Fellows" > <donal.k.fell...(a)manchester.ac.uk> wrote: >> I wasn't aware of the limitation before now, but it's now fixed (I >> think; testing very large files isn't very portable) in the CVS HEAD. >> Also, you would have had problems with the reported number of bytes >> transferred when using no -size as that was an int too. > > BTW, there's no plan to backport this to 8.5 because it impacts an > exported (but unsupported) API. Workaround is just to work with chunks > smaller than 2GB at the script level, and then write Tcl code to > handle doing more than that by calling [fcopy] repeatedly. Cool! As for 8.5 and older, the workaround works perfectly anyway and is simple to code.
From: Frédéric Bonnet on 22 Mar 2010 18:21 Tcl Bliss wrote: > That's interesting. Implementing "Range:" functionality has been on my > to-do list. Haven't gotten to it yet. > BTW, which media player/file combination support "Range:" requests? I > wasn't aware there were any, except for, may be, Ipod/Iphone. I'm testing my app on the "Freebox HD" IPTV set-top box (from the French ISP "Free"), which embeds a UPnP A/V client. My server gets such requests with media types that have metadata at the end of the file, like Matroska and AVI containers. The Freebox issues two concurrent HTTP requests: one main request for the data stream proper, and a second one with Range: headers for the metadata. The djmount Linux user-space filesystem driver also sends "Range:" headers to emulate seek calls on files mapped from a UPnP A/V Media Server.
From: Donal K. Fellows on 22 Mar 2010 19:43
On 22 Mar, 21:17, Frédéric Bonnet <fredericbon...(a)free.fr> wrote: > Cool! As for 8.5 and older, the workaround works perfectly anyway and > is simple to code. Yes. But I *did* commit code to 8.5 so that if a transfer over 2GB happens (can only be in the no-size-asked-for case I think) then the result will be of the correct reported size. That doesn't break any API (unlike the other, alas). OTOH, I reckon that if you're doing a big data transfer, it's probably a good idea anyway to put in progress metering every megabyte or so. If nothing else, it lets you report current actual transfer rates and estimate the time left. :-) Donal. |