mpv/DOCS/man
wm4 10d0963d85 demux: improve and optimize cache pruning and seek range determination
The main purpose of this commit is avoiding any hidden O(n^2) algorithms
in the code for pruning the demuxer cache, and for determining the
seekable boundaries of the cache. The old code could loop over the whole
packet queue on every packet pruned in certain corner cases.

There are two ways how to reach the goal:
 1) commit a cardinal sin
 2) do everything incrementally

The cardinal sin is adding an extra field to demux_packet, which caches
the determined seekable range for a keyframe range. demux_packet is a
rather general data structure and thus shouldn't have any fields that
are not inherent to its use, and are only needed as an implementation
detail of code using it. But what are you gonna do, sue me?

In the future, demux.c might have its own packet struct though. Then the
other existing cardinal sin (the "next" field, from MPlayer times) could
be removed as well.

This commit also changes slightly how the seek end is determined. There
is a note on the manpage in case anyone finds the new behavior
confusing. It's somewhat cleaner and  might be needed for supporting
multiple ranges (although that's unclear).
2017-11-04 23:18:42 +01:00
..
af.rst af, vf: improvements to libavfilter bridge 2017-05-31 17:42:55 +02:00
ao.rst ao_rsound: allow setting the host 2017-08-21 15:46:00 +02:00
changes.rst manpage: mention the client API/interface change logs 2016-09-02 09:48:35 +02:00
encode.rst man: fix grammar issues 2015-12-19 09:26:41 +01:00
input.rst demux: improve and optimize cache pruning and seek range determination 2017-11-04 23:18:42 +01:00
ipc.rst manpage: document tricky issue with IPC observe_property command 2017-05-16 12:20:39 +02:00
javascript.rst manpage: upcase JavaScript for section title case consistency. 2017-07-17 15:42:10 +03:00
libmpv.rst manpage: define stricter rules for C plugin return values 2017-01-14 17:41:04 +01:00
lua.rst manpage: replace gendered pronouns 2017-04-19 16:05:56 +02:00
mpv.rst stats: add documentation 2017-10-09 20:48:44 +02:00
options.rst demux: add option to create CC tracks eagerly 2017-11-03 13:55:32 +01:00
osc.rst osc: add user_opts.boxmaxchars for box layout title limit 2017-04-19 20:35:58 +01:00
stats.rst stats: clarify documentation 2017-10-13 00:28:41 +02:00
vf.rst vf_eq: remove this filter 2017-08-22 15:58:49 +02:00
vo.rst Add DRM_PRIME Format Handling and Display for RockChip MPP decoders 2017-10-23 21:07:24 +02:00