diff options
author | wm4 <wm4@nowhere> | 2020-02-20 14:55:14 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-20 14:55:14 +0100 |
commit | f321d8da991177ffaa8842ef4a05ea2714265f28 (patch) | |
tree | c1d65dde8dd345aa5a506bb89de3d42736756eaf /player/lua/ytdl_hook.lua | |
parent | 89203cc994bb0f2009f8553f611da67486330cd2 (diff) | |
download | mpv-f321d8da991177ffaa8842ef4a05ea2714265f28.tar.bz2 mpv-f321d8da991177ffaa8842ef4a05ea2714265f28.tar.xz |
ytdl_hook: signal duration in all_formats mode
If all streams were delay loaded, there was actually no duration present
at all in the EDL metadata. So the length was considered unknown by the
player frontend.
Diffstat (limited to 'player/lua/ytdl_hook.lua')
-rw-r--r-- | player/lua/ytdl_hook.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua index 0215ad024e..687f765865 100644 --- a/player/lua/ytdl_hook.lua +++ b/player/lua/ytdl_hook.lua @@ -378,6 +378,7 @@ local function formats_to_edl(json, formats, use_all_formats) local url = edl_track or track.url local hdr = {"!new_stream", "!no_clip", "!no_chapters"} local as_muxed = false + local params = "" if use_all_formats then if interlaved_streams then @@ -407,10 +408,14 @@ local function formats_to_edl(json, formats, use_all_formats) edl_escape(track.format_note or "") .. ",byterate=" .. byterate separate_present[media_type] = true + + if duration > 0 then + params = params .. ",length=" .. duration + end end end - hdr[#hdr + 1] = edl_escape(url) + hdr[#hdr + 1] = edl_escape(url) .. params if as_muxed then muxed_present = true |