options: make legacy hacks for AFs/VFs more explicit

This means that AOs/VOs with no options set do not take the legacy
option parsing path, but instead report that they have no options.
This commit is contained in:
wm4 2013-07-22 23:06:22 +02:00
parent f32a90a839
commit 78ebb3c6fa
4 changed files with 5 additions and 1 deletions

View File

@ -109,6 +109,7 @@ static bool get_desc(struct m_obj_desc *dst, int index)
const struct m_obj_list af_obj_list = {
.get_desc = get_desc,
.description = "audio filters",
.legacy_hacks = true, // many filters have custom option parsing
};
static bool af_config_equals(struct mp_audio *a, struct mp_audio *b)

View File

@ -2140,7 +2140,7 @@ static int parse_obj_settings(struct bstr opt, struct bstr *pstr,
}
if (has_param) {
if (!desc.options) {
if (!desc.options && list->legacy_hacks) {
// Should perhaps be parsed as escape-able string. But this is a
// compatibility path, so it's not worth the trouble.
int next = bstrcspn(*pstr, ",");

View File

@ -125,6 +125,8 @@ struct m_obj_list {
// Allow unknown entries, for which a dummy entry is inserted, and whose
// options are skipped and ignored.
bool allow_unknown_entries;
// If object has no options set, assume it parses options on its own.
bool legacy_hacks;
};
// Find entry by name

View File

@ -135,6 +135,7 @@ static bool get_desc(struct m_obj_desc *dst, int index)
const struct m_obj_list vf_obj_list = {
.get_desc = get_desc,
.description = "video filters",
.legacy_hacks = true, // some filters have custom option parsing
};
int vf_control(struct vf_instance *vf, int cmd, void *arg)