diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-05-27 15:34:07 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-06-10 12:36:44 +0200 |
commit | 851e0dfe296af1cb96dc5315547ef459cd85c598 (patch) | |
tree | 91e4bdafb8e5f8907a8092e8d4de073a012ccca8 /libavcodec/options.c | |
parent | c0d6eaca50ad65fb8f45b02863d31b3421899959 (diff) | |
download | ffmpeg-851e0dfe296af1cb96dc5315547ef459cd85c598.tar.gz |
AVCodecContext: switch to child_class_iterate()
Diffstat (limited to 'libavcodec/options.c')
-rw-r--r-- | libavcodec/options.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libavcodec/options.c b/libavcodec/options.c index 7706a03297..ff16e2cbfd 100644 --- a/libavcodec/options.c +++ b/libavcodec/options.c @@ -53,6 +53,7 @@ static void *codec_child_next(void *obj, void *prev) return NULL; } +#if FF_API_CHILD_CLASS_NEXT static const AVClass *codec_child_class_next(const AVClass *prev) { void *iter = NULL; @@ -69,6 +70,17 @@ static const AVClass *codec_child_class_next(const AVClass *prev) return c->priv_class; return NULL; } +#endif + +static const AVClass *codec_child_class_iterate(void **iter) +{ + const AVCodec *c; + /* find next codec with priv options */ + while (c = av_codec_iterate(iter)) + if (c->priv_class) + return c->priv_class; + return NULL; +} static AVClassCategory get_category(void *ptr) { @@ -84,7 +96,10 @@ static const AVClass av_codec_context_class = { .version = LIBAVUTIL_VERSION_INT, .log_level_offset_offset = offsetof(AVCodecContext, log_level_offset), .child_next = codec_child_next, +#if FF_API_CHILD_CLASS_NEXT .child_class_next = codec_child_class_next, +#endif + .child_class_iterate = codec_child_class_iterate, .category = AV_CLASS_CATEGORY_ENCODER, .get_category = get_category, }; |