summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-08-31 17:39:30 +0200
committerwm4 <wm4@nowhere>2016-08-31 22:16:43 +0200
commit2057209057555dc138422daa354fe8db816c629c (patch)
tree62dd2e172da9ae4fdb0c8057f5558cba4f83ae0a /options
parentb10dcecf7d71a076525bc2ac4b6bd72f4c453278 (diff)
downloadmpv-2057209057555dc138422daa354fe8db816c629c.tar.bz2
mpv-2057209057555dc138422daa354fe8db816c629c.tar.xz
m_config: deprecate top-level suboptions
This is a really old weird MPlayer feature. While the MPlayer requires you to use the sub-option syntax in these cases, mpv "flattens" them to normal options. The still-supported alternate sub-option syntax remains a weird artifact that hopefully nobody uses. For example you can do "-sub-text font=Foo:color=0.5" instead of using "--sub-text-font=Foo --sub-text-color=0.5". For --sub-text this is an accidental feature, but it used to be documented for --demuxer-rawaudio and some others. This should just be removed, but for now only print a warning to preempt complaints from weird users wanting this feature back.
Diffstat (limited to 'options')
-rw-r--r--options/m_config.c5
-rw-r--r--options/m_config.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/options/m_config.c b/options/m_config.c
index d1bb72c13b..4912b21cf6 100644
--- a/options/m_config.c
+++ b/options/m_config.c
@@ -626,6 +626,11 @@ static int m_config_parse_option(struct m_config *config, struct bstr name,
// Option with children are a bit different to parse
if (co->opt->type->flags & M_OPT_TYPE_HAS_CHILD) {
char prefix[110];
+ if (!config->subopt_deprecation_warning) {
+ MP_WARN(config, "Suboptions (--%.*s=...) are deprecated. Use "
+ "flat options instead.\n", BSTR_P(name));
+ config->subopt_deprecation_warning = true;
+ }
assert(strlen(co->name) < 100);
sprintf(prefix, "%s-", co->name);
return parse_subopts(config, (char *)co->name, prefix, param, flags);
diff --git a/options/m_config.h b/options/m_config.h
index af8ab421f0..0d8b7961d0 100644
--- a/options/m_config.h
+++ b/options/m_config.h
@@ -77,6 +77,8 @@ typedef struct m_config {
// For the command line parser
int recursion_depth;
+ bool subopt_deprecation_warning;
+
void *optstruct; // struct mpopts or other
} m_config_t;