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:
@@ -49,25 +49,6 @@ static void *urlcontext_child_next(void *obj, void *prev)
|
|||||||
return NULL;
|
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 } };
|
static const AVOption options[] = { { NULL } };
|
||||||
const AVClass ffurl_context_class = {
|
const AVClass ffurl_context_class = {
|
||||||
.class_name = "URLContext",
|
.class_name = "URLContext",
|
||||||
@@ -75,7 +56,7 @@ const AVClass ffurl_context_class = {
|
|||||||
.option = options,
|
.option = options,
|
||||||
.version = LIBAVUTIL_VERSION_INT,
|
.version = LIBAVUTIL_VERSION_INT,
|
||||||
.child_next = urlcontext_child_next,
|
.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,
|
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 char *avio_enum_protocols(void **opaque, int output)
|
||||||
{
|
{
|
||||||
const URLProtocol **p = *opaque;
|
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,
|
void ff_make_absolute_url(char *buf, int size, const char *base,
|
||||||
const char *rel);
|
const char *rel);
|
||||||
|
|
||||||
|
const AVClass *ff_urlcontext_child_class_next(const AVClass *prev);
|
||||||
|
|
||||||
extern const URLProtocol *ff_url_protocols[];
|
extern const URLProtocol *ff_url_protocols[];
|
||||||
|
|
||||||
#endif /* AVFORMAT_URL_H */
|
#endif /* AVFORMAT_URL_H */
|
||||||
|
Reference in New Issue
Block a user