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 |
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 variant * | new_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 |
Apple HTTP Live Streaming demuxer http://tools.ietf.org/html/draft-pantos-http-live-streaming.
Definition in file applehttp.c.
#define INITIAL_BUFFER_SIZE 32768 |
Definition at line 39 of file applehttp.c.
Referenced by applehttp_read_header().
typedef struct AppleHTTPContext AppleHTTPContext |
enum KeyType |
Definition at line 53 of file applehttp.c.
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 | ||
) | [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_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().
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().
{ .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 702 of file applehttp.c.