FFmpeg
Data Structures | Functions | Variables
hlsproto.c File Reference
#include "libavutil/avstring.h"
#include "libavutil/time.h"
#include "avio_internal.h"
#include "internal.h"
#include "url.h"

Go to the source code of this file.

Data Structures

struct  segment
 
struct  variant
 
struct  HLSContext
 
struct  variant_info
 

Functions

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 https://www.rfc-editor.org/rfc/rfc8216.txt

Definition in file hlsproto.c.

Function Documentation

◆ free_segment_list()

static void free_segment_list ( HLSContext s)
static

Definition at line 70 of file hlsproto.c.

Referenced by hls_close(), and parse_playlist().

◆ free_variant_list()

static void free_variant_list ( HLSContext s)
static

Definition at line 79 of file hlsproto.c.

Referenced by hls_close().

◆ handle_variant_args()

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

Definition at line 92 of file hlsproto.c.

Referenced by parse_playlist().

◆ parse_playlist()

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

Definition at line 101 of file hlsproto.c.

Referenced by hls_open(), and hls_read().

◆ hls_close()

static int hls_close ( URLContext h)
static

Definition at line 173 of file hlsproto.c.

Referenced by hls_open().

◆ hls_open()

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

Definition at line 183 of file hlsproto.c.

◆ hls_read()

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

Definition at line 247 of file hlsproto.c.

Variable Documentation

◆ ff_hls_protocol

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),
}

Definition at line 310 of file hlsproto.c.

hls_open
static int hls_open(URLContext *h, const char *uri, int flags)
Definition: hlsproto.c:183
hls_close
static int hls_close(URLContext *h)
Definition: hlsproto.c:173
hls_read
static int hls_read(URLContext *h, uint8_t *buf, int size)
Definition: hlsproto.c:247
URL_PROTOCOL_FLAG_NESTED_SCHEME
#define URL_PROTOCOL_FLAG_NESTED_SCHEME
Definition: url.h:32
HLSContext
Definition: hls.c:204