diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index bad810bef0..549c338ada 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -77,6 +77,8 @@ Interface changes - the "subprocess" command does not connect spawned processes' stdin to mpv's stdin anymore. Instead, stdin is connected to /dev/null by default. To get the old behavior, set the "passthrough_stdin" argument to true. + - key/value list options do not accept ":" as item separator anymore, + only ",". This means ":" is always considered part of the value. --- mpv 0.32.0 --- - change behavior when using legacy option syntax with options that start with two dashes (``--`` instead of a ``-``). Now, using the recommended diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst index dc61394ff7..c068f87ece 100644 --- a/DOCS/man/mpv.rst +++ b/DOCS/man/mpv.rst @@ -542,6 +542,13 @@ Suffix Meaning Keys are unique within the list. If an already present key is set, the existing key is removed before the new value is appended. +If you want to pass a value without interpreting it for escapes or ``,``, it is +recommended to use the ``-add`` variant. When using libmpv, prefer using +``MPV_FORMAT_NODE_MAP``; when using a scripting backend or the JSON IPC, use an +appropriate structured data type. + +Prior to mpv 0.33, ``:`` was also recognized as separator by ``-set``. + Filter options ~~~~~~~~~~~~~~ diff --git a/options/m_option.c b/options/m_option.c index 9b0fd82779..4d222df500 100644 --- a/options/m_option.c +++ b/options/m_option.c @@ -1710,7 +1710,7 @@ static int parse_keyvalue_list(struct mp_log *log, const m_option_t *opt, val = param; param.len = 0; } else { - r = read_subparam(log, name, ",:", ¶m, &val); + r = read_subparam(log, name, ",", ¶m, &val); if (r < 0) break; }