summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
Diffstat (limited to 'options')
-rw-r--r--options/m_option.c3
-rw-r--r--options/m_option.h6
2 files changed, 4 insertions, 5 deletions
diff --git a/options/m_option.c b/options/m_option.c
index aa1ac71ae6..51e3c38801 100644
--- a/options/m_option.c
+++ b/options/m_option.c
@@ -2493,8 +2493,7 @@ const m_option_type_t m_option_type_afmt = {
static int parse_channels(struct mp_log *log, const m_option_t *opt,
struct bstr name, struct bstr param, void *dst)
{
- // see OPT_CHANNELS for semantics.
- bool limited = opt->min;
+ bool limited = opt->flags & M_OPT_CHANNELS_LIMITED;
struct m_channels res = {0};
diff --git a/options/m_option.h b/options/m_option.h
index 8a8b54b510..f51ca95fa8 100644
--- a/options/m_option.h
+++ b/options/m_option.h
@@ -372,7 +372,6 @@ struct m_option {
// -/+INFINITY, the range can be extended to INFINITY. (This part is buggy
// for "float".)
// Preferably use M_RANGE() to set these fields.
- // Some types will abuse the min or max field for unrelated things.
double min, max;
// Type dependent data (for all kinds of extended settings).
@@ -432,6 +431,9 @@ char *format_file_size(int64_t size);
// type time: string "no" maps to MP_NOPTS_VALUE (if unset, NOPTS is rejected)
#define M_OPT_ALLOW_NO (1 << 26)
+// type channels: disallow "auto" (still accept ""), limit list to at most 1 item.
+#define M_OPT_CHANNELS_LIMITED (1 << 27)
+
// Like M_OPT_TYPE_OPTIONAL_PARAM.
#define M_OPT_OPTIONAL_PARAM (1 << 30)
@@ -655,8 +657,6 @@ extern const char m_option_path_separator;
#define OPT_AUDIOFORMAT(field) \
OPT_TYPED_FIELD(m_option_type_afmt, int, field)
-// If .min==1, then passing auto is disallowed, but "" is still accepted, and
-// limit channel list to 1 item.
#define OPT_CHANNELS(field) \
OPT_TYPED_FIELD(m_option_type_channels, struct m_channels, field)