summaryrefslogtreecommitdiffstats
path: root/player/lua
diff options
context:
space:
mode:
Diffstat (limited to 'player/lua')
-rw-r--r--player/lua/osc.lua2
-rw-r--r--player/lua/stats.lua4
-rw-r--r--player/lua/ytdl_hook.lua34
3 files changed, 30 insertions, 10 deletions
diff --git a/player/lua/osc.lua b/player/lua/osc.lua
index d79891b8c0..de492152b1 100644
--- a/player/lua/osc.lua
+++ b/player/lua/osc.lua
@@ -1538,6 +1538,8 @@ function osc_init()
end
osc_param.playresx = osc_param.playresy * osc_param.display_aspect
+ -- stop seeking with the slider to prevent skipping files
+ state.active_element = nil
diff --git a/player/lua/stats.lua b/player/lua/stats.lua
index f18f44af53..95a036d5c4 100644
--- a/player/lua/stats.lua
+++ b/player/lua/stats.lua
@@ -424,12 +424,14 @@ end
local function add_file(s)
- append(s, "", {prefix=o.nl .. o.nl .. "File:", nl="", indent=""})
+ append(s, "", {prefix="File:", nl="", indent=""})
append_property(s, "filename", {prefix_sep="", nl="", indent=""})
if not (mp.get_property_osd("filename") == mp.get_property_osd("media-title")) then
append_property(s, "media-title", {prefix="Title:"})
end
+ append_property(s, "file-format", {prefix="Format/Protocol:"})
+
local ch_index = mp.get_property_number("chapter")
if ch_index and ch_index >= 0 then
append_property(s, "chapter-list/" .. tostring(ch_index) .. "/title", {prefix="Chapter:"})
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
index cd9b61adda..9dd1dc34c9 100644
--- a/player/lua/ytdl_hook.lua
+++ b/player/lua/ytdl_hook.lua
@@ -314,8 +314,8 @@ local function add_single_video(json)
if track.vcodec and track.vcodec ~= "none" then
-- video track
streamurl = edl_track or track.url
- elseif track.acodec and track.acodec ~= "none" and track.vcodec == "none" then
- -- audio track
+ elseif track.vcodec == "none" then
+ -- according to ytdl, if vcodec is None, it's audio
mp.commandv("audio-add",
edl_track or track.url, "auto",
track.format_note or "")
@@ -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