libavformat/http.c File Reference

#include "libavutil/avstring.h"
#include "avformat.h"
#include <unistd.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   1024
#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)
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_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_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   1024

Definition at line 37 of file http.c.

#define D   AV_OPT_FLAG_DECODING_PARAM

Definition at line 58 of file http.c.

#define DEC   AV_OPT_FLAG_DECODING_PARAM

Definition at line 60 of file http.c.

#define E   AV_OPT_FLAG_ENCODING_PARAM

Definition at line 59 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 67 of file http.c.

#define MAX_REDIRECTS   8

Definition at line 38 of file http.c.

Referenced by http_open_cnx().

#define OFFSET (  )     offsetof(HTTPContext, x)

Definition at line 57 of file http.c.


Function Documentation

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 82 of file http.c.

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

Definition at line 316 of file http.c.

Referenced by http_connect().

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

Definition at line 422 of file http.c.

Referenced by http_read().

HTTP_CLASS ( https   ) 

HTTP_CLASS ( http   ) 

static int http_close ( URLContext h  )  [static]

Definition at line 501 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 324 of file http.c.

Referenced by http_open_cnx().

static int http_get_file_handle ( URLContext h  )  [static]

Definition at line 555 of file http.c.

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

Definition at line 217 of file http.c.

Referenced by http_connect(), and http_read().

static int http_getc ( HTTPContext s  )  [static]

Definition at line 200 of file http.c.

Referenced by http_get_line().

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

Definition at line 183 of file http.c.

static int http_open_cnx ( URLContext h  )  [static]

Definition at line 92 of file http.c.

Referenced by http_open(), and http_seek().

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

Definition at line 446 of file http.c.

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

Definition at line 518 of file http.c.

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

Definition at line 475 of file http.c.

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

Definition at line 241 of file http.c.

Referenced by http_connect().


Variable Documentation

const AVOption options[] [static]

Initial value:

 {
{"chunked_post", "use chunked transfer-encoding for posts", OFFSET(chunked_post), AV_OPT_TYPE_INT, {.dbl = 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},
{NULL}
}

Definition at line 61 of file http.c.


Generated on Fri Oct 26 02:46:13 2012 for FFmpeg by  doxygen 1.5.8