libgpac
Documentation of the core library of GPAC
GF_DashClient Struct Reference
+ Collaboration diagram for GF_DashClient:

Data Fields

GF_DASHFileIO * dash_io
 
GF_FileDownload getter
 
char * base_url
 
u32 max_cache_duration
 
u32 max_width
 
u32 max_height
 
u8 max_bit_per_pixel
 
s32 auto_switch_count
 
Bool auto_switch_loop
 
Bool keep_files
 
Bool disable_switching
 
Bool allow_local_mpd_update
 
Bool estimate_utc_drift
 
Bool ntp_forced
 
Bool is_m3u8
 
Bool is_smooth
 
Bool split_adaptation_set
 
GF_DASHLowLatencyMode low_latency_mode
 
Bool in_error
 
u64 mpd_fetch_time
 
GF_DASHInitialSelectionMode first_select_mode
 
GF_DASHFileIOSession mpd_dnload
 
GF_MPDmpd
 
u32 reload_count
 
u32 last_update_time
 
u8 lastMPDSignature [GF_SHA1_DIGEST_SIZE]
 
char * mimeTypeForM3U8Segments
 
u32 active_period_index
 
u32 reinit_period_index
 
u32 request_period_switch
 
Bool next_period_checked
 
u64 start_time_in_active_period
 
Bool ignore_mpd_duration
 
u32 initial_time_shift_value
 
const char * query_string
 
GF_List * groups
 
GF_DASH_STATE dash_state
 
Bool in_period_setup
 
Bool all_groups_done_notified
 
s64 utc_drift_estimate
 
s32 utc_shift
 
Double start_range_period
 
Double speed
 
Bool is_rt_speed
 
u32 probe_times_before_switch
 
Bool agressive_switching
 
u32 min_wait_ms_before_next_request
 
u32 min_wait_sys_clock
 
Bool force_mpd_update
 
u32 force_period_reload
 
u32 user_buffer_ms
 
u32 min_timeout_between_404
 
u32 segment_lost_after_ms
 
Bool ignore_xlink
 
s32 suggested_presentation_delay
 
u32 mcast_clock_state
 
s32 mcast_ast_shift
 
u32 mcast_skip_segments_ms
 
Bool mcast_low_latency
 
u32 mcast_last_retune
 
Bool initial_period_tunein
 
u32 preroll_state
 
u32 llhls_single_range
 
Bool m3u8_reload_master
 
u32 hls_reload_time
 
u32 time_in_tsb
 
u32 prev_time_in_tsb
 
u32 tsb_exceeded
 
const u32dbg_grps_index
 
u32 nb_dbg_grps
 
Bool disable_speed_adaptation
 
Bool period_groups_setup
 
u32 tile_rate_decrease
 
GF_DASHTileAdaptationMode tile_adapt_mode
 
Bool disable_low_quality_tiles
 
u32 chaining_mode
 
u32 chain_stack_state
 
GF_List * SRDs
 
GF_DASHAdaptationAlgorithm adaptation_algorithm
 
s32(* rate_adaptation_algo )(GF_DashClient *dash, GF_DASH_Group *group, GF_DASH_Group *base_group, u32 dl_rate, Double speed, Double max_available_speed, Bool force_lower_complexity, GF_MPD_Representation *rep, Bool go_up_bitrate)
 
s32(* rate_adaptation_download_monitor )(GF_DashClient *dash, GF_DASH_Group *group, u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start, u32 buffer_dur_ms, u32 current_seg_dur)
 
u32 total_rate
 
gf_dash_rate_adaptation rate_adaptation_algo_custom
 
gf_dash_download_monitor rate_adaptation_download_monitor_custom
 
void * udta_custom_algo
 
Bool enable_group_selection
 
char * chain_next
 
char * chain_fallback
 
GF_List * chain_stack
 
GF_DASHFileIOSession xlink_sess
 
Double seek_pending
 
u32 manifest_pending
 
GF_MPDpending_mpd
 
Bool pending_has_reps_unchanged
 
u32 pending_nb_rep_unchanged
 
u32 pending_group_idx_plus_one
 
u32 pending_rep_idx_plus_one
 
GF_MPD_Representationpending_hls_temp_rep
 
Bool has_pending_groups
 
GF_DASHFileIOSession pending_utc_session
 
u32 pending_utc_idx
 
GF_DASHCrossASMode cross_as_mode
 
Double max_last_seg_start
 

Detailed Description

DASH client object

