avio: add a function for iterating though protocol names.
This commit is contained in:
parent
c234d40bd9
commit
f8270bbf8c
@ -57,6 +57,16 @@ URLProtocol *av_protocol_next(URLProtocol *p)
|
|||||||
else return first_protocol;
|
else return first_protocol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *avio_enum_protocols(void **opaque, int output)
|
||||||
|
{
|
||||||
|
URLProtocol **p = opaque;
|
||||||
|
*p = *p ? (*p)->next : first_protocol;
|
||||||
|
if (!*p) return NULL;
|
||||||
|
if ((output && (*p)->url_write) || (!output && (*p)->url_read))
|
||||||
|
return (*p)->name;
|
||||||
|
return avio_enum_protocols(opaque, output);
|
||||||
|
}
|
||||||
|
|
||||||
int ffurl_register_protocol(URLProtocol *protocol, int size)
|
int ffurl_register_protocol(URLProtocol *protocol, int size)
|
||||||
{
|
{
|
||||||
URLProtocol **p;
|
URLProtocol **p;
|
||||||
|
@ -600,4 +600,17 @@ int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer);
|
|||||||
int udp_get_file_handle(URLContext *h);
|
int udp_get_file_handle(URLContext *h);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterate through names of available protocols.
|
||||||
|
*
|
||||||
|
* @param opaque A private pointer representing current protocol.
|
||||||
|
* It must be a pointer to NULL on first iteration and will
|
||||||
|
* be updated by successive calls to avio_enum_protocols.
|
||||||
|
* @param output If set to 1, iterate over output protocols,
|
||||||
|
* otherwise over input protocols.
|
||||||
|
*
|
||||||
|
* @return A static string containing the name of current protocol or NULL
|
||||||
|
*/
|
||||||
|
const char *avio_enum_protocols(void **opaque, int output);
|
||||||
|
|
||||||
#endif /* AVFORMAT_AVIO_H */
|
#endif /* AVFORMAT_AVIO_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user