From d8131568c8c900b62103f11846d149877654f2d9 Mon Sep 17 00:00:00 2001 From: Ricardo Constantino Date: Fri, 17 Aug 2018 19:18:13 +0100 Subject: ytdl_hook: always load ytdl:// links with ytdl_hook first Suggested in IRC by sfan5. --- player/lua/ytdl_hook.lua | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'player') diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index cd9b61adda..d00364c999 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -429,12 +429,7 @@ local function add_single_video(json) mp.set_property_native("file-local-options/stream-lavf-o", stream_opts) end -mp.add_hook(o.try_ytdl_first and "on_load" or "on_load_fail", 10, function () - local url = mp.get_property("stream-open-filename", "") - if not (url:find("ytdl://") == 1) and - not ((url:find("https?://") == 1) and not is_blacklisted(url)) then - return - end +function run_ytdl_hook(url) local start_time = os.clock() -- check for youtube-dl in mpv's config dir @@ -655,8 +650,29 @@ mp.add_hook(o.try_ytdl_first and "on_load" or "on_load_fail", 10, function () add_single_video(json) end msg.debug('script running time: '..os.clock()-start_time..' seconds') -end) +end +if (not o.try_ytdl_first) then + mp.add_hook("on_load", 10, function () + msg.verbose('ytdl:// hook') + local url = mp.get_property("stream-open-filename", "") + if not (url:find("ytdl://") == 1) then + msg.verbose('not a ytdl:// url') + return + end + run_ytdl_hook(url) + end) +end + +mp.add_hook(o.try_ytdl_first and "on_load" or "on_load_fail", 10, function() + msg.verbose('full hook') + local url = mp.get_property("stream-open-filename", "") + if not (url:find("ytdl://") == 1) and + not ((url:find("https?://") == 1) and not is_blacklisted(url)) then + return + end + run_ytdl_hook(url) +end) mp.add_hook("on_preloaded", 10, function () if next(chapter_list) ~= nil then -- cgit v1.2.3