]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/log.h
avutil: remove deprecated AVClass.child_class_next
[ffmpeg] / libavutil / log.h
index 9c14188a9c924a5aa9ee054bcfd09dd1d419729a..c2f1232a1675315f6ce0b0f18711d0a6ec8759c9 100644 (file)
@@ -112,16 +112,6 @@ typedef struct AVClass {
      */
     void* (*child_next)(void *obj, void *prev);
 
-    /**
-     * Return an AVClass corresponding to the next potential
-     * AVOptions-enabled child.
-     *
-     * The difference between child_next and this is that
-     * child_next iterates over _already existing_ objects, while
-     * child_class_next iterates over _all possible_ children.
-     */
-    const struct AVClass* (*child_class_next)(const struct AVClass *prev);
-
     /**
      * Category used for visualization (like color)
      * This is only set if the category is equal for all objects using this class.
@@ -140,6 +130,21 @@ typedef struct AVClass {
      * available since version (52.12)
      */
     int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags);
+
+    /**
+     * Iterate over the AVClasses corresponding to potential AVOptions-enabled
+     * children.
+     *
+     * @param iter pointer to opaque iteration state. The caller must initialize
+     *             *iter to NULL before the first call.
+     * @return AVClass for the next AVOptions-enabled child or NULL if there are
+     *         no more such children.
+     *
+     * @note The difference between child_next and this is that child_next
+     *       iterates over _already existing_ objects, while child_class_iterate
+     *       iterates over _all possible_ children.
+     */
+    const struct AVClass* (*child_class_iterate)(void **iter);
 } AVClass;
 
 /**