| FFmpeg
    | 
Apple HTTP Live Streaming demuxer http://tools.ietf.org/html/draft-pantos-http-live-streaming. More...
#include "libavutil/avstring.h"#include "libavutil/avassert.h"#include "libavutil/intreadwrite.h"#include "libavutil/mathematics.h"#include "libavutil/opt.h"#include "libavutil/dict.h"#include "libavutil/time.h"#include "avformat.h"#include "internal.h"#include "avio_internal.h"#include "id3v2.h"Go to the source code of this file.
| Data Structures | |
| struct | segment | 
| struct | playlist | 
| struct | rendition | 
| struct | variant | 
| struct | HLSContext | 
| struct | variant_info | 
| struct | key_info | 
| struct | init_section_info | 
| struct | rendition_info | 
| Macros | |
| #define | INITIAL_BUFFER_SIZE 32768 | 
| #define | MAX_FIELD_LEN 64 | 
| #define | MAX_CHARACTERISTICS_LEN 512 | 
| #define | MPEG_TIME_BASE 90000 | 
| #define | MPEG_TIME_BASE_Q (AVRational){1, MPEG_TIME_BASE} | 
| #define | OFFSET(x) offsetof(HLSContext, x) | 
| #define | FLAGS AV_OPT_FLAG_DECODING_PARAM | 
| Enumerations | |
| enum | KeyType { KEY_NONE, KEY_AES_128, KEY_SAMPLE_AES } | 
| enum | PlaylistType { PLS_TYPE_UNSPECIFIED, PLS_TYPE_EVENT, PLS_TYPE_VOD, PLAYLIST_TYPE_NONE, PLAYLIST_TYPE_EVENT, PLAYLIST_TYPE_VOD, PLAYLIST_TYPE_NB } | 
| enum | ReadFromURLMode { READ_NORMAL, READ_COMPLETE } | 
| Functions | |
| static int | read_chomp_line (AVIOContext *s, char *buf, int maxlen) | 
| static void | free_segment_list (struct playlist *pls) | 
| static void | free_init_section_list (struct playlist *pls) | 
| static void | free_playlist_list (HLSContext *c) | 
| static void | free_variant_list (HLSContext *c) | 
| static void | free_rendition_list (HLSContext *c) | 
| static void | reset_packet (AVPacket *pkt) | 
| static struct playlist * | new_playlist (HLSContext *c, const char *url, const char *base) | 
| static struct variant * | new_variant (HLSContext *c, struct variant_info *info, 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 struct segment * | new_init_section (struct playlist *pls, struct init_section_info *info, const char *url_base) | 
| static void | handle_init_section_args (struct init_section_info *info, const char *key, int key_len, char **dest, int *dest_len) | 
| static struct rendition * | new_rendition (HLSContext *c, struct rendition_info *info, const char *url_base) | 
| static void | handle_rendition_args (struct rendition_info *info, const char *key, int key_len, char **dest, int *dest_len) | 
| static int | ensure_playlist (HLSContext *c, struct playlist **pls, const char *url) | 
| static void | update_options (char **dest, const char *name, void *src) | 
| static int | open_url (AVFormatContext *s, AVIOContext **pb, const char *url, AVDictionary *opts, AVDictionary *opts2, int *is_http) | 
| static int | parse_playlist (HLSContext *c, const char *url, struct playlist *pls, AVIOContext *in) | 
| static struct segment * | current_segment (struct playlist *pls) | 
| static int | read_from_url (struct playlist *pls, struct segment *seg, uint8_t *buf, int buf_size, enum ReadFromURLMode mode) | 
| static void | parse_id3 (AVFormatContext *s, AVIOContext *pb, AVDictionary **metadata, int64_t *dts, ID3v2ExtraMetaAPIC **apic, ID3v2ExtraMeta **extra_meta) | 
| static int | id3_has_changed_values (struct playlist *pls, AVDictionary *metadata, ID3v2ExtraMetaAPIC *apic) | 
| static void | handle_id3 (AVIOContext *pb, struct playlist *pls) | 
| static void | intercept_id3 (struct playlist *pls, uint8_t *buf, int buf_size, int *len) | 
| static int | open_input (HLSContext *c, struct playlist *pls, struct segment *seg) | 
| static int | update_init_section (struct playlist *pls, struct segment *seg) | 
| static int64_t | default_reload_interval (struct playlist *pls) | 
| static int | read_data (void *opaque, uint8_t *buf, int buf_size) | 
| static void | add_renditions_to_variant (HLSContext *c, struct variant *var, enum AVMediaType type, const char *group_id) | 
| static void | add_metadata_from_renditions (AVFormatContext *s, struct playlist *pls, enum AVMediaType type) | 
| static int | find_timestamp_in_playlist (HLSContext *c, struct playlist *pls, int64_t timestamp, int *seq_no) | 
| static int | select_cur_seq_no (HLSContext *c, struct playlist *pls) | 
| static int | save_avio_options (AVFormatContext *s) | 
| static int | nested_io_open (AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **opts) | 
| static void | add_stream_to_programs (AVFormatContext *s, struct playlist *pls, AVStream *stream) | 
| static int | update_streams_from_subdemuxer (AVFormatContext *s, struct playlist *pls) | 
| static void | update_noheader_flag (AVFormatContext *s) | 
| static int | hls_read_header (AVFormatContext *s) | 
| static int | recheck_discard_flags (AVFormatContext *s, int first) | 
| static void | fill_timing_for_id3_timestamped_stream (struct playlist *pls) | 
| static AVRational | get_timebase (struct playlist *pls) | 
| static int | compare_ts_with_wrapdetect (int64_t ts_a, struct playlist *pls_a, int64_t ts_b, struct playlist *pls_b) | 
| static int | hls_read_packet (AVFormatContext *s, AVPacket *pkt) | 
| static int | hls_close (AVFormatContext *s) | 
| static int | hls_read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) | 
| static int | hls_probe (AVProbeData *p) | 
| Variables | |
| static const AVOption | hls_options [] | 
| static const AVClass | hls_class | 
| AVInputFormat | ff_hls_demuxer | 
Apple HTTP Live Streaming demuxer http://tools.ietf.org/html/draft-pantos-http-live-streaming.
Definition in file hls.c.
| #define INITIAL_BUFFER_SIZE 32768 | 
Definition at line 41 of file hls.c.
Referenced by hls_read_header().
| #define MPEG_TIME_BASE 90000 | 
Definition at line 46 of file hls.c.
Referenced by update_streams_from_subdemuxer().
| #define MPEG_TIME_BASE_Q (AVRational){1, MPEG_TIME_BASE} | 
Definition at line 47 of file hls.c.
Referenced by compare_ts_with_wrapdetect(), fill_timing_for_id3_timestamped_stream(), and get_timebase().
| #define OFFSET | ( | x | ) | offsetof(HLSContext, x) | 
| #define FLAGS AV_OPT_FLAG_DECODING_PARAM | 
| enum PlaylistType | 
| enum ReadFromURLMode | 
| 
 | static | 