Field Documentation

◆ dash_io

GF_DASHFileIO* GF_DashClient::dash_io

◆ getter

GF_FileDownload GF_DashClient::getter

◆ base_url

char* GF_DashClient::base_url

◆ max_cache_duration

u32 GF_DashClient::max_cache_duration

◆ max_width

u32 GF_DashClient::max_width

◆ max_height

u32 GF_DashClient::max_height

◆ max_bit_per_pixel

u8 GF_DashClient::max_bit_per_pixel

◆ auto_switch_count

s32 GF_DashClient::auto_switch_count

◆ auto_switch_loop

Bool GF_DashClient::auto_switch_loop

◆ keep_files

Bool GF_DashClient::keep_files

◆ disable_switching

Bool GF_DashClient::disable_switching

◆ allow_local_mpd_update

Bool GF_DashClient::allow_local_mpd_update

◆ estimate_utc_drift

Bool GF_DashClient::estimate_utc_drift

◆ ntp_forced

Bool GF_DashClient::ntp_forced

◆ is_m3u8

Bool GF_DashClient::is_m3u8

◆ is_smooth

Bool GF_DashClient::is_smooth

◆ split_adaptation_set

Bool GF_DashClient::split_adaptation_set

◆ low_latency_mode

GF_DASHLowLatencyMode GF_DashClient::low_latency_mode

◆ in_error

Bool GF_DashClient::in_error

◆ mpd_fetch_time

u64 GF_DashClient::mpd_fetch_time

◆ first_select_mode

GF_DASHInitialSelectionMode GF_DashClient::first_select_mode

◆ mpd_dnload

GF_DASHFileIOSession GF_DashClient::mpd_dnload

◆ mpd

GF_MPD* GF_DashClient::mpd

◆ reload_count

u32 GF_DashClient::reload_count

◆ last_update_time

u32 GF_DashClient::last_update_time

◆ lastMPDSignature

u8 GF_DashClient::lastMPDSignature[GF_SHA1_DIGEST_SIZE]

◆ mimeTypeForM3U8Segments

char* GF_DashClient::mimeTypeForM3U8Segments

◆ active_period_index

u32 GF_DashClient::active_period_index

◆ reinit_period_index

u32 GF_DashClient::reinit_period_index

◆ request_period_switch

u32 GF_DashClient::request_period_switch

◆ next_period_checked

Bool GF_DashClient::next_period_checked

◆ start_time_in_active_period

u64 GF_DashClient::start_time_in_active_period

◆ ignore_mpd_duration

Bool GF_DashClient::ignore_mpd_duration

◆ initial_time_shift_value

u32 GF_DashClient::initial_time_shift_value

◆ query_string

const char* GF_DashClient::query_string

◆ groups

GF_List* GF_DashClient::groups

◆ dash_state

GF_DASH_STATE GF_DashClient::dash_state

◆ in_period_setup

Bool GF_DashClient::in_period_setup

◆ all_groups_done_notified

Bool GF_DashClient::all_groups_done_notified

◆ utc_drift_estimate

s64 GF_DashClient::utc_drift_estimate

◆ utc_shift

s32 GF_DashClient::utc_shift

◆ start_range_period

Double GF_DashClient::start_range_period

◆ speed

Double GF_DashClient::speed

◆ is_rt_speed

Bool GF_DashClient::is_rt_speed

◆ probe_times_before_switch

u32 GF_DashClient::probe_times_before_switch

◆ agressive_switching

Bool GF_DashClient::agressive_switching

◆ min_wait_ms_before_next_request

u32 GF_DashClient::min_wait_ms_before_next_request

◆ min_wait_sys_clock

u32 GF_DashClient::min_wait_sys_clock

◆ force_mpd_update

Bool GF_DashClient::force_mpd_update

◆ force_period_reload

u32 GF_DashClient::force_period_reload

◆ user_buffer_ms

u32 GF_DashClient::user_buffer_ms

◆ min_timeout_between_404

u32 GF_DashClient::min_timeout_between_404

◆ segment_lost_after_ms

u32 GF_DashClient::segment_lost_after_ms

◆ ignore_xlink

Bool GF_DashClient::ignore_xlink

◆ suggested_presentation_delay

s32 GF_DashClient::suggested_presentation_delay

◆ mcast_clock_state

u32 GF_DashClient::mcast_clock_state

◆ mcast_ast_shift

s32 GF_DashClient::mcast_ast_shift

◆ mcast_skip_segments_ms

