From 87d3af6f1960f875aa4dc7ad4ffa2ce329562c07 Mon Sep 17 00:00:00 2001 From: Ricardo Constantino Date: Sun, 7 Jan 2018 15:56:55 +0000 Subject: ytdl_hook: add script option to revert to trying youtube-dl first Should only make a difference if most of the URLs you open need youtube-dl parsing. --- DOCS/man/options.rst | 5 +++++ player/lua/ytdl_hook.lua | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index cc65ea98c3..cfe41fbf67 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -552,6 +552,11 @@ Program Behavior If the script can't do anything with an URL, it will do nothing. + The `try_ytdl_first` script option accepts a boolean 'yes' or 'no', and if + 'yes' will try parsing the URL with youtube-dl first, instead of the default + where it's only after mpv failed to open it. This mostly depends on whether + most of your URLs need youtube-dl parsing. + The `exclude` script option accepts a ``|``-separated list of URL patterns which mpv should not use with youtube-dl. The patterns are matched after the ``http(s)://`` part of the URL. diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index 74095e8e57..ee7a4e37fd 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -3,7 +3,8 @@ local msg = require 'mp.msg' local options = require 'mp.options' local o = { - exclude = "" + exclude = "", + try_ytdl_first = false } options.read_options(o) @@ -301,7 +302,7 @@ local function add_single_video(json) end end -mp.add_hook("on_load_fail", 10, function () +mp.add_hook(try_ytdl_first and "on_load" or "on_load_fail", 10, function () local url = mp.get_property("stream-open-filename") local start_time = os.clock() if (url:find("ytdl://") == 1) or -- cgit v1.2.3