mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avformat/options: use the iterate API in format_child_class_next()
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
ac36080b2d
commit
bddf53841a
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user