|
static Bool | gf_mpd_parse_bool (const char *const attr) |
|
static char * | gf_mpd_parse_string (char *attr) |
|
static Bool | gf_mpd_valid_child (GF_MPD *mpd, GF_XMLNode *child) |
|
static char * | gf_mpd_parse_text_content (GF_XMLNode *child) |
|
static u32 | gf_mpd_parse_int (const char *const attr) |
|
static u64 | gf_mpd_parse_long_int (const char *const attr) |
|
static Double | gf_mpd_parse_double (const char *const attr) |
|
static GF_MPD_Fractional * | gf_mpd_parse_frac (const char *const attr, const char sep, GF_MPD_Fractional *res) |
|
static GF_Fraction | gf_mpd_parse_fraction (const char *const attr) |
|
u64 | gf_mpd_parse_date (const char *const attr) |
|
static u64 | gf_mpd_parse_duration (const char *const duration) |
|
static u32 | gf_mpd_parse_duration_u32 (const char *const duration) |
|
static GF_MPD_ByteRange * | gf_mpd_parse_byte_range (const char *const attr) |
|
GF_Err | gf_mpd_parse_base_url (GF_List *container, GF_XMLNode *node) |
|
static GF_Err | gf_mpd_parse_program_info (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_MPD_URL * | gf_mpd_parse_url (GF_XMLNode *root) |
|
static void | gf_mpd_parse_segment_base_generic (GF_MPD *mpd, GF_MPD_SegmentBase *seg, GF_XMLNode *root) |
|
static GF_MPD_SegmentTimeline * | gf_mpd_parse_segment_timeline (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_MPD_SegmentBase * | gf_mpd_parse_segment_base (GF_MPD *mpd, GF_XMLNode *root) |
|
void | gf_mpd_parse_multiple_segment_base (GF_MPD *mpd, GF_MPD_MultipleSegmentBase *seg, GF_XMLNode *root) |
|
void | gf_mpd_parse_segment_url (GF_List *container, GF_XMLNode *root) |
|
static GF_MPD_SegmentList * | gf_mpd_parse_segment_list (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_MPD_SegmentTemplate * | gf_mpd_parse_segment_template (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_Err | gf_mpd_parse_content_component (GF_List *comps, GF_XMLNode *root) |
|
static GF_Err | gf_mpd_parse_inband_event (GF_List *comps, GF_XMLNode *root) |
|
static GF_Err | gf_mpd_parse_descriptor_ex (GF_List *container, GF_MPD_Descriptor **out_ptr, GF_XMLNode *root) |
|
static GF_Err | gf_mpd_parse_descriptor (GF_List *container, GF_XMLNode *root) |
|
GF_MPD_ProducerReferenceTime * | gf_mpd_parse_produce_ref_time (GF_XMLNode *root) |
|
static void | gf_mpd_parse_common_representation_attr (GF_MPD *mpd, GF_MPD_CommonAttributes *com, GF_XMLNode *root, GF_XMLAttribute *att, u32 *index) |
|
static void | gf_mpd_parse_common_representation_child (GF_MPD *mpd, GF_MPD_CommonAttributes *com, GF_XMLNode *root, GF_XMLNode *child, u32 *index, u32 child_idx) |
|
static void | gf_mpd_init_common_attributes (GF_MPD_CommonAttributes *com) |
|
GF_MPD_Representation * | gf_mpd_representation_new () |
|
static GF_DASH_SegmenterContext * | gf_mpd_parse_dasher_context (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_List * | gf_mpd_parse_segments_context (GF_MPD *mpd, GF_XMLNode *root) |
|
static GF_Err | gf_mpd_parse_representation (GF_MPD *mpd, GF_List *container, GF_XMLNode *root) |
|
GF_MPD_AdaptationSet * | gf_mpd_adaptation_set_new () |
|
static GF_Err | gf_mpd_parse_adaptation_set (GF_MPD *mpd, GF_List *container, GF_XMLNode *root) |
|
GF_MPD_Period * | gf_mpd_period_new () |
|
GF_Err | gf_mpd_parse_period (GF_MPD *mpd, GF_XMLNode *root) |
|
GF_EXPORT GF_MPD * | gf_mpd_new () |
|
void | gf_mpd_del_list (GF_List *list, void(*__destructor)(void *), Bool reset_only) |
|
void | gf_mpd_base_url_free (void *_item) |
|
void | gf_mpd_url_free (void *_item) |
|
void | gf_mpd_string_free (void *_item) |
|
void | gf_mpd_prog_info_free (void *_item) |
|
void | gf_mpd_segment_url_free (void *_ptr) |
|
void | gf_mpd_segment_base_free (void *_item) |
|
void | gf_mpd_segment_entry_free (void *_item) |
|
void | gf_mpd_segment_timeline_free (void *_item) |
|
void | gf_mpd_segment_list_free (void *_item) |
|
void | gf_mpd_segment_template_free (void *_item) |
|
GF_MPD_Descriptor * | gf_mpd_descriptor_new (const char *id, const char *schemeIdUri, const char *value) |
|
void | gf_mpd_descriptor_free (void *item) |
|
void | gf_mpd_content_component_free (void *item) |
|
void | gf_mpd_inband_event_free (void *item) |
|
void | gf_mpd_producer_reftime_free (void *item) |
|
void | gf_mpd_common_attributes_free (GF_MPD_CommonAttributes *ptr) |
|
void | gf_mpd_representation_free (void *_item) |
|
void | gf_mpd_adaptation_set_free (void *_item) |
|
void | gf_mpd_period_free (void *_item) |
|
GF_EXPORT void | gf_mpd_del (GF_MPD *mpd) |
|
GF_EXPORT GF_Err | gf_mpd_complete_from_dom (GF_XMLNode *root, GF_MPD *mpd, const char *default_base_url) |
|
static void | gf_mpd_init_struct (GF_MPD *mpd) |
|
GF_EXPORT GF_Err | gf_mpd_init_from_dom (GF_XMLNode *root, GF_MPD *mpd, const char *default_base_url) |
|
static char * | group_to_codecs (MasterPlaylist *pl, PlaylistElement *pe, u32 *bandwidth) |
|
static GF_Err | gf_m3u8_fill_mpd_struct (MasterPlaylist *pl, const char *m3u8_file, const char *src_base_url, const char *mpd_file, char *title, Double update_interval, char *mimeTypeForM3U8Segments, Bool do_import, Bool use_mpd_templates, Bool use_segment_timeline, Bool is_end, u32 max_dur, GF_MPD *mpd, Bool parse_sub_playlist) |
|
GF_EXPORT GF_Err | gf_m3u8_to_mpd (const char *m3u8_file, const char *base_url, const char *mpd_file, u32 reload_count, char *mimeTypeForM3U8Segments, Bool do_import, Bool use_mpd_templates, Bool use_segment_timeline, GF_FileDownload *getter, GF_MPD *mpd, Bool parse_sub_playlist, Bool keep_files) |
|
GF_EXPORT GF_Err | gf_m3u8_solve_representation_xlink (GF_MPD_Representation *rep, const char *base_url, GF_FileDownload *getter, Bool *is_static, u64 *duration, u8 last_sig[GF_SHA1_DIGEST_SIZE]) |
|
GF_EXPORT GF_MPD_SegmentList * | gf_mpd_solve_segment_list_xlink (GF_MPD *mpd, GF_XMLNode *root) |
|
GF_EXPORT void | gf_mpd_delete_segment_list (GF_MPD_SegmentList *segment_list) |
|
static GFINLINE void | gf_mpd_lf (FILE *out, s32 indent) |
|
static GFINLINE void | gf_mpd_nl (FILE *out, s32 indent) |
|
void | gf_mpd_print_date (FILE *out, char *name, u64 time) |
|
void | gf_mpd_print_duration (FILE *out, char *name, u64 duration_in_ms, Bool UseHoursAndMinutes) |
|
static void | gf_mpd_print_base_url (FILE *out, GF_MPD_BaseURL *base_URL, s32 indent) |
|
static void | gf_mpd_print_base_urls (FILE *out, GF_List *base_URLs, s32 indent) |
|
static void | gf_mpd_print_url (FILE *out, GF_MPD_URL *url, char *name, s32 indent) |
|
static void | gf_mpd_print_segment_base_attr (FILE *out, GF_MPD_SegmentBase *s) |
|
static void | gf_mpd_print_segment_base (FILE *out, GF_MPD_SegmentBase *s, s32 indent) |
|
static void | gf_mpd_print_segment_timeline (FILE *out, GF_MPD_SegmentTimeline *tl, s32 indent, u32 tsb_first_entry) |
|
GF_MPD_SegmentTimeline * | gf_mpd_segmentimeline_new (void) |
|
static u32 | gf_mpd_print_multiple_segment_base (FILE *out, GF_MPD_MultipleSegmentBase *ms, s32 indent, Bool close_if_no_child) |
|
static void | gf_mpd_print_segment_list (FILE *out, GF_MPD_SegmentList *s, s32 indent) |
|
static void | gf_mpd_print_segment_template (FILE *out, GF_MPD_SegmentTemplate *s, s32 indent) |
|
static void | gf_mpd_extensible_print_attr (FILE *out, GF_List *attributes) |
|
static void | gf_mpd_extensible_print_nodes (FILE *out, GF_List *children, s32 indent, u32 *child_idx, Bool is_final) |
|
static void | gf_mpd_print_desc (FILE *out, GF_MPD_Descriptor *desc, char *desc_name, s32 indent) |
|
static void | gf_mpd_print_descriptors (FILE *out, GF_List *desc_list, char *desc_name, s32 indent, GF_List *x_children, u32 *child_idx) |
|
static void | mpd_print_lang (FILE *out, const char *attVal, const char *attName) |
|
static void | gf_mpd_print_content_component (FILE *out, GF_List *content_component, s32 indent) |
|
static void | gf_mpd_print_inband_event (FILE *out, GF_List *inband_event, s32 indent) |
|
static void | gf_mpd_print_common_attributes (FILE *out, GF_MPD_CommonAttributes *ca) |
|
static u32 | gf_mpd_print_common_children (FILE *out, GF_MPD_CommonAttributes *ca, s32 indent, u32 *child_idx) |
|
static void | gf_mpd_print_dasher_context (FILE *out, GF_DASH_SegmenterContext *dasher, s32 indent) |
|
static void | gf_mpd_print_dasher_segments (FILE *out, GF_List *segments, s32 indent) |
|
static void | gf_mpd_print_representation (GF_MPD_Representation *rep, FILE *out, Bool write_context, s32 indent, u32 alt_mha_profile, Bool skip_mime) |
|
static void | gf_mpd_print_adaptation_set (GF_MPD_AdaptationSet *as, FILE *out, Bool write_context, s32 indent, u32 alt_mha_profile) |
|
static void | gf_mpd_print_period (GF_MPD_Period const *const period, Bool is_dynamic, FILE *out, Bool write_context, s32 indent) |
|
static GF_Err | mpd_write_generation_comment (GF_MPD const *const mpd, FILE *out) |
|
static void | gf_mpd_write_m3u8_playlist_tags_entry (FILE *out, const GF_MPD_Representation *rep, char *m3u8_name, const char *codec_ext, const char *g_type, const char *g_id_pref, const char *g2_type, const char *g2_id_pref, const GF_MPD_AdaptationSet *set, u32 max_alt_bandwidth, u32 max_alt_width, u32 max_alt_height, Double max_alt_fps, u32 hls_version) |
|
static void | gf_mpd_write_m3u8_playlist_tags (const GF_MPD_AdaptationSet *as, u32 as_idx, const GF_MPD_Representation *rep, FILE *out, char *m3u8_name, GF_MPD_Period *period, u32 nb_alt_media, u32 nb_subs, u32 nb_cc, const char *forced_inf_ids, u32 hls_version) |
|
static const char * | gf_mpd_m3u8_get_init_seg (const GF_MPD_Period *period, const GF_MPD_AdaptationSet *as, const GF_MPD_Representation *rep) |
|
static void | hls_insert_crypt_info (FILE *out, GF_MPD_Representation *rep, GF_DASH_SegmentContext *sctx, const char **last_kms) |
|
static GF_Err | gf_mpd_write_m3u8_playlist (const GF_MPD *mpd, const GF_MPD_Period *period, const GF_MPD_AdaptationSet *as, GF_MPD_Representation *rep, char *m3u8_name, u32 hls_version, Double max_part_dur_session, const char *force_base_url) |
|
GF_Err | gf_mpd_write_m3u8_master_playlist (GF_MPD const *const mpd, FILE *out, const char *m3u8_name, GF_MPD_Period *period, GF_M3U8WriteMode mode) |
|
GF_Err | gf_mpd_write (GF_MPD const *const mpd, FILE *out, Bool compact) |
|
GF_EXPORT GF_Err | gf_mpd_write_file (GF_MPD const *const mpd, const char *file_name) |
|
GF_EXPORT u32 | gf_mpd_get_base_url_count (GF_MPD *mpd, GF_MPD_Period *period, GF_MPD_AdaptationSet *set, GF_MPD_Representation *rep) |
|
static char * | gf_mpd_get_base_url (GF_List *baseURLs, char *parent_url, u32 *base_url_index) |
|
GF_EXPORT GF_Err | gf_mpd_resolve_url (GF_MPD *mpd, GF_MPD_Representation *rep, GF_MPD_AdaptationSet *set, GF_MPD_Period *period, const char *mpd_url, u32 base_url_index, GF_MPD_URLResolveType resolve_type, u32 item_index, u32 nb_segments_removed, char **out_url, u64 *out_range_start, u64 *out_range_end, u64 *segment_duration_in_ms, Bool *is_in_base_url, char **out_key_url, bin128 *out_key_iv, u32 *out_start_number, s32 subseg_index) |
|
GF_EXPORT Double | gf_mpd_get_duration (GF_MPD *mpd) |
|
GF_EXPORT void | gf_mpd_resolve_segment_duration (GF_MPD_Representation *rep, GF_MPD_AdaptationSet *set, GF_MPD_Period *period, u64 *out_duration, u32 *out_timescale, u64 *out_pts_offset, GF_MPD_SegmentTimeline **out_segment_timeline) |
|
static u64 | gf_mpd_segment_timeline_start (GF_MPD_SegmentTimeline *timeline, u32 segment_index, u64 *segment_duration) |
|
GF_EXPORT GF_Err | gf_mpd_get_segment_start_time_with_timescale (s32 in_segment_index, GF_MPD_Period const *const period, GF_MPD_AdaptationSet const *const set, GF_MPD_Representation const *const rep, u64 *out_segment_start_time, u64 *out_opt_segment_duration, u32 *out_opt_scale) |
|
GF_EXPORT GF_Err | gf_mpd_seek_in_period (Double seek_time, MPDSeekMode seek_mode, GF_MPD_Period const *const in_period, GF_MPD_AdaptationSet const *const in_set, GF_MPD_Representation const *const in_rep, u32 *out_segment_index, Double *out_opt_seek_time, Double *out_seg_dur) |
|
static GF_Err | smooth_parse_chunk (GF_MPD *mpd, GF_List *container, GF_XMLNode *root) |
|
static GF_Err | smooth_replace_string (char *src_str, char *str_match, char *str_replace, char **output) |
|
static GF_Err | smooth_parse_quality_level (GF_MPD *mpd, GF_List *container, GF_XMLNode *root, u32 timescale) |
|
static GF_Err | smooth_parse_stream_index (GF_MPD *mpd, GF_List *container, GF_XMLNode *root, u32 timescale) |
|
GF_EXPORT GF_Err | gf_mpd_init_smooth_from_dom (GF_XMLNode *root, GF_MPD *mpd, const char *default_base_url) |
|
GF_EXPORT GF_Err | gf_mpd_smooth_to_mpd (char *smooth_file, GF_MPD *mpd, const char *default_base_url) |
|
GF_EXPORT GF_Err | gf_media_mpd_format_segment_name (GF_DashTemplateSegmentType seg_type, Bool is_bs_switching, char *segment_name, const char *rep_id, const char *base_url, const char *seg_rad_name, const char *seg_ext, u64 start_time, u32 bandwidth, u32 segment_number, Bool use_segment_timeline, Bool forced) |
|
GF_Err | gf_mpd_load_cues (const char *cues_file, u32 stream_id, u32 *cues_timescale, Bool *use_edit_list, s32 *ts_offset, GF_DASHCueInfo **out_cues, u32 *nb_cues) |
|
GF_Err | gf_mpd_split_adaptation_sets (GF_MPD *mpd) |
|
GF_MPD_Descriptor * | gf_mpd_get_descriptor (GF_List *desclist, char *scheme_id) |
|
char * | gf_mpd_resolve_subnumber (char *llhas_template, char *segment_filename, u32 part_idx) |
|