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

Macros

#define INITIAL_BUFFER_SIZE   32768

Typedefs

typedef struct AppleHTTPContext AppleHTTPContext

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.

Macro Definition Documentation

#define INITIAL_BUFFER_SIZE   32768

Definition at line 39 of file applehttp.c.

Referenced by applehttp_read_header().

Typedef Documentation

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 638 of file applehttp.c.

static int applehttp_probe ( AVProbeData p)
static

Definition at line 689 of file applehttp.c.

static int applehttp_read_header ( AVFormatContext s,
AVFormatParameters ap 
)
static

Definition at line 446 of file applehttp.c.

static int applehttp_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 590 of file applehttp.c.

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

Definition at line 646 of file applehttp.c.

static void free_segment_list ( struct variant var)
static

Definition at line 114 of file applehttp.c.

Referenced by 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 
)
staticread

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_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 555 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

AVInputFormat ff_applehttp_demuxer
Initial value:
{
.name = "applehttp",
.long_name = NULL_IF_CONFIG_SMALL("Apple HTTP Live Streaming format"),
.priv_data_size = sizeof(AppleHTTPContext),
}

Definition at line 702 of file applehttp.c.