> HTTP based accesses instead will need some file-caching mechanism.
> 
> This is just a brain storming, so your storming back is highly appreciated.

There are two cases: seeking back, and seeking forward.  Seeking back
can be handled by a cache, or by the strategy below.  Seeking forward
can also be handled by reading the whole stream until you get to the seek
point; or by the strategy below.

HTTP provides a way to ask for byte ranges, so you can seek by, at
worst, closing the current TCP HTTP connection, and opening another
that asks for the new seek position.  See:

  http://en.wikipedia.org/wiki/Byte_serving

Or we could ask for the http stream in fairly short byte ranges,
perhaps 100K bytes at a time, giving us the chance to ask for a
different byte range after receiving each set of bytes we asked for.
(We can also pipeline those requests so that the server always has
something to send us, at the expense of taking more time to gobble
bytes we don't want before being able to seek.)

        John


  


_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev

Reply via email to