FFmpeg
Public Attributes | List of all members
URLProtocol Struct Reference

Public Attributes

const char * name
 
int(* url_open )(URLContext *h, const char *url, int flags)
 
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. More...
 
int(* url_accept )(URLContext *s, URLContext **c)
 
int(* url_handshake )(URLContext *c)
 
int(* url_read )(URLContext *h, unsigned char *buf, int size)
 Read data from the protocol. More...
 
int(* url_write )(URLContext *h, const unsigned char *buf, int size)
 
int64_t(* url_seek )(URLContext *h, int64_t pos, int whence)
 
int(* url_close )(URLContext *h)
 
int(* url_read_pause )(URLContext *h, int pause)
 
int64_t(* url_read_seek )(URLContext *h, int stream_index, int64_t timestamp, int flags)
 
int(* url_get_file_handle )(URLContext *h)
 
int(* url_get_multi_file_handle )(URLContext *h, int **handles, int *numhandles)
 
int(* url_get_short_seek )(URLContext *h)
 
int(* url_shutdown )(URLContext *h, int flags)
 
int priv_data_size
 
const AVClasspriv_data_class
 
int flags
 
int(* url_check )(URLContext *h, int mask)
 
int(* url_open_dir )(URLContext *h)
 
int(* url_read_dir )(URLContext *h, AVIODirEntry **next)
 
int(* url_close_dir )(URLContext *h)
 
int(* url_delete )(URLContext *h)
 
int(* url_move )(URLContext *h_src, URLContext *h_dst)
 
const char * default_whitelist
 

Member Data Documentation

§ url_open2

int(* URLProtocol::url_open2) (URLContext *h, const char *url, int flags, AVDictionary **options)

This callback is to be used by protocols which open further nested protocols.

options are then to be passed to ffurl_open()/ffurl_connect() for those nested protocols.

§ url_read

int(* URLProtocol::url_read) (URLContext *h, unsigned char *buf, int size)

Read data from the protocol.

If data is immediately available (even less than size), EOF is reached or an error occurs (including EINTR), return immediately. Otherwise: In non-blocking mode, return AVERROR(EAGAIN) immediately. In blocking mode, wait for data/EOF/error with a short timeout (0.1s), and return AVERROR(EAGAIN) on timeout. Checking interrupt_callback, looping on EINTR and EAGAIN and until enough data has been read is left to the calling function; see retry_transfer_wrapper in avio.c.


The documentation for this struct was generated from the following file: