GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
|
#include <gpac/tools.h>
Data Structures | |
struct | GF_DASHFileIO |
Typedefs | |
typedef void * | GF_DASHFileIOSession |
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_percent) |
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) |
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) |
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) |
void | gf_dash_group_select (GF_DashClient *dash, u32 idx, Bool select) |
void | gf_dash_groups_set_language (GF_DashClient *dash, const char *lang_3cc) |
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) |
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_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) |
Double | gf_dash_get_playback_start_range (GF_DashClient *dash) |
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) |
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_buffering (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) |
Variables | |
static const char * | GF_DASH_MPD_MIME_TYPES [] = { "application/dash+xml", "video/vnd.3gpp.mpd", "audio/vnd.3gpp.mpd", 0 } |
static const char * | GF_DASH_M3U8_MIME_TYPES [] = { "video/x-mpegurl", "audio/x-mpegurl", "application/x-mpegurl", "application/vnd.apple.mpegurl", 0 } |
typedef void* GF_DASHFileIOSession |
enum GF_DASHEventType |
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_percent | ||
) |
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 | ) |
void gf_dash_get_info | ( | GF_DashClient * | dash, |
const char ** | title, | ||
const char ** | source | ||
) |
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 | ) |
u32 gf_dash_get_group_count | ( | GF_DashClient * | dash | ) |
void* gf_dash_get_group_udta | ( | GF_DashClient * | dash, |
u32 | group_index | ||
) |
void gf_dash_groups_set_language | ( | GF_DashClient * | dash, |
const char * | lang_3cc | ||
) |
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 | ||
) |
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_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 | ||
) |
void gf_dash_group_discard_segment | ( | GF_DashClient * | dash, |
u32 | idx | ||
) |
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 | ||
) |
Double gf_dash_get_playback_start_range | ( | GF_DashClient * | dash | ) |
GF_Err gf_dash_group_get_video_info | ( | GF_DashClient * | dash, |
u32 | idx, | ||
u32 * | max_width, | ||
u32 * | max_height | ||
) |
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_buffering | ( | GF_DashClient * | dash, |
u32 * | total_buffer, | ||
u32 * | media_buffered | ||
) |
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 | ||
) |
|
static |
All the possible Mime-types for MPD files
|
static |
All the possible Mime-types for M3U8 files