|
#define | DEFAULT_PERIOD_ID "_gf_dash_def_period" |
|
#define | CHECK_PROP(_type, _mem, _e) |
|
#define | CHECK_PROPL(_type, _mem, _e) |
|
#define | CHECK_PROP_BOOL(_type, _mem, _e) |
|
#define | CHECK_PROP_FRAC(_type, _mem, _e) |
|
#define | CHECK_PROP_FRAC64(_type, _mem, _e) |
|
#define | CHECK_PROP_STR(_type, _mem, _e) |
|
#define | CHECK_PROP_PROP(_type, _mem, _e) |
|
#define | CHECK_VAL(_name, _v) if (rep->_name != n_rep->_name) { rep->_name = n_rep->_name; transcode_detected = GF_TRUE; if (_v) recompute_set = GF_TRUE; } |
|
#define | CHECK_STR(_name) |
|
#define | CHECK_FRAC(_name) |
|
#define | RESET_PROP_STR(_prop) if (_prop) gf_free(_prop); |
|
#define | MPD_EXTS "mpd|m3u8|3gm|ism|ghix|ghi" |
|
#define | MPD_MIMES "application/dash+xml|video/vnd.3gpp.mpd|audio/vnd.3gpp.mpd|video/vnd.mpeg.dash.mpd|audio/vnd.mpeg.dash.mpd|audio/mpegurl|video/mpegurl|application/vnd.ms-sstr+xml|application/x-gpac-ghi|application/x-gpac-ghix" |
|
#define | OFFS(_n) #_n, offsetof(GF_DasherCtx, _n) |
|
|
char * | gf_filter_pid_get_destination_ex (GF_FilterPid *pid, u32 dst_idx) |
|
void | gf_filter_skip_seg_size_events (GF_Filter *f) |
|
void | gf_filter_pid_force_single_link (GF_FilterPid *pid) |
|
void | gf_filter_pid_disable_clone (GF_FilterPid *pid) |
|
static void | dasher_flush_segment (GF_DasherCtx *ctx, GF_DashStream *ds, Bool is_last_in_period) |
|
static void | dasher_update_rep (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static void | dasher_reset_stream (GF_Filter *filter, GF_DashStream *ds, Bool is_destroy) |
|
static void | dasher_update_period_duration (GF_DasherCtx *ctx, Bool is_period_switch) |
|
static GF_Err | dasher_setup_period (GF_Filter *filter, GF_DasherCtx *ctx, GF_DashStream *for_ds) |
|
static GF_Err | dasher_setup_profile (GF_DasherCtx *ctx) |
|
static GF_DasherPeriod * | dasher_new_period () |
|
static GF_Err | dasher_get_audio_info_with_m4a_sbr_ps (GF_DashStream *ds, const GF_PropertyValue *dsi, u32 *SampleRate, u32 *Channels) |
|
static void | dasher_ensure_outpath (GF_DasherCtx *ctx) |
|
static GF_Err | dasher_hls_setup_crypto (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static u32 | dasher_get_dep_bitrate (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static void | dasher_update_bitrate (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static GF_Err | dasher_stream_period_changed (GF_Filter *filter, GF_DasherCtx *ctx, GF_DashStream *ds, Bool is_new_period_request) |
|
static void | dasher_get_dash_dur (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static void | dasher_send_encode_hints (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static Bool | dasher_template_use_source_url (const char *template) |
|
static GF_Err | dasher_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove) |
|
static void | dasher_check_chaining (GF_DasherCtx *ctx, char *scheme_id, char *url) |
|
static GF_Err | dasher_update_mpd (GF_DasherCtx *ctx) |
|
static GF_Err | dasher_setup_mpd (GF_DasherCtx *ctx) |
|
static GF_Err | dasher_get_rfc_6381_codec_name (GF_DasherCtx *ctx, GF_DashStream *ds, char *szCodec, Bool force_inband, Bool force_sbr) |
|
static GF_DashStream * | get_base_ds (GF_DasherCtx *ctx, GF_DashStream *for_ds) |
|
static void | get_canon_urn (bin128 URN, char *res) |
|
static const char * | get_drm_kms_name (const char *canURN) |
|
static GF_List * | dasher_get_content_protection_desc (GF_DasherCtx *ctx, GF_DashStream *ds, GF_MPD_AdaptationSet *for_set) |
|
static void | dasher_get_mime_and_ext (GF_DasherCtx *ctx, GF_DashStream *ds, const char **out_subtype, const char **out_ext) |
|
static void | dasher_setup_rep (GF_DasherCtx *ctx, GF_DashStream *ds, u32 *srd_rep_idx) |
|
static Bool | dasher_same_roles (GF_DashStream *ds1, GF_DashStream *ds2) |
|
static u32 | dasher_get_next_as_id (GF_DasherCtx *ctx) |
|
static Bool | dasher_same_adaptation_set (GF_DasherCtx *ctx, GF_DashStream *ds, GF_DashStream *ds_test) |
|
static void | dasher_add_descriptors (GF_List **p_dst_list, const GF_PropertyValue *desc_val) |
|
static void | dasher_add_inband_event (GF_DashStream *ds) |
|
static void | dasher_setup_set_defaults (GF_DasherCtx *ctx, GF_MPD_AdaptationSet *set) |
|
static void | rewrite_dep_ids (GF_DasherCtx *ctx, GF_DashStream *base_ds) |
|
static void | dasher_check_bitstream_switching (GF_DasherCtx *ctx, GF_MPD_AdaptationSet *set) |
|
GF_Err | gf_cryptfout_push_key (GF_Filter *filter, bin128 *key, bin128 *IV) |
|
static void | dasher_open_destination (GF_Filter *filter, GF_DasherCtx *ctx, GF_MPD_Representation *rep, const char *szInitURL, u32 trash_init) |
|
static void | dasher_gather_deps (GF_DasherCtx *ctx, u32 dependency_id, GF_List *multi_tracks) |
|
static void | dasher_update_dep_list (GF_DasherCtx *ctx, GF_DashStream *ds, const char *ref_type) |
|
static void | dasher_inject_scte35_processor (GF_Filter *filter, GF_DashStream *ds, char *szSRC) |
|
static void | dasher_open_pid (GF_Filter *filter, GF_DasherCtx *ctx, GF_DashStream *ds, GF_List *multi_pids, Bool init_trashed) |
|
static void | dasher_set_content_components (GF_DashStream *ds) |
|
static char * | dasher_cat_mpd_url (GF_DasherCtx *ctx, GF_DashStream *ds, const char *url) |
|
static u32 | dasher_check_template_reuse (GF_DasherCtx *ctx, GF_DashStream *ds, const char *tpl) |
|
static Bool | dasher_check_hls_variant_path (GF_DasherCtx *ctx, GF_DashStream *ds, GF_DashStream *a_ds) |
|
static void | dasher_setup_sources (GF_Filter *filter, GF_DasherCtx *ctx, GF_MPD_AdaptationSet *set) |
|
static void | dasher_purge_segment_timeline (GF_DashStream *ds, GF_MPD_SegmentTimeline *stl, GF_DASH_SegmentContext *sctx) |
|
static void | dasher_purge_segments (GF_DasherCtx *ctx, u64 *period_dur) |
|
static void | dasher_transfer_file (FILE *f, GF_FilterPid *opid, const char *name, GF_DashStream *ds, Bool is_rel_url) |
|
static u64 | dasher_get_utc (GF_DasherCtx *ctx) |
|
static void | dasher_get_set_and_rep (GF_MPD_Period *period, const char *repid, GF_MPD_AdaptationSet **out_set, GF_MPD_Representation **out_rep) |
|
static Bool | dasher_merge_rep (GF_DashStream *ds, GF_MPD_Representation *rep) |
|
static void | dasher_forward_manifest_raw (GF_DasherCtx *ctx, GF_DashStream *ds, const char *manifest, const char *manifest_name) |
|
static void | dasher_forward_mpd (GF_DasherCtx *ctx, const char *manifest) |
|
static GF_Err | dasher_write_index (GF_DasherCtx *ctx, GF_FilterPid *opid) |
|
static GF_Err | dasher_write_and_send_manifest (GF_DasherCtx *ctx, u64 last_period_dur, Bool do_m3u8, Bool m3u8_second_pass, GF_FilterPid *opid, char *alt_name) |
|
static void | dasher_update_dyn_bitrates (GF_DasherCtx *ctx) |
|
GF_Err | dasher_send_manifest (GF_Filter *filter, GF_DasherCtx *ctx, Bool for_mpd_only) |
|
void | dasher_context_update_period_end (GF_DasherCtx *ctx) |
|
void | dasher_context_update_period_start (GF_DasherCtx *ctx) |
|
static GF_DashStream * | dasher_get_stream (GF_DasherCtx *ctx, const char *src_url, u32 original_pid, const char *original_period_id, const char *original_rep_id) |
|
static GF_Err | dasher_reload_muxed_comp (GF_DasherCtx *ctx, GF_DashStream *base_ds, GF_MPD_Representation *base_rep_ctx, Bool check_only) |
|
static GF_Err | dasher_reload_context (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static void | dasher_udpate_periods_and_manifest (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static u32 | dasher_period_count (GF_List *streams_in) |
|
static void | dasher_init_utc (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static GF_Err | dasher_switch_period (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static GF_Err | dasher_setup_ssr (GF_DasherCtx *ctx) |
|
static void | dasher_insert_timeline_entry (GF_DasherCtx *ctx, GF_DashStream *ds, Bool is_ll_anouncement) |
|
static void | dasher_copy_segment_timelines (GF_DasherCtx *ctx, GF_MPD_AdaptationSet *set) |
|
static void | dasher_set_timeline_parts (GF_DasherCtx *ctx, GF_DashStream *ds, GF_DASH_SegmentContext *sctx) |
|
static char * | dasher_strip_base (GF_DasherCtx *ctx, GF_DashStream *ds, char *seg_url, char *seg_name) |
|
static GFINLINE u64 | dasher_translate_cts (GF_DashStream *ds, u64 cts) |
|
static void | dasher_mark_segment_start (GF_DasherCtx *ctx, GF_DashStream *ds, GF_FilterPacket *pck, GF_FilterPacket *in_pck) |
|
static Bool | dasher_check_loop (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static Bool | dasher_check_period_ready (GF_DasherCtx *ctx, Bool is_session_end) |
|
void | dasher_format_report (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static void | dasher_drop_input (GF_DasherCtx *ctx, GF_DashStream *ds, Bool discard_all) |
|
static void | dasher_inject_eods (GF_DasherCtx *ctx, GF_DashStream *ds, Bool forced) |
|
static void | dasher_send_empty_segment (GF_DasherCtx *ctx, GF_DashStream *ds) |
|
static GF_Err | dasher_process (GF_Filter *filter) |
|
static void | dasher_resume_subdur (GF_Filter *filter, GF_DasherCtx *ctx) |
|
static void | dasher_process_hls_ll (GF_DasherCtx *ctx, const GF_FilterEvent *evt) |
|
static Bool | dasher_process_event (GF_Filter *filter, const GF_FilterEvent *evt) |
|
static GF_Err | dasher_initialize (GF_Filter *filter) |
|
static void | dasher_finalize (GF_Filter *filter) |
|
const GF_FilterRegister * | dasher_register (GF_FilterSession *session) |
|