libgpac
Documentation of the core library of GPAC
|
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/iso639.h>
#include <gpac/mpd.h>
#include <gpac/internal/media_dev.h>
#include <gpac/base_coding.h>
#include <gpac/network.h>
#include <gpac/crypt_tools.h>
Data Structures | |
struct | GF_DasherPeriod |
struct | GF_DasherCtx |
struct | GF_DashStream |
struct | DashTemplateRecord |
struct | PeriodInfo |
Macros | |
#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) |
Enumerations | |
enum | DasherUTCTimingType { DASHER_UTCREF_NONE =0 , DASHER_UTCREF_NTP , DASHER_UTCREF_HTTP_HEAD , DASHER_UTCREF_ISO , DASHER_UTCREF_XSDATE , DASHER_UTCREF_INBAND } |
enum | { DASHER_FWD_NO = 0 , DASHER_FWD_SEGS , DASHER_FWD_ALL } |
enum | { DASHER_SYNC_UNKNOWN =0 , DASHER_SYNC_NONE , DASHER_SYNC_PRESENT } |
enum | { IDXMODE_NONE =0 , IDXMODE_ALL , IDXMODE_MANIFEST , IDXMODE_CHILD , IDXMODE_INIT , IDXMODE_SEG } |
enum | DasherHDRType { DASHER_HDR_NONE =0 , DASHER_HDR_PQ10 , DASHER_HDR_HLG } |
enum | { DASH_INITSEG_PRESENT =0 , DASH_INITSEG_NONE , DASH_INITSEG_SKIP } |
Functions | |
GF_OPT_ENUM (DasherBSSwitchingMode, DASHER_BS_SWITCH_DEF=0, DASHER_BS_SWITCH_OFF, DASHER_BS_SWITCH_ON, DASHER_BS_SWITCH_INBAND, DASHER_BS_SWITCH_INBAND_PPS, DASHER_BS_SWITCH_BOTH, DASHER_BS_SWITCH_FORCE, DASHER_BS_SWITCH_MULTI,) | |
GF_OPT_ENUM (DasherNTPClockMode, DASHER_NTP_REM=0, DASHER_NTP_YES, DASHER_NTP_KEEP,) | |
GF_OPT_ENUM (DasherSAPStrictMode, DASHER_SAP_OFF=0, DASHER_SAP_SIG, DASHER_SAP_ON, DASHER_SAP_INTRA_ONLY,) | |
GF_OPT_ENUM (DasherTSSHandlingMode, DASHER_BOUNDS_OUT=0, DASHER_BOUNDS_CLOSEST, DASHER_BOUNDS_IN,) | |
GF_OPT_ENUM (DasherMuxType, DASHER_MUX_ISOM=0, DASHER_MUX_TS, DASHER_MUX_MKV, DASHER_MUX_WEBM, DASHER_MUX_OGG, DASHER_MUX_RAW, DASHER_MUX_AUTO,) | |
GF_OPT_ENUM (DasherAdaptSetGenMode, DASHER_MPHA_NO=0, DASHER_MPHA_COMP_ONLY, DASHER_MPHA_ALL,) | |
GF_OPT_ENUM (DasherCMAFMode, DASHER_CMAF_NONE=0, DASHER_CMAF_CMFC, DASHER_CMAF_CMF2,) | |
GF_OPT_ENUM (DasherDefaultKIDInjection, DASHER_DEFKID_OFF=0, DASHER_DEFKID_ON, DASHER_DEFKID_AUTO,) | |
GF_OPT_ENUM (DasherPeriodSwitchMode, DASHER_PSWITCH_SINGLE=0, DASHER_PSWITCH_FORCE, DASHER_PSWITCH_STSD,) | |
GF_OPT_ENUM (DasherWaitLastPktCtrl, DASHER_SEGSYNC_NO=0, DASHER_SEGSYNC_YES, DASHER_SEGSYNC_AUTO,) | |
GF_OPT_ENUM (DasherSegFlushMode, SFLUSH_OFF=0, SFLUSH_SINGLE, SFLUSH_END,) | |
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) |
Variables | |
static const char * | empty_ttml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<tt xmlns=\"http://www.w3.org/ns/ttml\" xml:lang=\"en\">\n<head/>\n<body/>\n</tt>" |
static const GF_FilterCapability | DasherCaps [] |
static const GF_FilterArgs | DasherArgs [] |
GF_FilterRegister | DasherRegister |
struct GF_DasherPeriod |
struct GF_DasherCtx |
Data Fields | ||
---|---|---|
DasherBSSwitchingMode | bs_switch | |
GF_DashProfile | profile | |
u32 | spd | |
DasherNTPClockMode | ntp | |
GF_DASH_ContentLocationMode | cp | |
s32 | subs_sidx | |
s32 | buf | |
s32 | timescale | |
Bool | sfile | |
Bool | sseg | |
Bool | no_sar | |
Bool | mix_codecs | |
Bool | stl | |
Bool | tpl | |
Bool | align | |
Bool | sap | |
Bool | no_frag_def | |
Bool | sidx | |
Bool | split | |
Bool | hlsc | |
Bool | strict_cues | |
Bool | force_flush | |
Bool | last_seg_merge | |
Bool | keep_ts | |
DasherAdaptSetGenMode | mha_compat | |
DasherSegFlushMode | sflush | |
DasherSAPStrictMode | strict_sap | |
GF_DASHPSSHMode | pssh | |
DasherCMAFMode | cmaf | |
DasherDefaultKIDInjection | dkid | |
GF_Fraction | segdur | |
GF_DashDynamicMode | dmode | |
char * | template | |
char * | segext | |
char * | initext | |
DasherMuxType | muxtype | |
Bool | rawsub | |
char * | profX | |
Double | asto | |
char * | ast | |
char * | state | |
char * | cues | |
char * | title | |
char * | source | |
char * | info | |
char * | cprt | |
char * | lang | |
char * | chain | |
char * | chain_fbk | |
GF_PropStringList | location | |
GF_PropStringList | base | |
Bool | check_dur | |
Bool | skip_seg | |
Bool | loop | |
Bool | reschedule | |
Bool | scope_deps | |
Bool | keep_src | |
Bool | tpl_force | |
Bool | keep_segs | |
Double | refresh | |
Double | tsb | |
Double | subdur | |
u64 * | _p_gentime | |
u64 * | _p_mpdtime | |
Bool | cmpd | |
Bool | dual | |
Bool | sreg | |
Bool | ttml_agg | |
char * | styp | |
Bool | sigfrag | |
DasherTSSHandlingMode | sbound | |
DasherPeriodSwitchMode | pswitch | |
char * | utcs | |
char * | mname | |
char * | hlsdrm | |
char * | ckurl | |
GF_PropStringList | hlsx | |
GF_DashHLSLowLatencyType | llhls | |
Bool | hlsiv | |
GF_Fraction | cdur | |
Bool | ll_preload_hint | |
Bool | ll_rend_rep | |
Bool | gencues | |
Bool | force_init | |
Bool | gxns | |
Double | ll_part_hb | |
GF_DashAbsoluteURLMode | hls_absu | |
DasherWaitLastPktCtrl | seg_sync | |
Bool | hls_ap | |
Bool | in_error | |
GF_FilterPid * | opid | |
GF_FilterPid * | opid_alt | |
GF_Filter * | alt_dst | |
Bool | opid_alt_m3u8 | |
GF_MPD * | mpd | |
GF_DasherPeriod * | current_period | |
GF_DasherPeriod * | next_period | |
GF_List * | pids | |
Bool | template_use_source | |
s32 | period_idx | |
GF_List * | tpl_records | |
Bool | use_xlink | |
Bool | use_cenc | |
Bool | check_main_role | |
Bool | use_clearkey | |
Bool | no_fragments_defaults | |
Bool | is_eos | |
u32 | nb_seg_url_pending | |
u64 | last_evt_check_time | |
Bool | on_demand_done | |
Bool | subdur_done | |
char * | out_path | |
char * | out_path_alt | |
GF_Err | setup_failure | |
Double | nb_secs_to_discard | |
Bool | first_context_load | |
Bool | store_init_params | |
Bool | do_m3u8 | |
Bool | do_mpd | |
u32 | do_index | |
Bool | is_period_restore | |
Bool | is_empty_period | |
Bool | store_seg_states | |
GF_List * | postponed_pids | |
u32 | last_dyn_period_id | |
u32 | next_pid_id_in_period | |
Bool | post_play_events | |
Bool | force_period_switch | |
GF_Fraction64 | period_switch_cts | |
Bool | period_not_ready | |
Bool | check_connections | |
s32 | update_report | |
Bool | purge_segments | |
Bool | is_playing | |
Bool | use_mabr | |
Bool | no_seg_dur | |
u32 | utc_initialized | |
DasherUTCTimingType | utc_timing_type | |
s32 | utc_diff | |
Bool | force_hls_ll_manifest | |
u32 | forward_mode | |
u8 | last_hls_signature[GF_SHA1_DIGEST_SIZE] | |
u8 | last_mpd_signature[GF_SHA1_DIGEST_SIZE] | |
u8 | last_hls2_signature[GF_SHA1_DIGEST_SIZE] | |
GF_CryptInfo * | cinfo | |
Bool | use_cues | |
Bool | dyn_rate | |
u64 | min_segment_start_time | |
u64 | last_min_segment_start_time | |
u32 | def_max_seg_dur | |
u32 | index_max_seg_dur | |
u64 | index_media_duration | |
GF_Fraction64 | min_cts_period | |
u32 | from_index | |
u32 | def_template | |
Bool | move_to_static | |
Bool | explicit_mode | |
Bool | inband_event |
struct GF_DashStream |
Data Fields | ||
---|---|---|
GF_FilterPid * | ipid | |
GF_FilterPid * | opid | |
u32 | codec_id | |
u32 | timescale | |
u32 | stream_type | |
u32 | dsi_crc | |
u32 | dsi_enh_crc | |
u32 | id | |
u32 | dep_id | |
u32 | src_id | |
GF_Fraction | sar | |
GF_Fraction | fps | |
u32 | width | |
u32 | height | |
u32 | sr | |
u32 | nb_ch | |
char * | lang | |
Bool | interlaced | |
Bool | rawmux | |
const GF_PropertyValue * | p_role | |
const GF_PropertyValue * | p_period_desc | |
const GF_PropertyValue * | p_as_desc | |
const GF_PropertyValue * | p_as_any_desc | |
const GF_PropertyValue * | p_rep_desc | |
const GF_PropertyValue * | p_base_url | |
char * | template | |
char * | xlink | |
char * | hls_vp_name | |
u32 | nb_surround | |
u32 | nb_lfe | |
u32 | atmos_complexity_type | |
u64 | ch_layout | |
GF_PropVec4i | srd | |
DasherHDRType | hdr_type | |
Bool | sscale | |
Bool | skip_sap | |
u32 | view_id | |
u32 | bitrate | |
GF_DasherPeriod * | period | |
GF_MPD_Period * | last_period | |
GF_Fraction | dash_dur | |
char * | period_id | |
char * | period_continuity_id | |
GF_Fraction64 | period_start | |
GF_Fraction64 | period_dur | |
u32 | done | |
Bool | seg_done | |
u32 | nb_comp | |
u32 | nb_comp_done | |
Bool | is_av | |
u32 | nb_rep | |
u32 | nb_rep_done | |
Double | set_seg_duration | |
char * | rep_id | |
u32 | as_id | |
u32 | sync_as_id | |
struct _dash_stream * | muxed_base | |
GF_List * | complementary_streams | |
GF_List * | comp_pids | |
GF_MPD_Representation * | rep | |
GF_MPD_AdaptationSet * | set | |
Bool | owns_set | |
u32 | inband_params | |
GF_List * | multi_pids | |
GF_List * | multi_tracks | |
u32 | force_timescale | |
u32 | startNumber | |
u32 | seg_number | |
Bool | rep_init | |
Bool | forced_period_switch | |
u64 | first_cts | |
u64 | first_dts | |
s64 | pts_minus_cts | |
Bool | is_encrypted | |
u64 | presentation_time_offset | |
u32 | mpd_timescale | |
u64 | seg_start_time | |
Bool | split_set_names | |
Bool | skip_tpl_reuse | |
u64 | max_period_dur | |
GF_Filter * | dst_filter | |
char * | src_url | |
char * | init_seg | |
char * | seg_template | |
char * | idx_template | |
u32 | nb_sap_3 | |
u32 | nb_sap_4 | |
u32 | pid_id | |
u32 | dep_pid_id | |
u32 | nb_samples_in_source | |
u32 | sync_points_type | |
GF_List * | pending_segment_urls | |
GF_List * | pending_segment_states | |
u64 | next_seg_start | |
u64 | adjusted_next_seg_start | |
u64 | force_rep_end | |
Bool | segment_started | |
u64 | first_cts_in_seg | |
u64 | first_cts_in_next_seg | |
u64 | min_cts_in_seg_plus_one | |
u64 | est_first_cts_in_next_seg | |
u64 | last_cts | |
u64 | last_dts | |
u64 | cumulated_dur | |
Double | cumulated_subdur | |
Bool | subdur_done | |
u64 | subdur_forced_use_period_dur | |
u64 | nb_pck | |
u64 | est_next_dts | |
u64 | seek_to_pck | |
u64 | ts_offset | |
u32 | nb_repeat | |
Bool | splitable | |
u32 | loop_state | |
u32 | split_dur_next | |
u32 | moof_sn_inc | |
u32 | moof_sn | |
GF_Fraction64 | clamped_dur | |
u32 | nb_segments_purged | |
Double | dur_purged | |
Bool | tile_base | |
Bool | tile_dep_id_merged | |
struct _dash_stream * | merged_tile_dep | |
u32 | cues_timescale | |
u32 | nb_cues | |
GF_DASHCueInfo * | cues | |
Bool | cues_use_edits | |
s32 | cues_ts_offset | |
Bool | inband_cues | |
Bool | clamp_done | |
u32 | dcd_not_ready | |
Bool | reschedule | |
GF_Fraction64 | duration | |
GF_List * | packet_queue | |
u32 | nb_sap_in_queue | |
DasherTSSHandlingMode | sbound | |
u32 | request_period_switch | |
Double | gm_duration_total | |
Double | gm_duration_min | |
Double | gm_duration_max | |
u32 | gm_nb_segments | |
Bool | no_seg_dur | |
u64 | hls_ref_id | |
GF_DASH_SegmentContext * | current_seg_state | |
Bool | transcode_detected | |
GF_CryptInfo * | cinfo | |
GF_TrackCryptInfo * | tci | |
u64 | iv_low | |
u64 | iv_high | |
u32 | key_idx | |
u32 | nb_crypt_seg | |
Bool | dyn_bitrate | |
u64 | rate_first_dts_plus_one | |
u64 | rate_last_dts | |
u64 | rate_media_size | |
u64 | period_continuity_next_cts | |
u64 | last_min_segment_start_time | |
Bool | stl | |
Bool | set_period_switch | |
u32 | all_stsd_crc | |
u64 | frag_start_offset | |
u64 | frag_first_ftdt | |
u32 | tpl_use_time | |
Bool | last_stl_is_ll |
struct DashTemplateRecord |
Data Fields | ||
---|---|---|
char * | tpl | |
u32 | nb_reused |
struct PeriodInfo |
#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) |
enum DasherUTCTimingType |
anonymous enum |
enum DasherHDRType |
GF_OPT_ENUM | ( | DasherBSSwitchingMode | , |
DASHER_BS_SWITCH_DEF | = 0 , |
||
DASHER_BS_SWITCH_OFF | , | ||
DASHER_BS_SWITCH_ON | , | ||
DASHER_BS_SWITCH_INBAND | , | ||
DASHER_BS_SWITCH_INBAND_PPS | , | ||
DASHER_BS_SWITCH_BOTH | , | ||
DASHER_BS_SWITCH_FORCE | , | ||
DASHER_BS_SWITCH_MULTI | |||
) |
GF_OPT_ENUM | ( | DasherNTPClockMode | , |
DASHER_NTP_REM | = 0 , |
||
DASHER_NTP_YES | , | ||
DASHER_NTP_KEEP | |||
) |
GF_OPT_ENUM | ( | DasherSAPStrictMode | , |
DASHER_SAP_OFF | = 0 , |
||
DASHER_SAP_SIG | , | ||
DASHER_SAP_ON | , | ||
DASHER_SAP_INTRA_ONLY | |||
) |
GF_OPT_ENUM | ( | DasherTSSHandlingMode | , |
DASHER_BOUNDS_OUT | = 0 , |
||
DASHER_BOUNDS_CLOSEST | , | ||
DASHER_BOUNDS_IN | |||
) |
GF_OPT_ENUM | ( | DasherMuxType | , |
DASHER_MUX_ISOM | = 0 , |
||
DASHER_MUX_TS | , | ||
DASHER_MUX_MKV | , | ||
DASHER_MUX_WEBM | , | ||
DASHER_MUX_OGG | , | ||
DASHER_MUX_RAW | , | ||
DASHER_MUX_AUTO | |||
) |
GF_OPT_ENUM | ( | DasherAdaptSetGenMode | , |
DASHER_MPHA_NO | = 0 , |
||
DASHER_MPHA_COMP_ONLY | , | ||
DASHER_MPHA_ALL | |||
) |
GF_OPT_ENUM | ( | DasherCMAFMode | , |
DASHER_CMAF_NONE | = 0 , |
||
DASHER_CMAF_CMFC | , | ||
DASHER_CMAF_CMF2 | |||
) |
GF_OPT_ENUM | ( | DasherDefaultKIDInjection | , |
DASHER_DEFKID_OFF | = 0 , |
||
DASHER_DEFKID_ON | , | ||
DASHER_DEFKID_AUTO | |||
) |
GF_OPT_ENUM | ( | DasherPeriodSwitchMode | , |
DASHER_PSWITCH_SINGLE | = 0 , |
||
DASHER_PSWITCH_FORCE | , | ||
DASHER_PSWITCH_STSD | |||
) |
GF_OPT_ENUM | ( | DasherWaitLastPktCtrl | , |
DASHER_SEGSYNC_NO | = 0 , |
||
DASHER_SEGSYNC_YES | , | ||
DASHER_SEGSYNC_AUTO | |||
) |
GF_OPT_ENUM | ( | DasherSegFlushMode | , |
SFLUSH_OFF | = 0 , |
||
SFLUSH_SINGLE | , | ||
SFLUSH_END | |||
) |
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 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
GPAC_DISABLE_AV_PARSERS
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
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 |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
void dasher_format_report | ( | GF_Filter * | filter, |
GF_DasherCtx * | ctx | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const GF_FilterRegister* dasher_register | ( | GF_FilterSession * | session | ) |
|
static |
|
static |
|
static |
GF_FilterRegister DasherRegister |