mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 21:20:41 +00:00
Merge commit '7d61dc95d741ca134d59b1f34c4e10c4c4e36f56'
* commit '7d61dc95d741ca134d59b1f34c4e10c4c4e36f56': lavf: move urlcontext_child_class_next() to protocols.c Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
commit
53025fe187
@ -50,25 +50,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;
|
||||
}
|
||||
|
||||
#define OFFSET(x) offsetof(URLContext,x)
|
||||
#define E AV_OPT_FLAG_ENCODING_PARAM
|
||||
#define D AV_OPT_FLAG_DECODING_PARAM
|
||||
@ -76,13 +57,14 @@ static const AVOption options[] = {
|
||||
{"protocol_whitelist", "List of protocols that are allowed to be used", OFFSET(protocol_whitelist), AV_OPT_TYPE_STRING, { .str = NULL }, CHAR_MIN, CHAR_MAX, D },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
const AVClass ffurl_context_class = {
|
||||
.class_name = "URLContext",
|
||||
.item_name = urlcontext_to_name,
|
||||
.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,
|
||||
};
|
||||
/*@}*/
|
||||
|
||||
|
@ -207,6 +207,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;
|
||||
|
@ -309,6 +309,8 @@ void ff_make_absolute_url(char *buf, int size, const char *base,
|
||||
*/
|
||||
AVIODirEntry *ff_alloc_dir_entry(void);
|
||||
|
||||
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