Go to the documentation of this file.
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
84 int64_t timestamp,
int flags);
148 const char *whitelist,
const char* blacklist,
304 const char *authorization,
const char *hostname,
341 const
char *blacklist);
int(* url_get_multi_file_handle)(URLContext *h, int **handles, int *numhandles)
int ffurl_closep(URLContext **h)
Close the resource accessed by the URLContext h, and free the memory used by it.
int(* url_get_file_handle)(URLContext *h)
char * filename
specified URL
int(* url_read)(URLContext *h, unsigned char *buf, int size)
Read data from the protocol.
static double cb(void *priv, double x, double y)
int void 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(* url_close_dir)(URLContext *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_connect(URLContext *uc, AVDictionary **options)
Connect an URLContext that has been allocated by ffurl_alloc.
int max_packet_size
if non zero, the stream is packetized with this max packet size
int(* url_delete)(URLContext *h)
int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
Return the file descriptors associated with this URL.
int ffurl_open(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
int ffurl_accept(URLContext *s, URLContext **c)
Accept an URLContext c on an URLContext s.
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.
int min_packet_size
if non zero, the stream is packetized with this min packet size
Callback for checking whether to abort blocking functions.
int ffurl_shutdown(URLContext *h, int flags)
Signal the URLContext that we are done reading or writing the stream.
AVIODirEntry * ff_alloc_dir_entry(void)
Allocate directory entry with default values.
int(* url_read_pause)(URLContext *h, int pause)
int(* url_open)(URLContext *h, const char *url, int flags)
int(* url_accept)(URLContext *s, URLContext **c)
static const uint16_t mask[17]
int(* url_close)(URLContext *h)
Describe the class of an AVClass context structure.
const char * protocol_whitelist
const URLProtocol ** ffurl_get_protocols(const char *whitelist, const char *blacklist)
Construct a list of protocols matching a given whitelist and/or blacklist.
const char * protocol_blacklist
#define av_printf_format(fmtpos, attrpos)
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
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.
int ffurl_get_file_handle(URLContext *h)
Return the file descriptor associated with this URL.
const OptionDef options[]
const AVClass * priv_data_class
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...
Describes single entry of the directory.
const char * default_whitelist
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 rw_timeout
maximum time to wait for (network) read/write operation completion, in mcs
int64_t(* url_seek)(URLContext *h, int64_t pos, int whence)
int ffurl_get_short_seek(URLContext *h)
Return the current short seek threshold value for this URL.
const AVClass * ff_urlcontext_child_class_next(const AVClass *prev)
int ffurl_handshake(URLContext *c)
Perform one step of the protocol handshake to accept a new client.
const struct URLProtocol * prot
int(* url_handshake)(URLContext *c)
int(* url_open_dir)(URLContext *h)
const AVIOInterruptCB int_cb
int ffurl_close(URLContext *h)
AVIOInterruptCB interrupt_callback
int(* url_move)(URLContext *h_src, URLContext *h_dst)
int ff_udp_get_local_port(URLContext *h)
Return the local port used by the UDP connection.
int(* url_check)(URLContext *h, int mask)
int(* url_read_dir)(URLContext *h, AVIODirEntry **next)
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(* url_get_short_seek)(URLContext *h)
const AVClass * av_class
information for av_log().
int(* url_shutdown)(URLContext *h, int flags)
int is_streamed
true if streamed (no seek possible), default = false
int ff_check_interrupt(AVIOInterruptCB *cb)
Check if the user has requested to interrupt a blocking function associated with cb.
int64_t(* url_read_seek)(URLContext *h, int stream_index, int64_t timestamp, int flags)
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(* url_write)(URLContext *h, const unsigned char *buf, int size)
#define flags(name, subs,...)
const AVClass ffurl_context_class
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.
int ffurl_write(URLContext *h, const unsigned char *buf, int size)
Write size bytes from buf to the resource accessed by h.
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.