1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-31 19:52:16 +00:00
mpv/player
Dudemanguy 0b4a36476d loadfile: avoid infinite playlist loading loops
There are a number of ways one can craft a playlist file that refers to
itself or cleverly goes around in a loop to other playlist files. There
is obviously no use for this, but mpv spins around forever trying to
load the files so you have to just SIGTERM/SIGKILL it. We can be smarter
about this and attempt to detect it. The condition for detecting this is
surprisingly simple: the filename of the first entry in the playlist
must match a previous playlist path we stored. If we get this, we can
then log an error and stop playback. If there is a "real" file loaded at
any point in time, then we know it's not an infinite loop and clear out
the saved playlist paths. Fixes #3967.
2023-08-16 13:01:28 +00:00
..
javascript build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
lua stats.lua: use video-params/aspect-name 2023-08-13 15:04:33 +00:00
audio.c audio: drain ao before setting pause 2023-08-11 22:28:50 +00:00
client.c options: read config file as stream 2023-04-29 22:34:54 +00:00
client.h scripting: remove race condition when toggling internal scripts 2020-03-26 23:59:44 +01:00
command.c player: add playlist-path properties 2023-08-13 19:58:20 +00:00
command.h player: make deprecated track/chapter/metadata events internal 2021-12-15 12:29:10 +01:00
configfiles.c player: delete watch_later file after successful load 2023-07-08 14:33:47 +00:00
core.h loadfile: avoid infinite playlist loading loops 2023-08-16 13:01:28 +00:00
external_files.c external_files: add sbv to the sub whitelist 2023-08-10 13:50:34 -05:00
external_files.h player: add automatic loading of external cover art files 2020-09-28 00:12:52 +02:00
javascript.c build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
loadfile.c loadfile: avoid infinite playlist loading loops 2023-08-16 13:01:28 +00:00
lua.c build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
main.c player/main: do not print build time, if it is unknown 2023-08-02 18:51:13 +00:00
meson.build build: remove outdated generated directory 2023-07-31 19:00:06 +00:00
misc.c vo_wayland: fix warning -Wvoid-pointer-to-enum-cast 2023-02-26 16:45:07 +01:00
osd.c player: add --term-remaining-playtime option 2023-08-13 19:58:20 +00:00
playloop.c audio: drain ao before setting pause 2023-08-11 22:28:50 +00:00
screenshot.c screenshot: implement screenshot-window in sw for most VOs 2023-07-21 20:23:11 +02:00
screenshot.h player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
scripting.c player/scripting: fix use-after-free when loading script folders 2021-04-08 23:47:35 +03:00
sub.c sub: fix switching tracks while paused 2023-08-11 22:28:50 +00:00
video.c player/video: avoid spamming logs with EOF 2023-08-11 22:28:50 +00:00