mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 13:10:37 +00:00
lavf: move urlcontext_child_class_next() to protocols.c
It needs to access the list of protocols directly, so it more properly belongs there.
This commit is contained in:
parent
0fa00d0591
commit
7d61dc95d7
@ -49,25 +49,6 @@ static void *urlcontext_child_next(void *obj, void *prev)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const AVClass *urlcontext_child_class_next(const AVClass *prev)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* find the protocol that corresponds to prev */
|
||||
for (i = 0; ff_url_protocols[i]; i++) {
|
||||
if (ff_url_protocols[i]->priv_data_class == prev) {
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* find next protocol with priv options */
|
||||
for (; ff_url_protocols[i]; i++)
|
||||
if (ff_url_protocols[i]->priv_data_class)
|
||||
return ff_url_protocols[i]->priv_data_class;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const AVOption options[] = { { NULL } };
|
||||
const AVClass ffurl_context_class = {
|
||||
.class_name = "URLContext",
|
||||
@ -75,7 +56,7 @@ const AVClass ffurl_context_class = {
|
||||
.option = options,
|
||||
.version = LIBAVUTIL_VERSION_INT,
|
||||
.child_next = urlcontext_child_next,
|
||||
.child_class_next = urlcontext_child_class_next,
|
||||
.child_class_next = ff_urlcontext_child_class_next,
|
||||
};
|
||||
/*@}*/
|
||||
|
||||
|
@ -163,6 +163,26 @@ const URLProtocol *ff_url_protocols[] = {
|
||||
NULL,
|
||||
};
|
||||
|
||||
const AVClass *ff_urlcontext_child_class_next(const AVClass *prev)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* find the protocol that corresponds to prev */
|
||||
for (i = 0; ff_url_protocols[i]; i++) {
|
||||
if (ff_url_protocols[i]->priv_data_class == prev) {
|
||||
i++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* find next protocol with priv options */
|
||||
for (; ff_url_protocols[i]; i++)
|
||||
if (ff_url_protocols[i]->priv_data_class)
|
||||
return ff_url_protocols[i]->priv_data_class;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
const char *avio_enum_protocols(void **opaque, int output)
|
||||
{
|
||||
const URLProtocol **p = *opaque;
|
||||
|
@ -264,6 +264,8 @@ int ff_url_join(char *str, int size, const char *proto,
|
||||
void ff_make_absolute_url(char *buf, int size, const char *base,
|
||||
const char *rel);
|
||||
|
||||
const AVClass *ff_urlcontext_child_class_next(const AVClass *prev);
|
||||
|
||||
extern const URLProtocol *ff_url_protocols[];
|
||||
|
||||
#endif /* AVFORMAT_URL_H */
|
||||
|
Loading…
Reference in New Issue
Block a user