mirror of https://github.com/mpv-player/mpv
options: do not accept ":" as separator anymore in key/value lists
Accepting ":" in addition to "," seems confusing and dumb. It only
causing problems when you want to pass a value that contains ":". Remove
support for ":", it is now treated like any other normal character. This
affects all options that are listed as "Key/value list" in the option
list.
It's possible that this breaks for someone who happened to use ":" as
separator. But this was undocumented, and never recommended. Originally,
the option treated many other characters in a special way, but this was
changed in commit a3d561f950
. I'm, not sure why ":" was explicitly
included. Maybe because -the absurd -vf/--af syntax uses ":" as list
separator. But "," was always recommended and used in examples for
key/value options.
Fixes: #8021 (if you consider it a bug)
This commit is contained in:
parent
0cea7b9ffb
commit
b3758db128
|
@ -77,6 +77,8 @@ Interface changes
|
||||||
- the "subprocess" command does not connect spawned processes' stdin to
|
- the "subprocess" command does not connect spawned processes' stdin to
|
||||||
mpv's stdin anymore. Instead, stdin is connected to /dev/null by default.
|
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.
|
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 ---
|
--- mpv 0.32.0 ---
|
||||||
- change behavior when using legacy option syntax with options that start
|
- change behavior when using legacy option syntax with options that start
|
||||||
with two dashes (``--`` instead of a ``-``). Now, using the recommended
|
with two dashes (``--`` instead of a ``-``). Now, using the recommended
|
||||||
|
|
|
@ -542,6 +542,13 @@ Suffix Meaning
|
||||||
Keys are unique within the list. If an already present key is set, the existing
|
Keys are unique within the list. If an already present key is set, the existing
|
||||||
key is removed before the new value is appended.
|
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
|
Filter options
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -1710,7 +1710,7 @@ static int parse_keyvalue_list(struct mp_log *log, const m_option_t *opt,
|
||||||
val = param;
|
val = param;
|
||||||
param.len = 0;
|
param.len = 0;
|
||||||
} else {
|
} else {
|
||||||
r = read_subparam(log, name, ",:", ¶m, &val);
|
r = read_subparam(log, name, ",", ¶m, &val);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue