summaryrefslogtreecommitdiffstats
path: root/core/m_option.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-07-21 21:17:25 +0200
committerwm4 <wm4@nowhere>2013-07-21 23:27:31 +0200
commit999dad454f6db2c3d52e9594778bccc03156d299 (patch)
tree41e5a9ed05987b1cf313eba65c8e29903b9cb79a /core/m_option.h
parentf2e3a498109d75d99ebd539e7c9603529128efd0 (diff)
downloadmpv-999dad454f6db2c3d52e9594778bccc03156d299.tar.bz2
mpv-999dad454f6db2c3d52e9594778bccc03156d299.tar.xz
options: add some features to video filter parser
This is in preparation of making VOs and AOs use the parser which originally was for video filters only. The --vo and --ao options have several very annoying features, which are added here: - They can skip unknown video outputs (might be useful if a config file is supposed to work on several systems, where not all VOs/AOs are available everywhere) - The trailing "," in "-vo a,b," was significant, and meant that if "a" and "b" don't work, try the normal autoprobe order as fallback - There were deprecated VO names (like "gl3" and "gl"), which have to be handled with the option parser - Separating VO/VF names and options is different ("-vf foo=opts" vs. "-vo foo:opts") - vo_opengl.c provides opengl-hq as opengl + preset options
Diffstat (limited to 'core/m_option.h')
-rw-r--r--core/m_option.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/m_option.h b/core/m_option.h
index 5f95232076..7fd1ffd04c 100644
--- a/core/m_option.h
+++ b/core/m_option.h
@@ -106,12 +106,23 @@ struct m_obj_desc {
const struct m_option *options;
// For free use by the implementer of m_obj_list.get_desc
const void *p;
+ // If not NULL, options which should be set before applying other options.
+ // This member is usually set my m_obj_list_find() only.
+ // Only works if options is not NULL.
+ const char *init_options;
};
// Extra definition needed for \ref m_option_type_obj_settings_list options.
struct m_obj_list {
bool (*get_desc)(struct m_obj_desc *dst, int index);
const char *description;
+ // Can be set to a NULL terminated array of aliases
+ const char *aliases[4][5];
+ // Allow a trailing ",", which adds an entry with name=""
+ bool allow_trailer;
+ // Allow unknown entries, for which a dummy entry is inserted, and whose
+ // options are skipped and ignored.
+ bool allow_unknown_entries;
};
// Find entry by name