From 29647880551c7b15944d6299a2cd5d502a4efb88 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 20 Dec 2017 05:50:42 +0100 Subject: 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.) --- DOCS/interface-changes.rst | 3 +++ DOCS/man/options.rst | 2 ++ options/m_option.h | 5 +++-- options/options.c | 9 ++++++--- player/command.c | 2 ++ 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst index 7fb6942eeb..c104e8a01d 100644 --- a/DOCS/interface-changes.rst +++ b/DOCS/interface-changes.rst @@ -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 diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 77b402590d..b3acfaabbe 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -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=`` (Matroska files only) Specify the edition (set of chapters) to use, where 0 is the first. If set diff --git a/options/m_option.h b/options/m_option.h index 104fd9519c..d61fde963d 100644 --- a/options/m_option.h +++ b/options/m_option.h @@ -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) diff --git a/options/options.c b/options/options.c index 63cd93c53f..af55529260 100644 --- a/options/options.c +++ b/options/options.c @@ -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"), diff --git a/player/command.c b/player/command.c index 9de5e251f6..7830c9fb0b 100644 --- a/player/command.c +++ b/player/command.c @@ -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; -- cgit v1.2.3