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,
325 #if FF_API_CHILD_CLASS_NEXT 326 const AVClass *ff_urlcontext_child_class_next(
const AVClass *prev);
345 const char *blacklist);
360 #define url_component_end_scheme authority 361 #define url_component_end_authority userinfo 362 #define url_component_end_userinfo host 363 #define url_component_end_host port 364 #define url_component_end_port path 365 #define url_component_end_path query 366 #define url_component_end_query fragment 367 #define url_component_end_fragment end 368 #define url_component_end_authority_full path 370 #define URL_COMPONENT_HAVE(uc, component) \ 371 ((uc).url_component_end_##component > (uc).component) int ffurl_shutdown(URLContext *h, int flags)
Signal the URLContext that we are done reading or writing the stream.
const char * url
whole URL, for reference
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
const URLProtocol ** ffurl_get_protocols(const char *whitelist, const char *blacklist)
Construct a list of protocols matching a given whitelist and/or blacklist.
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
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)
static av_cold int end(AVCodecContext *avctx)
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 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 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.
Callback for checking whether to abort blocking functions.
int ffurl_open(URLContext **puc, const char *filename, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
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 interrupt 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...
const char * userinfo
including final '@' if present
#define av_printf_format(fmtpos, attrpos)
const char * authority
"//" if it is a real URL
const char * query
including initial '?' if present
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.
const AVClass * ff_urlcontext_child_class_iterate(void **iter)
int ffurl_get_file_handle(URLContext *h)
Return the file descriptor associated with this 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.
int ff_udp_get_local_port(URLContext *h)
Return the local port used by the UDP connection.
const char * protocol_blacklist
const char * default_whitelist
Describe the class of an AVClass context structure.
const char * port
including initial ':' if present
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 ff_url_decompose(URLComponents *uc, const char *url, const char *end)
Parse an URL to find the components.
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().
const char * scheme
possibly including lavf-specific options
int ffurl_close(URLContext *h)
const OptionDef options[]
const struct URLProtocol * prot
char * filename
specified URL
int ffurl_handshake(URLContext *c)
Perform one step of the protocol handshake to accept a new client.
int ffurl_accept(URLContext *s, URLContext **c)
Accept an URLContext c on an URLContext s.
int max_packet_size
if non zero, the stream is packetized with this max packet size
int min_packet_size
if non zero, the stream is packetized with this min packet size
int ffurl_closep(URLContext **h)
Close the resource accessed by the URLContext h, and free the memory used by it.
const char * fragment
including initial '#' if present