options: deprecate --ff- options and properties

Some old crap which nobody needs and which probably nobody uses.

This relies on a GCC extension: using "## __VA_ARGS__" to remove the
comma from the argument list if the va args are empty. It's supported
by clang, and there's some chance newer standards will introduce a
proper way to do this. (Even if it breaks somewhere, it will be a
problem only for 1 release, since I want to drop the deprecated
properties immediately.)
This commit is contained in:
wm4 2017-12-20 05:50:42 +01:00 committed by Martin Herkt
parent 688768b9bd
commit 2964788055
No known key found for this signature in database
GPG Key ID: C24B9CD04DC6AE7F
5 changed files with 16 additions and 5 deletions

View File

@ -61,6 +61,9 @@ Interface changes
introspection of the option/property), also affects some properties
- rename --hwdec=rpi to --hwdec=mmal, sane for the -copy variant (no
backwards compatibility)
- deprecate the --ff-aid, --ff-vid, -ff-sid options and properties (there is
no replacement, but you can manually query the track property and use the
"ff-index" field to find the mpv track ID to imitate this behavior)
--- mpv 0.27.0 ---
- drop previously deprecated --field-dominance option
- drop previously deprecated "osd" command

View File

@ -73,6 +73,8 @@ Track Selection
options), there will be streams with duplicate IDs. In this case, the
first stream in order is selected.
Deprecated.
``--edition=<ID|auto>``
(Matroska files only)
Specify the edition (set of chapters) to use, where 0 is the first. If set

View File

@ -670,8 +670,9 @@ extern const char m_option_path_separator;
#define OPT_SIZE_BOX(...) \
OPT_GENERAL(struct m_geometry, __VA_ARGS__, .type = &m_option_type_size_box)
#define OPT_TRACKCHOICE(name, var) \
OPT_CHOICE_OR_INT(name, var, 0, 0, 8190, ({"no", -2}, {"auto", -1}))
#define OPT_TRACKCHOICE(name, var, ...) \
OPT_CHOICE_OR_INT(name, var, 0, 0, 8190, ({"no", -2}, {"auto", -1}), \
## __VA_ARGS__)
#define OPT_ASPECT(...) \
OPT_GENERAL(float, __VA_ARGS__, .type = &m_option_type_aspect)

View File

@ -323,9 +323,12 @@ const m_option_t mp_opts[] = {
OPT_TRACKCHOICE("vid", stream_id[0][STREAM_VIDEO]),
OPT_TRACKCHOICE("sid", stream_id[0][STREAM_SUB]),
OPT_TRACKCHOICE("secondary-sid", stream_id[1][STREAM_SUB]),
OPT_TRACKCHOICE("ff-aid", stream_id_ff[STREAM_AUDIO]),
OPT_TRACKCHOICE("ff-vid", stream_id_ff[STREAM_VIDEO]),
OPT_TRACKCHOICE("ff-sid", stream_id_ff[STREAM_SUB]),
OPT_TRACKCHOICE("ff-aid", stream_id_ff[STREAM_AUDIO],
.deprecation_message = "no replacement"),
OPT_TRACKCHOICE("ff-vid", stream_id_ff[STREAM_VIDEO],
.deprecation_message = "no replacement"),
OPT_TRACKCHOICE("ff-sid", stream_id_ff[STREAM_SUB],
.deprecation_message = "no replacement"),
OPT_ALIAS("sub", "sid"),
OPT_ALIAS("video", "vid"),
OPT_ALIAS("audio", "aid"),

View File

@ -2193,6 +2193,8 @@ static int property_switch_track_ff(void *ctx, struct m_property *prop,
*(int *) arg = track ? track->ff_index : -2;
return M_PROPERTY_OK;
case M_PROPERTY_SET: {
MP_WARN(mpctx, "Warning: property '%s' is deprecated and "
"will be removed in the future.\n", prop->name);
int id = *(int *)arg;
if (mpctx->playback_initialized) {
track = NULL;