Mercurial > mplayer.hg
changeset 2348:76778e307ddc
EOF bug fixed
author | arpi |
---|---|
date | Sun, 21 Oct 2001 18:14:24 +0000 |
parents | f6a10f4b6119 |
children | e977b05a6fd5 |
files | libmpdemux/cache2.c |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/cache2.c Sun Oct 21 18:13:48 2001 +0000 +++ b/libmpdemux/cache2.c Sun Oct 21 18:14:24 2001 +0000 @@ -37,6 +37,7 @@ 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; // commands/locking: int cmd_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. @@ -67,6 +68,8 @@ if(newb<min_fill) min_fill=newb; // statistics... if(newb<=0){ + // eof? + if(s->eof) break; // waiting for buffer fill... usleep(10000); // 10ms continue; @@ -134,7 +137,8 @@ //len=stream_fill_buffer(s->stream); //memcpy(&s->buffer[pos],s->stream->buffer,len); // avoid this extra copy! // .... - stream_read(s->stream,&s->buffer[pos],space); len=space; + len=stream_read(s->stream,&s->buffer[pos],space); + if(!len) s->eof=1; s->max_filepos+=len; if(pos+len>=s->buffer_size){