From 6bcdcaeeeabf3845bb69cadfb281089d434cb306 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 10 Nov 2017 12:37:19 +0100 Subject: demux: set default back buffer to some high value Some back buffer is required to make the immediate forward range seekable. This is because the back buffer limit is strictly enforced. Just set a rather high back buffer by default. It's not use if --demuxer-seekable-cache is disabled, so this is without risk. --- DOCS/man/options.rst | 4 +++- demux/demux.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 490b815415..64e467e11f 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -2866,7 +2866,9 @@ Demuxer is useful only if the ``--demuxer-seekable-cache`` option is enabled. Unlike the forward cache, there is no control how many seconds are actually cached - it will simply use as much memory this option allows. Setting this - option to 0 will strictly disable any back buffer. + option to 0 will strictly disable any back buffer, but this will lead to + the situation that the forward seek range starts after the current playback + position (as it removes past packets that are seek points). Keep in mind that other buffers in the player (like decoders) will cause the demuxer to cache "future" frames in the back buffer, which can skew the diff --git a/demux/demux.c b/demux/demux.c index 0075df8b72..2a46ac730f 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -111,7 +111,7 @@ const struct m_sub_options demux_conf = { .size = sizeof(struct demux_opts), .defaults = &(const struct demux_opts){ .max_bytes = 400 * 1024 * 1024, - .max_bytes_bw = 0, + .max_bytes_bw = 400 * 1024 * 1024, .min_secs = 1.0, .min_secs_cache = 10.0, .access_references = 1, -- cgit v1.2.3