Data Structures |
struct | GF_DASHFileIO |
struct | GF_DASHQualityInfo |
Typedefs |
typedef void * | GF_DASHFileIOSession |
typedef struct __dash_client | GF_DashClient |
Enumerations |
enum | GF_DASHEventType {
GF_DASH_EVENT_MANIFEST_INIT_ERROR,
GF_DASH_EVENT_SELECT_GROUPS,
GF_DASH_EVENT_PERIOD_SETUP_ERROR,
GF_DASH_EVENT_CREATE_PLAYBACK,
GF_DASH_EVENT_DESTROY_PLAYBACK,
GF_DASH_EVENT_BUFFERING,
GF_DASH_EVENT_BUFFER_DONE,
GF_DASH_EVENT_SEGMENT_AVAILABLE,
GF_DASH_EVENT_QUALITY_SWITCH,
GF_DASH_EVENT_TIMESHIFT_UPDATE,
GF_DASH_EVENT_TIMESHIFT_OVERFLOW
} |
enum | GF_DASHInitialSelectionMode { GF_DASH_SELECT_QUALITY_LOWEST,
GF_DASH_SELECT_QUALITY_HIGHEST,
GF_DASH_SELECT_BANDWIDTH_LOWEST,
GF_DASH_SELECT_BANDWIDTH_HIGHEST
} |
enum | GF_DashDescriptorType {
GF_MPD_DESC_ACCESSIBILITY,
GF_MPD_DESC_AUDIOCONFIG,
GF_MPD_DESC_CONTENT_PROTECTION,
GF_MPD_DESC_ESSENTIAL_PROPERTIES,
GF_MPD_DESC_SUPPLEMENTAL_PROPERTIES,
GF_MPD_DESC_FRAME_PACKING,
GF_MPD_DESC_ROLE,
GF_MPD_DESC_RATING,
GF_MPD_DESC_VIEWPOINT
} |
Functions |
GF_DashClient * | gf_dash_new (GF_DASHFileIO *dash_io, u32 max_cache_duration, u32 auto_switch_count, Bool keep_files, Bool disable_switching, GF_DASHInitialSelectionMode first_select_mode, Bool enable_buffering, u32 initial_time_shift_value) |
void | gf_dash_del (GF_DashClient *dash) |
GF_Err | gf_dash_open (GF_DashClient *dash, const char *manifest_url) |
void | gf_dash_close (GF_DashClient *dash) |
const char * | gf_dash_get_url (GF_DashClient *dash) |
Bool | gf_dash_is_m3u8 (GF_DashClient *dash) |
void | gf_dash_get_info (GF_DashClient *dash, const char **title, const char **source) |
void | gf_dash_switch_quality (GF_DashClient *dash, Bool switch_up, Bool force_immediate_switch) |
Bool | gf_dash_is_running (GF_DashClient *dash) |
Double | gf_dash_get_duration (GF_DashClient *dash) |
Bool | gf_dash_check_mpd_root_type (const char *local_url) |
GF_Err | gf_dash_set_timeshift (GF_DashClient *dash, u32 ms_in_timeshift) |
u32 | gf_dash_get_group_count (GF_DashClient *dash) |
GF_Err | gf_dash_set_group_udta (GF_DashClient *dash, u32 group_index, void *udta) |
void * | gf_dash_get_group_udta (GF_DashClient *dash, u32 group_index) |
Bool | gf_dash_is_group_selected (GF_DashClient *dash, u32 group_index) |
Bool | gf_dash_is_group_selectable (GF_DashClient *dash, u32 idx) |
void | gf_dash_group_select (GF_DashClient *dash, u32 idx, Bool select) |
void | gf_dash_groups_set_language (GF_DashClient *dash, const char *lang_code_rfc_5646) |
const char * | gf_dash_group_get_segment_mime (GF_DashClient *dash, u32 idx) |
const char * | gf_dash_group_get_segment_init_url (GF_DashClient *dash, u32 idx, u64 *start_range, u64 *end_range) |
const char * | gf_dash_group_get_language (GF_DashClient *dash, u32 idx) |
u32 | gf_dash_group_get_audio_channels (GF_DashClient *dash, u32 idx) |
u32 | gf_dash_group_get_time_shift_buffer_depth (GF_DashClient *dash, u32 idx) |
u32 | gf_dash_get_timeshift_buffer_pos (GF_DashClient *dash) |
Bool | gf_dash_group_enum_descriptor (GF_DashClient *dash, u32 group_idx, GF_DashDescriptorType desc_type, u32 role_idx, const char **desc_id, const char **desc_scheme, const char **desc_value) |
GF_Err | gf_dash_group_get_next_segment_location (GF_DashClient *dash, u32 idx, u32 dependent_representation_index, const char **url, u64 *start_range, u64 *end_range, s32 *switching_index, const char **switching_url, u64 *switching_start_range, u64 *switching_end_range, const char **original_url, Bool *has_next_segment) |
GF_EXPORT GF_Err | gf_dash_group_probe_current_download_segment_location (GF_DashClient *dash, u32 idx, const char **url, s32 *switching_index, const char **switching_url, const char **original_url, Bool *switched) |
Bool | gf_dash_group_loop_detected (GF_DashClient *dash, u32 idx) |
Double | gf_dash_group_get_start_range (GF_DashClient *dash, u32 idx) |
void | gf_dash_group_discard_segment (GF_DashClient *dash, u32 idx) |
u32 | gf_dash_group_get_num_segments_ready (GF_DashClient *dash, u32 idx, Bool *group_is_done) |
u32 | gf_dash_group_get_max_segments_in_cache (GF_DashClient *dash, u32 idx) |
void | gf_dash_set_group_done (GF_DashClient *dash, u32 idx, Bool done) |
GF_Err | gf_dash_group_get_presentation_time_offset (GF_DashClient *dash, u32 idx, u64 *presentation_time_offset, u32 *timescale) |
Bool | gf_dash_in_last_period (GF_DashClient *dash) |
u32 | gf_dash_get_period_switch_status (GF_DashClient *dash) |
void | gf_dash_request_period_switch (GF_DashClient *dash) |
Bool | gf_dash_in_period_setup (GF_DashClient *dash) |
void | gf_dash_seek (GF_DashClient *dash, Double start_range) |
Bool | gf_dash_group_segment_switch_forced (GF_DashClient *dash, u32 idx) |
GF_Err | gf_dash_group_get_video_info (GF_DashClient *dash, u32 idx, u32 *max_width, u32 *max_height) |
void | gf_dash_set_speed (GF_DashClient *dash, Double speed) |
Double | gf_dash_group_current_segment_start_time (GF_DashClient *dash, u32 idx) |
void | gf_dash_allow_local_mpd_update (GF_DashClient *dash, Bool allow_local_mpd_update) |
GF_Err | gf_dash_group_get_representation_info (GF_DashClient *dash, u32 idx, u32 representation_idx, u32 *width, u32 *height, u32 *audio_samplerate, u32 *bandwidth, const char **codecs) |
void | gf_dash_get_buffer_info (GF_DashClient *dash, u32 *total_buffer, u32 *media_buffered) |
GF_Err | gf_dash_group_check_bandwidth (GF_DashClient *dash, u32 idx) |
GF_Err | gf_dash_resync_to_segment (GF_DashClient *dash, const char *latest_segment_name, const char *earliest_segment_name) |
void | gf_dash_set_idle_interval (GF_DashClient *dash, u32 idle_time_ms) |
void | gf_dash_enable_utc_drift_compensation (GF_DashClient *dash, Bool estimate_utc_drift) |
Bool | gf_dash_is_dynamic_mpd (GF_DashClient *dash) |
u32 | gf_dash_get_min_buffer_time (GF_DashClient *dash) |
void | gf_dash_set_utc_shift (GF_DashClient *dash, s32 shift_utc_ms) |
GF_Err | gf_dash_set_max_resolution (GF_DashClient *dash, u32 width, u32 height, u8 max_display_bpp) |
GF_Err | gf_dash_set_min_timeout_between_404 (GF_DashClient *dash, u32 min_timeout_between_404) |
GF_Err | gf_dash_set_segment_expiration_threshold (GF_DashClient *dash, u32 expire_after_ms) |
void | gf_dash_debug_group (GF_DashClient *dash, s32 group_index) |
void | gf_dash_set_user_buffer (GF_DashClient *dash, u32 buffer_time_ms) |
void | gf_dash_set_switching_probe_count (GF_DashClient *dash, u32 switch_probe_count) |
u32 | gf_dash_get_period_start (GF_DashClient *dash) |
u32 | gf_dash_get_period_duration (GF_DashClient *dash) |
u32 | gf_dash_group_get_num_qualities (GF_DashClient *dash, u32 idx) |
GF_Err | gf_dash_group_get_quality_info (GF_DashClient *dash, u32 idx, u32 quality_idx, GF_DASHQualityInfo *quality) |
Bool | gf_dash_get_automatic_switching (GF_DashClient *dash) |
GF_Err | gf_dash_set_automatic_switching (GF_DashClient *dash, Bool enable_switching) |
GF_Err | gf_dash_group_select_quality (GF_DashClient *dash, u32 idx, const char *ID) |
u32 | gf_dash_group_get_download_rate (GF_DashClient *dash, u32 idx) |
Variables |
static const char * | GF_DASH_MPD_MIME_TYPES [] = { "application/dash+xml", "video/vnd.3gpp.mpd", "audio/vnd.3gpp.mpd", NULL } |
static const char * | GF_DASH_M3U8_MIME_TYPES [] = { "video/x-mpegurl", "audio/x-mpegurl", "application/x-mpegurl", "application/vnd.apple.mpegurl", NULL} |