[Mplayer-cvslog] CVS: main/libmpdemux cache2.c,1.6,1.7

Arpi of Ize arpi at mplayer.dev.hu
Mon Oct 22 19:08:26 CEST 2001


Update of /cvsroot/mplayer/main/libmpdemux
In directory mplayer:/var/tmp.root/cvs-serv6440

Modified Files:
	cache2.c 
Log Message:
largefileization

Index: cache2.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/cache2.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- cache2.c	22 Oct 2001 16:09:34 -0000	1.6
+++ cache2.c	22 Oct 2001 17:08:24 -0000	1.7
@@ -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
-  // 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 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:
+  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_filepos<s->min_filepos){
+    if(s->read_filepos>=s->max_filepos || s->read_filepos<s->min_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(newb<min_fill) min_fill=newb; // statistics...
 
 //    printf("*** newb: %d bytes ***\n",newb);
@@ -104,9 +103,8 @@
 }
 
 int cache_fill(cache_vars_t* s){
-  int read,back,back2,newb,space,len,pos,endpos;
-  
-  read=s->read_filepos;
+  int back,back2,newb,space,len,pos,endpos;
+  off_t read=s->read_filepos;
   
   if(read<s->min_filepos || read>s->max_filepos){
       // seek...




More information about the MPlayer-cvslog mailing list