summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/options.rst4
-rw-r--r--player/lua/ytdl_hook.lua5
2 files changed, 7 insertions, 2 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 0ffd6c783a..14a901751d 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -560,6 +560,10 @@ Program Behavior
which mpv should not use with youtube-dl. The patterns are matched after
the ``http(s)://`` part of the URL.
+ The `use_manifests` script option makes mpv use the master manifest URL for
+ formats like HLS and DASH, if available, allowing for video/audio selection
+ in runtime. It's disabled ("no") by default for performance reasons.
+
``^`` matches the beginning of the URL, ``$`` matches its end, and you
should use ``%`` before any of the characters ``^$()%|,.[]*+-?`` to match
that character.
diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua
index 59ffbd3b94..3c5068bfd7 100644
--- a/player/lua/ytdl_hook.lua
+++ b/player/lua/ytdl_hook.lua
@@ -4,7 +4,8 @@ local options = require 'mp.options'
local o = {
exclude = "",
- try_ytdl_first = false
+ try_ytdl_first = false,
+ use_manifests = false
}
options.read_options(o)
@@ -279,7 +280,7 @@ local function add_single_video(json)
local reqfmts = json["requested_formats"]
-- prefer manifest_url if present
- if valid_manifest(json) then
+ if o.use_manifests and valid_manifest(json) then
local mpd_url = reqfmts and reqfmts[1]["manifest_url"] or
json["manifest_url"]
if not mpd_url then