mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2026-01-24 07:31:22 +01: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
1 changed files with 13 additions and 10 deletions
|
|
@ -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…
Add table
Add a link
Reference in a new issue