From 1ae17074bd38bb16ff65c5d412241f8fe5f72faa Mon Sep 17 00:00:00 2001 From: Chris Down Date: Sat, 18 Jan 2020 22:39:08 +0000 Subject: player: check if file is URL before attempting to get mtime I noticed an oversight when using ytdl-hook -- if the path is a URL, we try to `stat()` it, which obviously doesn't work. To mitigate that, don't check or update mtimes for URLs. --- player/configfiles.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/player/configfiles.c b/player/configfiles.c index 95fa5938e0..bf27641954 100644 --- a/player/configfiles.c +++ b/player/configfiles.c @@ -319,7 +319,8 @@ static void write_redirect(struct MPContext *mpctx, char *path) fclose(file); } - if (mpctx->opts->position_check_mtime && !copy_mtime(path, conffile)) + if (mpctx->opts->position_check_mtime && + !mp_is_url(bstr0(path)) && !copy_mtime(path, conffile)) MP_WARN(mpctx, "Can't copy mtime from %s to %s\n", path, conffile); talloc_free(conffile); @@ -381,6 +382,7 @@ void mp_write_watch_later_conf(struct MPContext *mpctx) fclose(file); if (mpctx->opts->position_check_mtime && + !mp_is_url(bstr0(cur->filename)) && !copy_mtime(cur->filename, conffile)) { MP_WARN(mpctx, "Can't copy mtime from %s to %s\n", cur->filename, @@ -428,7 +430,8 @@ void mp_load_playback_resume(struct MPContext *mpctx, const char *file) return; char *fname = mp_get_playback_resume_config_filename(mpctx, file); if (fname && mp_path_exists(fname)) { - if (mpctx->opts->position_check_mtime && !check_mtime(file, fname)) { + if (mpctx->opts->position_check_mtime && + !mp_is_url(bstr0(file)) && !check_mtime(file, fname)) { talloc_free(fname); return; } -- cgit v1.2.3