summaryrefslogtreecommitdiffstats
path: root/stream/cache2.c
diff options
context:
space:
mode:
Diffstat (limited to 'stream/cache2.c')
-rw-r--r--stream/cache2.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/stream/cache2.c b/stream/cache2.c
index 27147d00fb..8b35150321 100644
--- a/stream/cache2.c
+++ b/stream/cache2.c
@@ -360,9 +360,9 @@ static cache_vars_t* cache_init(int64_t size,int sector){
memset(s,0,sizeof(cache_vars_t));
num=size/sector;
- if(num < 16){
- num = 16;
- }//32kb min_size
+ if(num < 32){
+ num = 32;
+ }//64kb min_size
s->buffer_size=num*sector;
s->sector_size=sector;
s->buffer=shared_alloc(s->buffer_size);
@@ -583,14 +583,6 @@ int cache_stream_fill_buffer(stream_t *s){
}
-int cache_fill_status(stream_t *s) {
- cache_vars_t *cv;
- if (!s || !s->cache_data)
- return -1;
- cv = s->cache_data;
- return (cv->max_filepos-cv->read_filepos)/(cv->buffer_size / 100);
-}
-
int cache_stream_seek_long(stream_t *stream,int64_t pos){
cache_vars_t* s;
int64_t newpos;
@@ -626,6 +618,12 @@ int cache_do_control(stream_t *stream, int cmd, void *arg) {
int pos_change = 0;
cache_vars_t* s = stream->cache_data;
switch (cmd) {
+ case STREAM_CTRL_GET_CACHE_SIZE:
+ *(int64_t *)arg = s->buffer_size;
+ return STREAM_OK;
+ case STREAM_CTRL_GET_CACHE_FILL:
+ *(int64_t *)arg = s->max_filepos - s->read_filepos;
+ return STREAM_OK;
case STREAM_CTRL_SEEK_TO_TIME:
s->control_double_arg = *(double *)arg;
s->control = cmd;