On Tue, Jul 6, 2010 at 10:59 AM, Philip Jägenstedt <span dir="ltr"><<a href="mailto:philipj@opera.com">philipj@opera.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On Tue, 06 Jul 2010 16:24:45 +0200, Marques Johansson <<a href="mailto:marques@displague.com" target="_blank">marques@displague.com</a>> wrote:<br>Some UAs request video without sending "Range: bytes 0-".  The server has no</div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
way to negotiate that the UA (a) must use ranges to complete the request or<br>
that (b) the range requested is too large, retry will a smaller range.<br>
</div></div></blockquote>
<br>
The first request is tricky for the browser too. Having no idea of how big the resource is or what the bitrate is, there is no bounded request that makes sense, in my opinion. The downside is that for a conservative approach, the only solution is to abort the connection half way through, with the server having no idea when this will happen. I haven't seen any negative effects of this in practice yet, but this thread has me thinking that it could be better. Handling a short reply gracefully would be a good start.</blockquote>

<div><br></div><div>For webm files, Chrome requests 0-1024 and then some block near the end of the file.  I assume that the meta data / time ranges are stored at these locations.  </div><div><br></div><div>As for bounded requests that make sense - I'm sure the server hosting the content could suggest something ;-)</div>

<div><br></div><div>I've tried having the server disconnect a HTTP/1.1 200 response by doing a php exit() before having sent the "Content-Length" specified number of bytes.  Browsers did not attempt to pick up where the server left off.</div>

<div><br></div><div>I think you are suggesting that the client disconnect but without scripting I don't really have control over that and if with scripting that doesn't seem doable unless the video element could be feed with an appendBytes() type of function. </div>

<div><br></div></div>