summaryrefslogtreecommitdiff
path: root/libavformat/options.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2020-10-09 23:52:28 -0300
committerJames Almer <jamrial@gmail.com>2020-10-19 11:54:45 -0300
commitbddf53841a3efc228b143ee51c8db0daa78643e1 (patch)
tree05e34f4df58ba38065c73604686962ce3252756e /libavformat/options.c
parentac36080b2d9d35a81ea2093d1dbb75717b469691 (diff)
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.c23
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 {