# HG changeset patch # User arpi # Date 1003770504 0 # Node ID eb6f7012585106db34d5c40354e50f7cd7dc9ca4 # Parent 463da8544d23869d63fb6a78ea753ecf75506b80 largefileization diff -r 463da8544d23 -r eb6f70125851 libmpdemux/cache2.c --- a/libmpdemux/cache2.c Mon Oct 22 17:07:40 2001 +0000 +++ b/libmpdemux/cache2.c Mon Oct 22 17:08:24 2001 +0000 @@ -31,13 +31,13 @@ int sector_size; // size of a single sector (2048/2324) int back_size; // we should keep back_size amount of old bytes for backward seek int fill_limit; // we should fill buffer only if space>=fill_limit + // filler's pointers: + int eof; + off_t min_filepos; // buffer contain only a part of the file, from min-max pos + off_t max_filepos; + off_t offset; // filepos <-> bufferpos offset value (filepos of the buffer's first byte) // reader's pointers: - int read_filepos; - // filler's pointers: - int min_filepos; // buffer contain only a part of the file, from min-max pos - int max_filepos; - int offset; // filepos <-> bufferpos offset value (filepos of the buffer's first byte) - int eof; + off_t read_filepos; // commands/locking: // int seek_lock; // 1 if we will seek/reset buffer, 2 if we are ready for cmd // int fifo_flag; // 1 if we should use FIFO to notice cache about buffer reads. @@ -63,9 +63,7 @@ //printf("CACHE2_READ: 0x%X <= 0x%X <= 0x%X \n",s->min_filepos,s->read_filepos,s->max_filepos); - newb=s->max_filepos-s->read_filepos; // new bytes in the buffer - - if(newb<=0 || s->read_fileposmin_filepos){ + if(s->read_filepos>=s->max_filepos || s->read_fileposmin_filepos){ // eof? if(s->eof) break; // waiting for buffer fill... @@ -73,6 +71,7 @@ continue; // try again... } + newb=s->max_filepos-s->read_filepos; // new bytes in the buffer if(newbread_filepos; + int back,back2,newb,space,len,pos,endpos; + off_t read=s->read_filepos; if(readmin_filepos || read>s->max_filepos){ // seek...