Definition at line 209 of file hls.c.
Referenced by parse_playlist().
Definition at line 217 of file hls.c.
Referenced by free_playlist_list(), and parse_playlist().
Definition at line 229 of file hls.c.
Referenced by free_playlist_list().
| 
 | static | 
Definition at line 240 of file hls.c.
Referenced by hls_close(), and hls_read_header().
| 
 | static | 
Definition at line 271 of file hls.c.
Referenced by hls_close(), and hls_read_header().
| 
 | static | 
Definition at line 283 of file hls.c.
Referenced by hls_close(), and hls_read_header().
Definition at line 296 of file hls.c.
Referenced by hls_read_packet(), hls_read_seek(), and new_playlist().
| 
 | static | 
Definition at line 302 of file hls.c.
Referenced by new_rendition(), and new_variant().
| 
 | static | 
Definition at line 327 of file hls.c.
Referenced by ensure_playlist(), and parse_playlist().
| 
 | static | 
Definition at line 353 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 377 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 397 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 434 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 458 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 536 of file hls.c.
Referenced by parse_playlist().
| 
 | static | 
Definition at line 580 of file hls.c.
Referenced by parse_playlist().
Definition at line 590 of file hls.c.
Referenced by hls_read_header(), and open_url().
| 
 | static | 
Definition at line 598 of file hls.c.
Referenced by open_input().
| 
 | static | 
Definition at line 646 of file hls.c.
Referenced by hls_read_header(), read_data(), and select_cur_seq_no().
Definition at line 850 of file hls.c.
Referenced by intercept_id3(), and read_data().
| 
 | static | 
Definition at line 860 of file hls.c.
Referenced by intercept_id3(), read_data(), and update_init_section().
| 
 | static | 
Definition at line 884 of file hls.c.
Referenced by handle_id3().
| 
 | static | 
Definition at line 910 of file hls.c.
Referenced by handle_id3().
| 
 | static | 
Definition at line 939 of file hls.c.
Referenced by intercept_id3().
Definition at line 980 of file hls.c.
Referenced by read_data().
| 
 | static | 
Definition at line 1080 of file hls.c.
Referenced by read_data(), and update_init_section().
Definition at line 1176 of file hls.c.
Referenced by read_data().
| 
 | static | 
Definition at line 1233 of file hls.c.
Referenced by read_data(), and select_cur_seq_no().
Definition at line 1240 of file hls.c.
Referenced by hls_read_header(), pulse_read_packet(), and tls_client_handshake_loop().
| 
 | static | 
Definition at line 1352 of file hls.c.
Referenced by hls_read_header().
| 
 | static | 
Definition at line 1376 of file hls.c.
Referenced by hls_read_header().
| 
 | static | 
Definition at line 1408 of file hls.c.
Referenced by hls_read_seek(), and select_cur_seq_no().
| 
 | static | 
Definition at line 1434 of file hls.c.
Referenced by hls_read_header(), and recheck_discard_flags().
| 
 | static | 
Definition at line 1473 of file hls.c.
Referenced by hls_read_header().
| 
 | static | 
Definition at line 1495 of file hls.c.
Referenced by hls_read_header().
| 
 | static | 
Definition at line 1505 of file hls.c.
Referenced by update_streams_from_subdemuxer().
| 
 | static | 
Definition at line 1532 of file hls.c.
Referenced by hls_read_header(), and hls_read_packet().
| 
 | static | 
Definition at line 1559 of file hls.c.
Referenced by hls_read_header(), and hls_read_packet().
| 
 | static | 
| 
 | static | 
Definition at line 1787 of file hls.c.
Referenced by hls_read_packet().
Definition at line 1827 of file hls.c.
Referenced by hls_read_packet().
| 
 | static | 
Definition at line 1852 of file hls.c.
Referenced by compare_ts_with_wrapdetect(), and hls_read_packet().
| 
 | static | 
Definition at line 1860 of file hls.c.
Referenced by hls_read_packet().
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| AVInputFormat ff_hls_demuxer | 
 1.8.6
 1.8.6