diff options
author | wm4 <wm4@nowhere> | 2013-07-10 15:03:54 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-07-10 15:05:24 +0200 |
commit | 175cd3cb570525fd4ed8f6ec66e3a66a461cc896 (patch) | |
tree | efd5b88dfc15f077601aa899c45f5a21be69f925 /stream/stream.c | |
parent | 1d48b11478b346411d57b8fee1c242591f9b83c5 (diff) | |
download | mpv-175cd3cb570525fd4ed8f6ec66e3a66a461cc896.tar.bz2 mpv-175cd3cb570525fd4ed8f6ec66e3a66a461cc896.tar.xz |
options: add --cache-default option
Add this option, which lets users set the cache size without forcing it
even when playing from the local filesystem.
Also document the default value explicitly.
The Matroska linked segments case is slightly simplified: they can
never come from network (mostly because it'd be insane, and we can't
even list files from network sources), so the cache will never be
enabled automatically.
Diffstat (limited to 'stream/stream.c')
-rw-r--r-- | stream/stream.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/stream/stream.c b/stream/stream.c index 3dc25d7880..c1e88a0796 100644 --- a/stream/stream.c +++ b/stream/stream.c @@ -172,11 +172,6 @@ static stream_t *open_stream_plugin(const stream_info_t *sinfo, if (!s->read_chunk) s->read_chunk = 4 * (s->sector_size ? s->sector_size : STREAM_BUFFER_SIZE); - if (s->streaming && !s->cache_size) { - // Set default cache size to use if user does not specify it. - s->cache_size = 320; - } - if (s->type <= -2) mp_msg(MSGT_OPEN, MSGL_WARN, "Warning streams need a type !!!!\n"); if (!s->seek) @@ -661,16 +656,22 @@ stream_t *open_memory_stream(void *data, int len) return s; } +static int stream_enable_cache(stream_t **stream, int64_t size, int64_t min, + int64_t seek_limit); + +/** + * \return 1 on success, 0 if the function was interrupted and -1 on error, or + * if the cache is disabled + */ int stream_enable_cache_percent(stream_t **stream, int64_t stream_cache_size, + int64_t stream_cache_def_size, float stream_cache_min_percent, float stream_cache_seek_min_percent) { - if (stream_cache_size == -1) - stream_cache_size = (*stream)->cache_size; + stream_cache_size = (*stream)->streaming ? stream_cache_def_size : 0; stream_cache_size = stream_cache_size * 1024; // input is in KiB - return stream_enable_cache(stream, stream_cache_size, stream_cache_size * (stream_cache_min_percent / 100.0), @@ -678,12 +679,8 @@ int stream_enable_cache_percent(stream_t **stream, int64_t stream_cache_size, (stream_cache_seek_min_percent / 100.0)); } -/** - * \return 1 on success, 0 if the function was interrupted and -1 on error, or - * if the cache is disabled - */ -int stream_enable_cache(stream_t **stream, int64_t size, int64_t min, - int64_t seek_limit) +static int stream_enable_cache(stream_t **stream, int64_t size, int64_t min, + int64_t seek_limit) { stream_t *orig = *stream; |