mirror of
https://github.com/mpv-player/mpv
synced 2025-03-29 15:00:27 +00:00
It seems the so called demuxer cache wasn't really disabled for sub-demuxers (timeline stuff). This was relatively harmless, since the actual packet data was shared anyway via refcounting. But with the addition of a mmap cache backend, this may change a lot. So strictly disable any caching for sub-demuxers. This assumes that users of sub-demuxers (only demux_timeline.c by now?) strictly use demux_read_any_packet(), since demux_read_packet_async() will require some minor read-ahead if a low level packet read returned a packet for a different stream. This requires some awkward messing with this fucking heap of trash. The thing that is really wrong here is that the demuxer API mixes different concepts, and sub-demuxers get the same API as decoders, and use the cache code. |
||
---|---|---|
.. | ||
codec_tags.c | ||
codec_tags.h | ||
cue.c | ||
cue.h | ||
demux_cue.c | ||
demux_edl.c | ||
demux_lavf.c | ||
demux_libarchive.c | ||
demux_mf.c | ||
demux_mkv_timeline.c | ||
demux_mkv.c | ||
demux_null.c | ||
demux_playlist.c | ||
demux_raw.c | ||
demux_timeline.c | ||
demux.c | ||
demux.h | ||
ebml.c | ||
ebml.h | ||
matroska.h | ||
packet.c | ||
packet.h | ||
stheader.h | ||
timeline.c | ||
timeline.h |