diff --git a/libavutil/opt.c b/libavutil/opt.c index 8af2ac223b..7667d49e3c 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -47,7 +47,14 @@ 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; 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. @@ -309,6 +309,17 @@ const AVOption *av_opt_find(void *obj, const char *name, const char *unit, 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. *