25 #ifndef AVFORMAT_URL_H
26 #define AVFORMAT_URL_H
34 #define URL_PROTOCOL_FLAG_NESTED_SCHEME 1
35 #define URL_PROTOCOL_FLAG_NETWORK 2
84 int64_t timestamp,
int flags);
145 const char *whitelist);
305 const char *authorization,
const char *hostname,
int ffurl_shutdown(URLContext *h, int flags)
Signal the URLContext that we are done reading or writing the stream.
int(* url_open_dir)(URLContext *h)
int(* url_close_dir)(URLContext *h)
int(* url_check)(URLContext *h, int mask)
const AVClass ffurl_context_class
int64_t ffurl_size(URLContext *h)
Return the filesize of the resource accessed by h, AVERROR(ENOSYS) if the operation is not supported ...
int is_streamed
true if streamed (no seek possible), default = false
AVIOInterruptCB interrupt_callback
Describes single entry of the directory.
int64_t rw_timeout
maximum time to wait for (network) read/write operation completion, in mcs
struct URLProtocol * prot
int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
Return the file descriptors associated with this URL.
const AVClass * priv_data_class
struct URLProtocol * next
int ffurl_write(URLContext *h, const unsigned char *buf, int size)
Write size bytes from buf to the resource accessed by h.
static double cb(void *priv, double x, double y)
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(* url_get_file_handle)(URLContext *h)
int(* url_get_multi_file_handle)(URLContext *h, int **handles, int *numhandles)
const OptionDef options[]
int(* url_move)(URLContext *h_src, URLContext *h_dst)
Callback for checking whether to abort blocking functions.
int ffurl_open(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
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.
const AVIOInterruptCB int_cb
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...
static const uint16_t mask[17]
const char * protocol_whitelist
int ff_check_interrupt(AVIOInterruptCB *cb)
Check if the user has requested to interrup a blocking function associated with cb.
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_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(* url_open)(URLContext *h, const char *url, int flags)
#define av_printf_format(fmtpos, attrpos)
int(* url_write)(URLContext *h, const unsigned char *buf, int size)
int(* url_read)(URLContext *h, unsigned char *buf, int size)
Read data from the protocol.
AVIODirEntry * ff_alloc_dir_entry(void)
Allocate directory entry with default values.
int ffurl_connect(URLContext *uc, AVDictionary **options)
Connect an URLContext that has been allocated by ffurl_alloc.
int(* url_read_pause)(URLContext *h, int pause)
int64_t(* url_seek)(URLContext *h, int64_t pos, int whence)
int ffurl_get_file_handle(URLContext *h)
Return the file descriptor associated with this URL.
int ff_udp_get_local_port(URLContext *h)
Return the local port used by the UDP connection.
int64_t(* url_read_seek)(URLContext *h, int stream_index, int64_t timestamp, int flags)
const char * default_whitelist
Describe the class of an AVClass context structure.
URLProtocol * ffurl_protocol_next(const URLProtocol *prev)
Iterate over all available protocols.
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(* url_handshake)(URLContext *c)
int(* url_read_dir)(URLContext *h, AVIODirEntry **next)
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...
const AVClass * av_class
information for av_log().
int(* url_accept)(URLContext *s, URLContext **c)
int ffurl_open_whitelist(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options, const char *whitelist)
Create an URLContext for accessing to the resource indicated by url, and open it. ...
int ffurl_close(URLContext *h)
int(* url_delete)(URLContext *h)
char * filename
specified URL
int ffurl_handshake(URLContext *c)
Perform one step of the protocol handshake to accept a new client.
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 ffurl_accept(URLContext *s, URLContext **c)
Accept an URLContext c on an URLContext s.
int ffurl_register_protocol(URLProtocol *protocol)
Register the URLProtocol protocol.
int max_packet_size
if non zero, the stream is packetized with this max packet size
int(* url_close)(URLContext *h)
int(* url_shutdown)(URLContext *h, int flags)
int ffurl_closep(URLContext **h)
Close the resource accessed by the URLContext h, and free the memory used by it.