u32 GF_DashClient::mcast_skip_segments_ms

◆ mcast_low_latency

Bool GF_DashClient::mcast_low_latency

◆ mcast_last_retune

u32 GF_DashClient::mcast_last_retune

◆ initial_period_tunein

Bool GF_DashClient::initial_period_tunein

◆ preroll_state

u32 GF_DashClient::preroll_state

◆ llhls_single_range

u32 GF_DashClient::llhls_single_range

◆ m3u8_reload_master

Bool GF_DashClient::m3u8_reload_master

◆ hls_reload_time

u32 GF_DashClient::hls_reload_time

◆ time_in_tsb

u32 GF_DashClient::time_in_tsb

◆ prev_time_in_tsb

u32 GF_DashClient::prev_time_in_tsb

◆ tsb_exceeded

u32 GF_DashClient::tsb_exceeded

◆ dbg_grps_index

const u32* GF_DashClient::dbg_grps_index

◆ nb_dbg_grps

u32 GF_DashClient::nb_dbg_grps

◆ disable_speed_adaptation

Bool GF_DashClient::disable_speed_adaptation

◆ period_groups_setup

Bool GF_DashClient::period_groups_setup

◆ tile_rate_decrease

u32 GF_DashClient::tile_rate_decrease

◆ tile_adapt_mode

GF_DASHTileAdaptationMode GF_DashClient::tile_adapt_mode

◆ disable_low_quality_tiles

Bool GF_DashClient::disable_low_quality_tiles

◆ chaining_mode

u32 GF_DashClient::chaining_mode

◆ chain_stack_state

u32 GF_DashClient::chain_stack_state

◆ SRDs

GF_List* GF_DashClient::SRDs

◆ adaptation_algorithm

GF_DASHAdaptationAlgorithm GF_DashClient::adaptation_algorithm

◆ rate_adaptation_algo

s32(* GF_DashClient::rate_adaptation_algo) (GF_DashClient *dash, GF_DASH_Group *group, GF_DASH_Group *base_group, u32 dl_rate, Double speed, Double max_available_speed, Bool force_lower_complexity, GF_MPD_Representation *rep, Bool go_up_bitrate)

◆ rate_adaptation_download_monitor

s32(* GF_DashClient::rate_adaptation_download_monitor) (GF_DashClient *dash, GF_DASH_Group *group, u32 bits_per_sec, u64 total_bytes, u64 bytes_done, u64 us_since_start, u32 buffer_dur_ms, u32 current_seg_dur)

◆ total_rate

u32 GF_DashClient::total_rate

◆ rate_adaptation_algo_custom

gf_dash_rate_adaptation GF_DashClient::rate_adaptation_algo_custom

◆ rate_adaptation_download_monitor_custom

gf_dash_download_monitor GF_DashClient::rate_adaptation_download_monitor_custom

◆ udta_custom_algo

void* GF_DashClient::udta_custom_algo

◆ enable_group_selection

Bool GF_DashClient::enable_group_selection

◆ chain_next

char* GF_DashClient::chain_next

◆ chain_fallback

char * GF_DashClient::chain_fallback

◆ chain_stack

GF_List* GF_DashClient::chain_stack

◆ xlink_sess

GF_DASHFileIOSession GF_DashClient::xlink_sess

◆ seek_pending

Double GF_DashClient::seek_pending

◆ manifest_pending

u32 GF_DashClient::manifest_pending

◆ pending_mpd

GF_MPD* GF_DashClient::pending_mpd

◆ pending_has_reps_unchanged

Bool GF_DashClient::pending_has_reps_unchanged

◆ pending_nb_rep_unchanged

u32 GF_DashClient::pending_nb_rep_unchanged

◆ pending_group_idx_plus_one

u32 GF_DashClient::pending_group_idx_plus_one

◆ pending_rep_idx_plus_one

u32 GF_DashClient::pending_rep_idx_plus_one

◆ pending_hls_temp_rep

GF_MPD_Representation* GF_DashClient::pending_hls_temp_rep

◆ has_pending_groups

Bool GF_DashClient::has_pending_groups

◆ pending_utc_session

GF_DASHFileIOSession GF_DashClient::pending_utc_session

◆ pending_utc_idx

u32 GF_DashClient::pending_utc_idx

◆ cross_as_mode

GF_DASHCrossASMode GF_DashClient::cross_as_mode

◆ max_last_seg_start

Double GF_DashClient::max_last_seg_start