|
|
|
@ -53,26 +53,29 @@ static const AVClass *format_child_class_next(const AVClass *prev) |
|
|
|
|
AVInputFormat *ifmt = NULL; |
|
|
|
|
AVOutputFormat *ofmt = NULL; |
|
|
|
|
|
|
|
|
|
while (prev && (ifmt = av_iformat_next(ifmt))) |
|
|
|
|
if (!prev) |
|
|
|
|
#if !FF_API_OLD_AVIO |
|
|
|
|
return &ffio_url_class; |
|
|
|
|
#else |
|
|
|
|
prev = (void *)&ifmt; // Dummy pointer;
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
while ((ifmt = av_iformat_next(ifmt))) |
|
|
|
|
if (ifmt->priv_class == prev) |
|
|
|
|
break; |
|
|
|
|
if ((prev && ifmt) || (!prev)) |
|
|
|
|
|
|
|
|
|
if (!ifmt) |
|
|
|
|
while ((ofmt = av_oformat_next(ofmt))) |
|
|
|
|
if (ofmt->priv_class == prev) |
|
|
|
|
break; |
|
|
|
|
if (!ofmt) |
|
|
|
|
while (ifmt = av_iformat_next(ifmt)) |
|
|
|
|
if (ifmt->priv_class) |
|
|
|
|
return ifmt->priv_class; |
|
|
|
|
|
|
|
|
|
while (prev && (ofmt = av_oformat_next(ofmt))) |
|
|
|
|
if (ofmt->priv_class == prev) |
|
|
|
|
break; |
|
|
|
|
if ((prev && ofmt) || (!prev)) |
|
|
|
|
while (ofmt = av_oformat_next(ofmt)) |
|
|
|
|
if (ofmt->priv_class) |
|
|
|
|
return ofmt->priv_class; |
|
|
|
|
|
|
|
|
|
#if !FF_API_OLD_AVIO |
|
|
|
|
if (prev != &ffio_url_class) |
|
|
|
|
return &ffio_url_class; |
|
|
|
|
#endif |
|
|
|
|
while (ofmt = av_oformat_next(ofmt)) |
|
|
|
|
if (ofmt->priv_class) |
|
|
|
|
return ofmt->priv_class; |
|
|
|
|
|
|
|
|
|
return NULL; |
|
|
|
|
} |
|
|
|
|