libavformat/http.c File Reference

#include "libavutil/avstring.h"
#include "avformat.h"
#include "internal.h"
#include "network.h"
#include "http.h"
#include "os_support.h"
#include "httpauth.h"
#include "url.h"
#include "libavutil/opt.h"

Go to the source code of this file.

Data Structures

struct  HTTPContext

Defines

#define BUFFER_SIZE   4096
#define MAX_REDIRECTS   8
#define OFFSET(x)   offsetof(HTTPContext, x)
#define D   AV_OPT_FLAG_DECODING_PARAM
#define E   AV_OPT_FLAG_ENCODING_PARAM
#define DEC   AV_OPT_FLAG_DECODING_PARAM
#define HTTP_CLASS(flavor)

Functions

 HTTP_CLASS (http)
 HTTP_CLASS (https)
static int http_connect (URLContext *h, const char *path, const char *local_path, const char *hoststr, const char *auth, const char *proxyauth, int *new_location)
void ff_http_init_auth_state (URLContext *dest, const URLContext *src)
 Initialize the authentication state based on another HTTP URLContext.
static int http_open_cnx (URLContext *h)
int ff_http_do_new_request (URLContext *h, const char *uri)
 Send a new HTTP request, reusing the old connection.
static int http_open (URLContext *h, const char *uri, int flags)
static int http_getc (HTTPContext *s)
static int http_get_line (HTTPContext *s, char *line, int line_size)
static int process_line (URLContext *h, char *line, int line_count, int *new_location)
static int has_header (const char *str, const char *header)
static int http_read_header (URLContext *h, int *new_location)
static int http_buf_read (URLContext *h, uint8_t *buf, int size)
static int http_read (URLContext *h, uint8_t *buf, int size)
static int http_write (URLContext *h, const uint8_t *buf, int size)
static int http_shutdown (URLContext *h, int flags)
static int http_close (URLContext *h)
static int64_t http_seek (URLContext *h, int64_t off, int whence)
static int http_get_file_handle (URLContext *h)

Variables

static const AVOption options []


Define Documentation

#define BUFFER_SIZE   4096

Definition at line 36 of file http.c.

#define D   AV_OPT_FLAG_DECODING_PARAM

Definition at line 63 of file http.c.

#define DEC   AV_OPT_FLAG_DECODING_PARAM

Definition at line 65 of file http.c.

#define E   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 64 of file http.c.

#define HTTP_CLASS ( flavor   ) 

Value:

static const AVClass flavor ## _context_class = {\
    .class_name     = #flavor,\
    .item_name      = av_default_item_name,\
    .option         = options,\
    .version        = LIBAVUTIL_VERSION_INT,\
}

Definition at line 74 of file http.c.

#define MAX_REDIRECTS   8

Definition at line 37 of file http.c.

Referenced by http_open_cnx().

#define OFFSET (  )     offsetof(HTTPContext, x)

Definition at line 62 of file http.c.


Function Documentation

int ff_http_do_new_request ( URLContext h,
const char *  uri 
)

Send a new HTTP request, reusing the old connection.

Parameters:
h pointer to the resource
uri uri used to perform the request
Returns:
a negative value if an error condition occurred, 0 otherwise

Definition at line 196 of file http.c.

Referenced by rtmp_http_send_cmd().

void ff_http_init_auth_state ( URLContext dest,
const URLContext src 
)

Initialize the authentication state based on another HTTP URLContext.

This can be used to pre-initialize the authentication parameters if they are known beforehand, to avoid having to do an initial failing request just to get the parameters.

Parameters:
dest URL context whose authentication state gets updated
src URL context whose authentication state gets copied

Definition at line 89 of file http.c.

static int has_header ( const char *  str,
const char *  header 
) [inline, static]

Definition at line 344 of file http.c.

Referenced by http_connect().

static int http_buf_read ( URLContext h,
uint8_t buf,
int  size 
) [static]

Definition at line 491 of file http.c.

Referenced by http_read().

HTTP_CLASS ( https   ) 

HTTP_CLASS ( http   ) 

static int http_close ( URLContext h  )  [static]

Definition at line 596 of file http.c.

static int http_connect ( URLContext h,
const char *  path,
const char *  local_path,
const char *  hoststr,
const char *  auth,
const char *  proxyauth,
int new_location 
) [static]

Definition at line 377 of file http.c.

Referenced by http_open_cnx().

static int http_get_file_handle ( URLContext h  )  [static]

Definition at line 648 of file http.c.

static int http_get_line ( HTTPContext s,
char *  line,
int  line_size 
) [static]

Definition at line 240 of file http.c.

Referenced by http_read(), and http_read_header().

static int http_getc ( HTTPContext s  )  [static]

Definition at line 223 of file http.c.

Referenced by http_get_line().

static int http_open ( URLContext h,
const char *  uri,
int  flags 
) [static]

Definition at line 206 of file http.c.

static int http_open_cnx ( URLContext h  )  [static]

Definition at line 99 of file http.c.

Referenced by ff_http_do_new_request(), http_open(), and http_seek().

static int http_read ( URLContext h,
uint8_t buf,
int  size 
) [static]

Definition at line 515 of file http.c.

static int http_read_header ( URLContext h,
int new_location 
) [static]

Definition at line 352 of file http.c.

Referenced by http_connect(), and http_read().

static int64_t http_seek ( URLContext h,
int64_t  off,
int  whence 
) [static]

Definition at line 611 of file http.c.

static int http_shutdown ( URLContext h,
int  flags 
) [static]

Definition at line 580 of file http.c.

Referenced by http_close().

static int http_write ( URLContext h,
const uint8_t buf,
int  size 
) [static]

Definition at line 554 of file http.c.

static int process_line ( URLContext h,
char *  line,
int  line_count,
int new_location 
) [static]

Definition at line 264 of file http.c.

Referenced by http_read_header().


Variable Documentation

const AVOption options[] [static]

Initial value:

 {
{"chunked_post", "use chunked transfer-encoding for posts", OFFSET(chunked_post), AV_OPT_TYPE_INT, {.i64 = 1}, 0, 1, E },
{"headers", "custom HTTP headers, can override built in default headers", OFFSET(headers), AV_OPT_TYPE_STRING, { 0 }, 0, 0, D|E },
{"user-agent", "override User-Agent header", OFFSET(user_agent), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, DEC},
{"multiple_requests", "use persistent connections", OFFSET(multiple_requests), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 1, D|E },
{"post_data", "custom HTTP post data", OFFSET(post_data), AV_OPT_TYPE_BINARY, .flags = D|E },
{NULL}
}

Definition at line 66 of file http.c.


Generated on Fri Oct 26 02:50:10 2012 for FFmpeg by  doxygen 1.5.8