From 0da5688c84e33dee1ca0965521ed5c9b8a8e7320 Mon Sep 17 00:00:00 2001 From: Ricardo Constantino Date: Fri, 29 Dec 2017 17:14:36 +0000 Subject: ytdl_hook: fix single-entry playlists Close #5313 --- player/lua/ytdl_hook.lua | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index 8aef3e4540..f20eed70d1 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -396,12 +396,15 @@ mp.add_hook("on_load", 10, function () return end + local self_redirecting_url = + json.entries[1]["_type"] ~= "url_transparent" and + json.entries[1]["webpage_url"] and + json.entries[1]["webpage_url"] == json["webpage_url"] + -- some funky guessing to detect multi-arc videos - if (not (json.entries[1]["_type"] == "url_transparent")) and - (not (json.entries[1]["webpage_url"] == nil) - and (json.entries[1]["webpage_url"] == json["webpage_url"])) - and not (json.entries[1].url == nil) then + if self_redirecting_url and #json.entries > 1 + and json.entries[1].url then msg.verbose("multi-arc video detected, building EDL") local playlist = edl_track_joined(json.entries) @@ -446,11 +449,7 @@ mp.add_hook("on_load", 10, function () end end - elseif (not (json.entries[1]["_type"] == "url_transparent")) and - (not (json.entries[1]["webpage_url"] == nil) - and (json.entries[1]["webpage_url"] == json["webpage_url"])) - and (#json.entries == 1) then - + elseif self_redirecting_url then msg.verbose("Playlist with single entry detected.") add_single_video(json.entries[1]) else -- cgit v1.2.3