FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions | Variables
hlsproto.c File Reference

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

#include "libavutil/avstring.h"
#include "libavutil/time.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "url.h"
#include "version.h"

Go to the source code of this file.

Data Structures

struct  segment
 
struct  variant
 
struct  HLSContext
 
struct  variant_info
 

Functions

static int read_chomp_line (AVIOContext *s, char *buf, int maxlen)
 
static void free_segment_list (HLSContext *s)
 
static void free_variant_list (HLSContext *s)
 
static void handle_variant_args (struct variant_info *info, const char *key, int key_len, char **dest, int *dest_len)
 
static int parse_playlist (URLContext *h, const char *url)
 
static int hls_close (URLContext *h)
 
static int hls_open (URLContext *h, const char *uri, int flags)
 
static int hls_read (URLContext *h, uint8_t *buf, int size)
 

Variables

const URLProtocol ff_hls_protocol
 

Detailed Description

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

Definition in file hlsproto.c.

Function Documentation

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

Definition at line 72 of file hlsproto.c.

Referenced by parse_playlist().

static void free_segment_list ( HLSContext s)
static

Definition at line 80 of file hlsproto.c.

Referenced by hls_close(), and parse_playlist().

static void free_variant_list ( HLSContext s)
static

Definition at line 89 of file hlsproto.c.

Referenced by hls_close().

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

Definition at line 102 of file hlsproto.c.

Referenced by parse_playlist().

static int parse_playlist ( URLContext h,
const char *  url 
)
static

Definition at line 111 of file hlsproto.c.

Referenced by hls_open(), and hls_read().

static int hls_close ( URLContext h)
static

Definition at line 183 of file hlsproto.c.

Referenced by hls_open().

static int hls_open ( URLContext h,
const char *  uri,
int  flags 
)
static

Definition at line 193 of file hlsproto.c.

static int hls_read ( URLContext h,
uint8_t buf,
int  size 
)
static

Definition at line 257 of file hlsproto.c.

Variable Documentation

const URLProtocol ff_hls_protocol
Initial value:
= {
.name = "hls",
.url_open = hls_open,
.url_read = hls_read,
.url_close = hls_close,
.priv_data_size = sizeof(HLSContext),
}
#define URL_PROTOCOL_FLAG_NESTED_SCHEME
Definition: url.h:33
static int hls_read(URLContext *h, uint8_t *buf, int size)
Definition: hlsproto.c:257
static int hls_open(URLContext *h, const char *uri, int flags)
Definition: hlsproto.c:193
static int hls_close(URLContext *h)
Definition: hlsproto.c:183

Definition at line 321 of file hlsproto.c.