Commit 7d61dc95 authored by Anton Khirnov's avatar Anton Khirnov

lavf: move urlcontext_child_class_next() to protocols.c

It needs to access the list of protocols directly, so it more properly
belongs there.
parent 0fa00d05
......@@ -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 */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment