aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2011-10-03 20:04:07 +0200
committerAnton Khirnov <anton@khirnov.net>2011-10-12 16:51:16 +0200
commit8c5dcaad13a54d90f25e8bbb54efe2a1afd5144e (patch)
treec1fc8a83bf4633950c4169b41e6a8c24c2c30172
parentdca055be3ae1a79209051a3f581802e3d21b7ad5 (diff)
downloadffmpeg-8c5dcaad13a54d90f25e8bbb54efe2a1afd5144e.tar.gz
AVOptions: add av_opt_next, deprecate av_next_option.
Just for naming consistency, no functional changes.
-rw-r--r--libavutil/opt.c7
-rw-r--r--libavutil/opt.h13
2 files changed, 19 insertions, 1 deletions
diff --git a/libavutil/opt.c b/libavutil/opt.c
index 8af2ac223b..7667d49e3c 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -47,8 +47,15 @@ const AVOption *av_find_opt(void *v, const char *name, const char *unit, int mas
}
#endif
+#if FF_API_OLD_AVOPTIONS
const AVOption *av_next_option(void *obj, const AVOption *last)
{
+ return av_opt_next(obj, last);
+}
+#endif
+
+const AVOption *av_opt_next(void *obj, const AVOption *last)
+{
if (last && last[1].name) return ++last;
else if (last) return NULL;
else return (*(AVClass**)obj)->option;
diff --git a/libavutil/opt.h b/libavutil/opt.h
index 7649447e79..e30f0123ec 100644
--- a/libavutil/opt.h
+++ b/libavutil/opt.h
@@ -150,8 +150,8 @@ attribute_deprecated double av_get_double(void *obj, const char *name, const AVO
attribute_deprecated AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
attribute_deprecated int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
attribute_deprecated const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
+attribute_deprecated const AVOption *av_next_option(void *obj, const AVOption *last);
#endif
-const AVOption *av_next_option(void *obj, const AVOption *last);
/**
* Show the obj options.
@@ -310,6 +310,17 @@ const AVOption *av_opt_find2(void *obj, const char *name, const char *unit,
int opt_flags, int search_flags, void **target_obj);
/**
+ * Iterate over all AVOptions belonging to obj.
+ *
+ * @param obj an AVOptions-enabled struct or a double pointer to an
+ * AVClass describing it.
+ * @param prev result of the previous call to av_opt_next() on this object
+ * or NULL
+ * @return next AVOption or NULL
+ */
+const AVOption *av_opt_next(void *obj, const AVOption *prev);
+
+/**
* Iterate over AVOptions-enabled children of obj.
*
* @param prev result of a previous call to this function or NULL