|
FFmpeg
|
#include "config_components.h"#include <curl/curl.h>#include <inttypes.h>#include <limits.h>#include <stdlib.h>#include <string.h>#include "libavutil/avstring.h"#include "libavutil/bprint.h"#include "libavutil/error.h"#include "libavutil/fifo.h"#include "libavutil/log.h"#include "libavutil/macros.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/thread.h"#include "libavutil/time.h"#include "avformat.h"#include "http.h"#include "internal.h"#include "url.h"#include "version.h"Go to the source code of this file.
Data Structures | |
| struct | CurlCmd |
| struct | CurlLoop |
| struct | CurlContext |
Macros | |
| #define | DEFAULT_USER_AGENT "Lavf/" AV_STRINGIFY(LIBAVFORMAT_VERSION) |
| #define | CURL_DEFAULT_BUFFER_SIZE (4 << 20) |
| #define | CURL_WAIT_US 100000 |
| #define | OFFSET(x) offsetof(CurlContext, x) |
| #define | D AV_OPT_FLAG_DECODING_PARAM |
| #define | E AV_OPT_FLAG_ENCODING_PARAM |
Enumerations | |
| enum | cmd_kind { CMD_ADD, CMD_REMOVE, CMD_UNPAUSE, CMD_SEEK } |
Functions | |
| static int | curlcode_to_averror (CURLcode code) |
| static int | is_recoverable (CURLcode code) |
| static size_t | write_callback (char *ptr, size_t size, size_t nmemb, void *userdata) |
| static int64_t | parse_offset (const char *s) |
| static void | parse_content_range (CurlContext *c, const char *v) |
| static size_t | header_callback (char *ptr, size_t size, size_t nitems, void *userdata) |
| static int | xferinfo_callback (void *userdata, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow) |
| static void | start_request (CurlContext *c) |
| static void | update_statistics (CurlContext *c) |
| static void | on_done (CurlContext *c, CURLcode code) |
| static void | execute_command (CurlLoop *loop, CurlCmd *cmd) |
| static void * | curl_worker (void *arg) |
| static int | curl_dispatch (CurlLoop *loop, enum cmd_kind kind, CurlContext *c, int64_t pos, int sync) |
| static CurlLoop * | curl_loop_create (AVFormatContext *avfc) |
| static void | print_statistics (CurlLoop *loop) |
| static void | curl_loop_destroy (CurlLoop *loop) |
| static int | curl_loop_attach (CurlContext *c, AVFormatContext *avfc) |
| void | ff_curl_loop_free (struct CurlLoop **loop) |
| Release a libcurl event loop and set *loop to NULL. More... | |
| static int | libcurl_close (URLContext *h) |
| static int | debug_callback (CURL *easy, curl_infotype type, char *data, size_t size, void *userdata) |
| static struct curl_slist * | build_headers (CurlContext *c) |
| static int | setup_protocols (CurlContext *c) |
| static void | setup_curl (CurlContext *c) |
| static void | curl_cond_wait (CurlContext *c) |
| static int | wait_for_probe (CurlContext *c) |
| static int | libcurl_open (URLContext *h, const char *url, int flags, AVDictionary **options) |
| static int | libcurl_read (URLContext *h, unsigned char *buf, int size) |
| static int64_t | libcurl_seek (URLContext *h, int64_t pos, int whence) |
Variables | |
| static AVMutex | curl_loop_lock = AV_MUTEX_INITIALIZER |
| static const AVOption | options [] |
| static const AVClass | libcurl_context_class |
| const URLProtocol | ff_libcurl_protocol |
| #define DEFAULT_USER_AGENT "Lavf/" AV_STRINGIFY(LIBAVFORMAT_VERSION) |
| #define OFFSET | ( | x | ) | offsetof(CurlContext, x) |
| #define D AV_OPT_FLAG_DECODING_PARAM |
| #define E AV_OPT_FLAG_ENCODING_PARAM |
| enum cmd_kind |
|
static |
|
static |
|
static |
Definition at line 202 of file libcurl.c.
Referenced by setup_curl().
|
static |
Definition at line 232 of file libcurl.c.
Referenced by parse_content_range().
|
static |
Definition at line 239 of file libcurl.c.
Referenced by header_callback().
|
static |
Definition at line 259 of file libcurl.c.
Referenced by setup_curl().
|
static |
Definition at line 373 of file libcurl.c.
Referenced by setup_curl().
|
static |
Definition at line 386 of file libcurl.c.
Referenced by execute_command(), and on_done().
|
static |
Definition at line 427 of file libcurl.c.
Referenced by execute_command(), and on_done().
|
static |
Definition at line 452 of file libcurl.c.
Referenced by curl_worker().
Definition at line 526 of file libcurl.c.
Referenced by curl_worker().
|
static |
Definition at line 565 of file libcurl.c.
Referenced by curl_loop_create().
|
static |
Definition at line 624 of file libcurl.c.
Referenced by libcurl_close(), libcurl_open(), libcurl_read(), and libcurl_seek().
|
static |
Definition at line 654 of file libcurl.c.
Referenced by curl_loop_attach().
|
static |
Definition at line 699 of file libcurl.c.
Referenced by curl_loop_destroy().
|
static |
Definition at line 716 of file libcurl.c.
Referenced by ff_curl_loop_free(), and libcurl_close().
|
static |
Definition at line 740 of file libcurl.c.
Referenced by libcurl_open().
| void ff_curl_loop_free | ( | struct CurlLoop ** | loop | ) |
Release a libcurl event loop and set *loop to NULL.
No-op when loop or *loop is NULL.
Definition at line 759 of file libcurl.c.
Referenced by avformat_free_context().
|
static |
Definition at line 1145 of file libcurl.c.
Referenced by libcurl_open().
|
static |
Definition at line 773 of file libcurl.c.
Referenced by setup_curl().
|
static |
Definition at line 801 of file libcurl.c.
Referenced by setup_curl().
|
static |
Definition at line 825 of file libcurl.c.
Referenced by libcurl_open().
|
static |
Definition at line 866 of file libcurl.c.
Referenced by libcurl_open().
|
static |
Definition at line 943 of file libcurl.c.
Referenced by libcurl_read(), and wait_for_probe().
|
static |
Definition at line 953 of file libcurl.c.
Referenced by libcurl_open().
|
static |
|
static |
|
static |
|
static |
Definition at line 159 of file libcurl.c.
Referenced by curl_loop_attach().
|
static |
| const URLProtocol ff_libcurl_protocol |
Definition at line 1214 of file libcurl.c.
Referenced by url_open_whitelist().
1.8.17