diff options
author | wm4 <wm4@nowhere> | 2015-09-10 14:10:44 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-09-10 14:15:45 +0200 |
commit | 2492b5f1198161a04b046554df79390eb312ca5c (patch) | |
tree | df27c35d28d6ae49c439e2322a15310e7d124bc9 | |
parent | d3bd5c9541af3618130f5269005f7b6fdf8e209a (diff) |
cache: do not include backbuffer size in total stream cache size
This causes weirdness with the "cache-size" property and option. Only
the read handler of the property included the backbuffer, while all
others did not. Make it consistent, and subtract the backbuffer size
from the cache size.
Fixes #2305.
-rw-r--r-- | DOCS/man/input.rst | 4 | ||||
-rw-r--r-- | stream/cache.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst index c49587eabf..b1ac03734c 100644 --- a/DOCS/man/input.rst +++ b/DOCS/man/input.rst @@ -1111,11 +1111,13 @@ Property list Network cache fill state (0-100.0). ``cache-size`` (RW) - Total network cache size in KB. This is similar to ``--cache``. This allows + Network cache size in KB. This is similar to ``--cache``. This allows to set the cache size at runtime. Currently, it's not possible to enable or disable the cache at runtime using this property, just to resize an existing cache. + This does not include the backbuffer size (changed after mpv 0.10.0). + Note that this tries to keep the cache contents as far as possible. To make this easier, the cache resizing code will allocate the new cache while the old cache is still allocated. diff --git a/stream/cache.c b/stream/cache.c index 43b7eba329..c4eaa6e261 100644 --- a/stream/cache.c +++ b/stream/cache.c @@ -367,7 +367,7 @@ static int cache_get_cached_control(stream_t *cache, int cmd, void *arg) struct priv *s = cache->priv; switch (cmd) { case STREAM_CTRL_GET_CACHE_SIZE: - *(int64_t *)arg = s->buffer_size; + *(int64_t *)arg = s->buffer_size - s->back_size; return STREAM_OK; case STREAM_CTRL_GET_CACHE_FILL: *(int64_t *)arg = s->max_filepos - s->read_filepos; |