24 #ifndef AVFORMAT_URL_H
25 #define AVFORMAT_URL_H
33 #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1
34 #define URL_PROTOCOL_FLAG_NETWORK 2
148 const char *whitelist,
const char* blacklist,
301 const char *authorization,
const char *hostname,
314 const
char *rel,
int handle_dos_paths);
332 #if FF_API_CHILD_CLASS_NEXT
333 const AVClass *ff_urlcontext_child_class_next(
const AVClass *prev);
352 const char *blacklist);
367 #define url_component_end_scheme authority
368 #define url_component_end_authority userinfo
369 #define url_component_end_userinfo host
370 #define url_component_end_host port
371 #define url_component_end_port path
372 #define url_component_end_path query
373 #define url_component_end_query fragment
374 #define url_component_end_fragment end
375 #define url_component_end_authority_full path
377 #define URL_COMPONENT_HAVE(uc, component) \
378 ((uc).url_component_end_##component > (uc).component)
#define av_printf_format(fmtpos, attrpos)
#define flags(name, subs,...)
const AVIOInterruptCB int_cb
const OptionDef options[]
static const uint16_t mask[17]
Describe the class of an AVClass context structure.
Describes single entry of the directory.
Callback for checking whether to abort blocking functions.
const char * scheme
possibly including lavf-specific options
const char * port
including initial ':' if present
const char * authority
"//" if it is a real URL
const char * fragment
including initial '#' if present
const char * userinfo
including final '@' if present
const char * query
including initial '?' if present
const char * url
whole URL, for reference
const char * protocol_whitelist
int min_packet_size
if non zero, the stream is packetized with this min packet size
AVIOInterruptCB interrupt_callback
const struct URLProtocol * prot
const AVClass * av_class
information for av_log().
int is_streamed
true if streamed (no seek possible), default = false
const char * protocol_blacklist
int max_packet_size
if non zero, the stream is packetized with this max packet size
char * filename
specified URL
int64_t rw_timeout
maximum time to wait for (network) read/write operation completion, in mcs
int(* url_handshake)(URLContext *c)
int(* url_open2)(URLContext *h, const char *url, int flags, AVDictionary **options)
This callback is to be used by protocols which open further nested protocols.
int64_t(* url_read_seek)(URLContext *h, int stream_index, int64_t timestamp, int flags)
int(* url_read)(URLContext *h, unsigned char *buf, int size)
Read data from the protocol.
int(* url_get_multi_file_handle)(URLContext *h, int **handles, int *numhandles)
int(* url_open_dir)(URLContext *h)
int(* url_open)(URLContext *h, const char *url, int flags)
int(* url_close_dir)(URLContext *h)
const AVClass * priv_data_class
int(* url_delete)(URLContext *h)
int64_t(* url_seek)(URLContext *h, int64_t pos, int whence)
int(* url_shutdown)(URLContext *h, int flags)
int(* url_accept)(URLContext *s, URLContext **c)
const char * default_whitelist
int(* url_get_short_seek)(URLContext *h)
int(* url_read_pause)(URLContext *h, int pause)
int(* url_close)(URLContext *h)
int(* url_write)(URLContext *h, const unsigned char *buf, int size)
int(* url_move)(URLContext *h_src, URLContext *h_dst)
int(* url_read_dir)(URLContext *h, AVIODirEntry **next)
int(* url_get_file_handle)(URLContext *h)
int(* url_check)(URLContext *h, int mask)
int ffurl_shutdown(URLContext *h, int flags)
Signal the URLContext that we are done reading or writing the stream.
int ff_url_join(char *str, int size, const char *proto, const char *authorization, const char *hostname, int port, const char *fmt,...) av_printf_format(7
Assemble a URL string from components.
int ff_url_decompose(URLComponents *uc, const char *url, const char *end)
Parse an URL to find the components.
int ffurl_handshake(URLContext *c)
Perform one step of the protocol handshake to accept a new client.
int ffurl_alloc(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb)
Create a URLContext for accessing to the resource indicated by url, but do not initiate the connectio...
int ffurl_read(URLContext *h, unsigned char *buf, int size)
Read up to size bytes from the resource accessed by h, and store the read bytes in buf.
const URLProtocol ** ffurl_get_protocols(const char *whitelist, const char *blacklist)
Construct a list of protocols matching a given whitelist and/or blacklist.
int ff_udp_get_local_port(URLContext *h)
Return the local port used by the UDP connection.
AVIODirEntry * ff_alloc_dir_entry(void)
Allocate directory entry with default values.
int ff_check_interrupt(AVIOInterruptCB *cb)
Check if the user has requested to interrupt a blocking function associated with cb.
int int ff_make_absolute_url2(char *buf, int size, const char *base, const char *rel, int handle_dos_paths)
Convert a relative url into an absolute url, given a base url.
int ffurl_open_whitelist(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options, const char *whitelist, const char *blacklist, URLContext *parent)
Create an URLContext for accessing to the resource indicated by url, and open it.
int ffurl_get_short_seek(URLContext *h)
Return the current short seek threshold value for this URL.
int64_t ffurl_seek(URLContext *h, int64_t pos, int whence)
Change the position that will be used by the next read/write operation on the resource accessed by h.
int64_t ffurl_size(URLContext *h)
Return the filesize of the resource accessed by h, AVERROR(ENOSYS) if the operation is not supported ...
int ffurl_closep(URLContext **h)
Close the resource accessed by the URLContext h, and free the memory used by it.
int ffurl_accept(URLContext *s, URLContext **c)
Accept an URLContext c on an URLContext s.
int ffurl_close(URLContext *h)
int ff_udp_set_remote_url(URLContext *h, const char *uri)
If no filename is given to av_open_input_file because you want to get the local port first,...
int ffurl_connect(URLContext *uc, AVDictionary **options)
Connect an URLContext that has been allocated by ffurl_alloc.
int ffurl_write(URLContext *h, const unsigned char *buf, int size)
Write size bytes from buf to the resource accessed by h.
int ffurl_get_file_handle(URLContext *h)
Return the file descriptor associated with this URL.
int ff_make_absolute_url(char *buf, int size, const char *base, const char *rel)
Convert a relative url into an absolute url, given a base url.
int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
Return the file descriptors associated with this URL.
int ffurl_read_complete(URLContext *h, unsigned char *buf, int size)
Read as many bytes as possible (up to size), calling the read function multiple times if necessary.
const AVClass * ff_urlcontext_child_class_iterate(void **iter)
const AVClass ffurl_context_class
static double cb(void *priv, double x, double y)