changeset 31305:7ae56026b7ee

Respect -cache-seek-min also for on-disk files to reduce issues with mov.
author reimar
date Sat, 12 Jun 2010 07:05:22 +0000
parents 0ee3a65450b2
children 22f0516ed90a
files stream/cache2.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/stream/cache2.c	Fri Jun 11 15:19:42 2010 +0000
+++ b/stream/cache2.c	Sat Jun 12 07:05:22 2010 +0000
@@ -181,9 +181,11 @@
   if(read<s->min_filepos || read>s->max_filepos){
       // seek...
       mp_msg(MSGT_CACHE,MSGL_DBG2,"Out of boundaries... seeking to 0x%"PRIX64"  \n",(int64_t)read);
-      // streaming: drop cache contents only if seeking backward or too much fwd:
-      if(s->stream->type!=STREAMTYPE_STREAM ||
-          read<s->min_filepos || read>=s->max_filepos+s->seek_limit)
+      // drop cache contents only if seeking backward or too much fwd.
+      // This is also done for on-disk files, since it loses the backseek cache.
+      // That in turn can cause major bandwidth increase and performance
+      // issues with e.g. mov or badly interleaved files
+      if(read<s->min_filepos || read>=s->max_filepos+s->seek_limit)
       {
         s->offset= // FIXME!?
         s->min_filepos=s->max_filepos=read; // drop cache content :(