From 8c5dcaad13a54d90f25e8bbb54efe2a1afd5144e Mon Sep 17 00:00:00 2001
From: Anton Khirnov <anton@khirnov.net>
Date: Mon, 3 Oct 2011 20:04:07 +0200
Subject: [PATCH] AVOptions: add av_opt_next, deprecate av_next_option.

Just for naming consistency, no functional changes.
---
 libavutil/opt.c |  7 +++++++
 libavutil/opt.h | 13 ++++++++++++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/libavutil/opt.c b/libavutil/opt.c
index 8af2ac223b7..7667d49e3cb 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 7649447e796..e30f0123ecb 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.
  *
-- 
GitLab