libavformat/applehttp.c File Reference

Apple HTTP Live Streaming demuxer http://tools.ietf.org/html/draft-pantos-http-live-streaming. More...

#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "avformat.h"
#include "internal.h"
#include <unistd.h>
#include "avio_internal.h"
#include "url.h"

Go to the source code of this file.

Data Structures

struct  segment
struct  variant
struct  AppleHTTPContext
struct  variant_info
struct  key_info

Defines

#define INITIAL_BUFFER_SIZE   32768

Enumerations

enum  KeyType { KEY_NONE, KEY_AES_128 }

Functions

static int read_chomp_line (AVIOContext *s, char *buf, int maxlen)
static void free_segment_list (struct variant *var)
static void free_variant_list (AppleHTTPContext *c)
static void reset_packet (AVPacket *pkt)
static struct variantnew_variant (AppleHTTPContext *c, int bandwidth, const char *url, const char *base)
static void handle_variant_args (struct variant_info *info, const char *key, int key_len, char **dest, int *dest_len)
static void handle_key_args (struct key_info *info, const char *key, int key_len, char **dest, int *dest_len)
static int parse_playlist (AppleHTTPContext *c, const char *url, struct variant *var, AVIOContext *in)
static int open_input (struct variant *var)
static int read_data (void *opaque, uint8_t *buf, int buf_size)
static int applehttp_read_header (AVFormatContext *s, AVFormatParameters *ap)
static int recheck_discard_flags (AVFormatContext *s, int first)
static int applehttp_read_packet (AVFormatContext *s, AVPacket *pkt)
static int applehttp_close (AVFormatContext *s)
static int applehttp_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
static int applehttp_probe (AVProbeData *p)

Variables

AVInputFormat ff_applehttp_demuxer


Detailed Description

Apple HTTP Live Streaming demuxer http://tools.ietf.org/html/draft-pantos-http-live-streaming.

Definition in file applehttp.c.


Define Documentation

#define INITIAL_BUFFER_SIZE   32768

Definition at line 39 of file applehttp.c.

Referenced by applehttp_read_header().


Enumeration Type Documentation

enum KeyType

Enumerator:
KEY_NONE 
KEY_AES_128 

Definition at line 53 of file applehttp.c.


Function Documentation

static int applehttp_close ( AVFormatContext s  )  [static]

Definition at line 629 of file applehttp.c.

Referenced by applehttp_open().

static int applehttp_probe ( AVProbeData p  )  [static]

Definition at line 681 of file applehttp.c.

static int applehttp_read_header ( AVFormatContext s,
AVFormatParameters ap 
) [static]

Definition at line 437 of file applehttp.c.

static int applehttp_read_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 581 of file applehttp.c.

static int applehttp_read_seek ( AVFormatContext s,
int  stream_index,
int64_t  timestamp,
int  flags 
) [static]

Definition at line 637 of file applehttp.c.

static void free_segment_list ( struct variant var  )  [static]

Definition at line 114 of file applehttp.c.

Referenced by applehttp_close(), free_variant_list(), and parse_playlist().

static void free_variant_list ( AppleHTTPContext c  )  [static]

Definition at line 123 of file applehttp.c.

Referenced by applehttp_close(), and applehttp_read_header().

static void handle_key_args ( struct key_info info,
const char *  key,
int  key_len,
char **  dest,
int *  dest_len 
) [static]

Definition at line 185 of file applehttp.c.

Referenced by parse_playlist().

static void handle_variant_args ( struct variant_info info,
const char *  key,
int  key_len,
char **  dest,
int *  dest_len 
) [static]

Definition at line 170 of file applehttp.c.

Referenced by parse_playlist().

static struct variant* new_variant ( AppleHTTPContext c,
int  bandwidth,
const char *  url,
const char *  base 
) [static, read]

Definition at line 153 of file applehttp.c.

Referenced by parse_playlist().

static int open_input ( struct variant var  )  [static]

Definition at line 324 of file applehttp.c.

Referenced by read_data().

static int parse_playlist ( AppleHTTPContext c,
const char *  url,
struct variant var,
AVIOContext in 
) [static]

Definition at line 200 of file applehttp.c.

Referenced by applehttp_open(), applehttp_read(), applehttp_read_header(), and read_data().

static int read_chomp_line ( AVIOContext s,
char *  buf,
int  maxlen 
) [static]

Definition at line 106 of file applehttp.c.

Referenced by parse_playlist().

static int read_data ( void *  opaque,
uint8_t *  buf,
int  buf_size 
) [static]

Definition at line 371 of file applehttp.c.

Referenced by applehttp_read_header().

static int recheck_discard_flags ( AVFormatContext s,
int  first 
) [static]

Definition at line 546 of file applehttp.c.

Referenced by applehttp_read_packet().

static void reset_packet ( AVPacket pkt  )  [static]

Definition at line 147 of file applehttp.c.

Referenced by applehttp_read_packet(), applehttp_read_seek(), and new_variant().


Variable Documentation

Initial value:

 {
    .name           = "applehttp",
    .long_name      = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
    .priv_data_size = sizeof(AppleHTTPContext),
    .read_probe     = applehttp_probe,
    .read_header    = applehttp_read_header,
    .read_packet    = applehttp_read_packet,
    .read_close     = applehttp_close,
    .read_seek      = applehttp_read_seek,
}

Definition at line 694 of file applehttp.c.


Generated on Fri Oct 26 02:43:51 2012 for FFmpeg by  doxygen 1.5.8