diff options
author | James Almer <jamrial@gmail.com> | 2020-10-09 23:52:28 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2020-10-19 11:54:45 -0300 |
commit | bddf53841a3efc228b143ee51c8db0daa78643e1 (patch) | |
tree | 05e34f4df58ba38065c73604686962ce3252756e /libavformat/options.c | |
parent | ac36080b2d9d35a81ea2093d1dbb75717b469691 (diff) | |
download | ffmpeg-bddf53841a3efc228b143ee51c8db0daa78643e1.tar.gz |
avformat/options: use the iterate API in format_child_class_next()
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/options.c')
-rw-r--r-- | libavformat/options.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/libavformat/options.c b/libavformat/options.c index 3160904fda..59e0389815 100644 --- a/libavformat/options.c +++ b/libavformat/options.c @@ -55,35 +55,38 @@ static void *format_child_next(void *obj, void *prev) } #if FF_API_CHILD_CLASS_NEXT -FF_DISABLE_DEPRECATION_WARNINGS static const AVClass *format_child_class_next(const AVClass *prev) { - AVInputFormat *ifmt = NULL; - AVOutputFormat *ofmt = NULL; + const AVInputFormat *ifmt = NULL; + const AVOutputFormat *ofmt = NULL; + void *ifmt_iter = NULL, *ofmt_iter = NULL; if (!prev) return &ff_avio_class; - while ((ifmt = av_iformat_next(ifmt))) + while ((ifmt = av_demuxer_iterate(&ifmt_iter))) if (ifmt->priv_class == prev) break; - if (!ifmt) - while ((ofmt = av_oformat_next(ofmt))) + if (!ifmt) { + ifmt_iter = NULL; + while ((ofmt = av_muxer_iterate(&ofmt_iter))) if (ofmt->priv_class == prev) break; - if (!ofmt) - while (ifmt = av_iformat_next(ifmt)) + } + if (!ofmt) { + ofmt_iter = NULL; + while ((ifmt = av_demuxer_iterate(&ifmt_iter))) if (ifmt->priv_class) return ifmt->priv_class; + } - while (ofmt = av_oformat_next(ofmt)) + while ((ofmt = av_muxer_iterate(&ofmt_iter))) if (ofmt->priv_class) return ofmt->priv_class; return NULL; } -FF_ENABLE_DEPRECATION_WARNINGS #endif enum { |