#include "libavutil/avstring.h"
#include "libavutil/dict.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavutil/avassert.h"
#include "avio_internal.h"
#include "os_support.h"
#include "internal.h"
#if CONFIG_NETWORK
#include "network.h"
#endif
#include "url.h"
#define IO_BUFFER_SIZE …
static const char *urlcontext_to_name(void *ptr)
{ … }
static void *urlcontext_child_next(void *obj, void *prev)
{ … }
#define OFFSET(x) …
#define E …
#define D …
static const AVOption options[] = …;
static const AVClass url_context_class = …;
static void *avio_child_next(void *obj, void *prev)
{ … }
static const AVClass *child_class_iterate(void **iter)
{ … }
#define AVIOOFFSET(x) …
#define E …
#define D …
static const AVOption avio_options[] = …;
const AVClass ff_avio_class = …;
URLContext *ffio_geturlcontext(AVIOContext *s)
{ … }
static int url_alloc_for_protocol(URLContext **puc, const URLProtocol *up,
const char *filename, int flags,
const AVIOInterruptCB *int_cb)
{ … }
int ffurl_connect(URLContext *uc, AVDictionary **options)
{ … }
int ffurl_accept(URLContext *s, URLContext **c)
{ … }
int avio_accept(AVIOContext *s, AVIOContext **c)
{ … }
int ffurl_handshake(URLContext *c)
{ … }
int avio_handshake(AVIOContext *c)
{ … }
#define URL_SCHEME_CHARS …
static const struct URLProtocol *url_find_protocol(const char *filename)
{ … }
int ffurl_alloc(URLContext **puc, const char *filename, int flags,
const AVIOInterruptCB *int_cb)
{ … }
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)
{ … }
int ffio_fdopen(AVIOContext **sp, URLContext *h)
{ … }
int ffio_open_whitelist(AVIOContext **s, const char *filename, int flags,
const AVIOInterruptCB *int_cb, AVDictionary **options,
const char *whitelist, const char *blacklist)
{ … }
int avio_open2(AVIOContext **s, const char *filename, int flags,
const AVIOInterruptCB *int_cb, AVDictionary **options)
{ … }
int avio_open(AVIOContext **s, const char *filename, int flags)
{ … }
static inline int retry_transfer_wrapper(URLContext *h, uint8_t *buf,
const uint8_t *cbuf,
int size, int size_min,
int read)
{ … }
int ffurl_read2(void *urlcontext, uint8_t *buf, int size)
{ … }
int ffurl_read_complete(URLContext *h, unsigned char *buf, int size)
{ … }
int ffurl_write2(void *urlcontext, const uint8_t *buf, int size)
{ … }
int64_t ffurl_seek2(void *urlcontext, int64_t pos, int whence)
{ … }
int ffurl_closep(URLContext **hh)
{ … }
int ffurl_close(URLContext *h)
{ … }
int avio_close(AVIOContext *s)
{ … }
int avio_closep(AVIOContext **s)
{ … }
const char *avio_find_protocol_name(const char *url)
{ … }
int avio_check(const char *url, int flags)
{ … }
int ffurl_move(const char *url_src, const char *url_dst)
{ … }
int ffurl_delete(const char *url)
{ … }
struct AVIODirContext { … };
int avio_open_dir(AVIODirContext **s, const char *url, AVDictionary **options)
{ … }
int avio_read_dir(AVIODirContext *s, AVIODirEntry **next)
{ … }
int avio_close_dir(AVIODirContext **s)
{ … }
void avio_free_directory_entry(AVIODirEntry **entry)
{ … }
int64_t ffurl_size(URLContext *h)
{ … }
int ffurl_get_file_handle(URLContext *h)
{ … }
int ffurl_get_multi_file_handle(URLContext *h, int **handles, int *numhandles)
{ … }
int ffurl_get_short_seek(void *urlcontext)
{ … }
int ffurl_shutdown(URLContext *h, int flags)
{ … }
int ff_check_interrupt(AVIOInterruptCB *cb)
{ … }
int ff_rename(const char *url_src, const char *url_dst, void *logctx)
{ … }