mirror of https://github.com/mpv-player/mpv
884c179177
This is for situations when repeated attempts at playing a playlist entry failed, and playlist navigation becomes impossible due to that. For example, it wasn't possible to skip backwards past an unplayable playlist entry: mpv file1.mkv doesntexist.mkv file3.mkv You couldn't skip back to file1.mkv from file3.mkv. When running a single "playlist_prev" command, doesntexist.mkv would be played, which would fail to load. As reaction to the failure to load it, the next file would be played, which is file3.mkv. To make this even worse, the file could successfully load, but run only for a split second. So just loading successfully isn't good enough. Attempt to solve this by marking problematic playlist entries as failed, and by having playlist_prev skip past such playlist entries. We define failure as not being able to play more than 3 seconds (or failing to initialize to begin with). (The 3 seconds are in real time, not file duration.) "playlist_prev force" still exhibits the old behavior. Additionally, use the same mechanism to prevent pointless infinite reloading if none of the files on the playlist exist. (See github issue All in all, this is a heuristic, and later adjustments might be necessary. Note: forward skips (playlist_next) are not affected at all. (Except for the interaction with --loop.) |
||
---|---|---|
.. | ||
input | ||
timeline | ||
asxparser.c | ||
asxparser.h | ||
av_common.c | ||
av_common.h | ||
av_log.c | ||
av_log.h | ||
av_opts.c | ||
av_opts.h | ||
bstr.c | ||
bstr.h | ||
charset_conv.c | ||
charset_conv.h | ||
codecs.c | ||
codecs.h | ||
command.c | ||
command.h | ||
cpudetect.c | ||
cpudetect.h | ||
encode.h | ||
encode_lavc.c | ||
encode_lavc.h | ||
m_config.c | ||
m_config.h | ||
m_option.c | ||
m_option.h | ||
m_property.c | ||
m_property.h | ||
mp_common.c | ||
mp_common.h | ||
mp_core.h | ||
mp_memory_barrier.h | ||
mp_msg.c | ||
mp_msg.h | ||
mp_osd.h | ||
mp_ring.c | ||
mp_ring.h | ||
mp_talloc.h | ||
mplayer.c | ||
mpv_global.h | ||
options.c | ||
options.h | ||
parser-cfg.c | ||
parser-cfg.h | ||
parser-mpcmd.c | ||
parser-mpcmd.h | ||
path.c | ||
path.h | ||
playlist.c | ||
playlist.h | ||
playlist_parser.c | ||
playlist_parser.h | ||
resolve.h | ||
resolve_quvi.c | ||
resolve_quvi9.c | ||
screenshot.c | ||
screenshot.h | ||
version.c |