diff options
author | wm4 <wm4@nowhere> | 2020-02-27 02:15:21 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-27 02:15:21 +0100 |
commit | b873f1f8e5a0d34defe4c7b975ec584377c731ac (patch) | |
tree | a57683b98a0c8f2df318bfb2c4f1771e05c2d8c8 /demux/demux.h | |
parent | c43fd88f5997821251bdeeca9700fa18c42049df (diff) | |
download | mpv-b873f1f8e5a0d34defe4c7b975ec584377c731ac.tar.bz2 mpv-b873f1f8e5a0d34defe4c7b975ec584377c731ac.tar.xz |
demux: avoid some queue management corner cases with subtitles
Subtitle tracks are usually "lazy" (ds->eager=false), There are a number
of weird special cases associated with it. One of them is that they have
some sort of "temporary" EOF (to signal that there isn't a packet right
now, and the decoder should not block playback by waiting for more
packets). In a the next commit, I want to call mark_stream_eof() in case
of (some) of these temporary EOFs.
The problem is that mark_stream_eof() also calls the functions touched
by this commit. Basically they shouldn't do any complex work due to
these temporary EOFs (because they might happen very often). It turns
out that lazy tracks barely matter here: they do not extend the seek
range of a packet/EOF happens on them, they do not trigger seek range
joining, and they do not support backward demuxing.
This change should enable the following commit, while not causing any
behavior changes (i.e. bugs) with the current state.
Diffstat (limited to 'demux/demux.h')
0 files changed, 0 insertions, 0 deletions