![]() |
libgpac
Documentation of the core library of GPAC
|
#include <dash.h>
Data Fields | |
| void * | udta |
| GF_Err(* | on_dash_event )(GF_DASHFileIO *dashio, GF_DASHEventType evt, s32 group_idx, GF_Err setup_error) |
| Bool(* | dash_codec_supported )(GF_DASHFileIO *dashio, const char *codec, u32 width, u32 height, Bool is_interlaced, u32 fps_num, u32 fps_denum, u32 sample_rate) |
| void(* | delete_cache_file )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *cache_url) |
| GF_DASHFileIOSession(* | create )(GF_DASHFileIO *dashio, Bool persistent, const char *url, s32 group_idx) |
| void(* | del )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| void(* | abort )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| GF_Err(* | setup_from_url )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *url, s32 group_idx) |
| GF_Err(* | set_range )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session, u64 start_range, u64 end_range, Bool discontinue_cache) |
| GF_Err(* | init )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| GF_Err(* | run )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| const char *(* | get_url )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| const char *(* | get_cache_name )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| const char *(* | get_mime )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| const char *(* | get_header_value )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *header_name) |
| u64(* | get_utc_start_time )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| u32(* | get_bytes_per_sec )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| u32(* | get_total_size )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| u32(* | get_bytes_done )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| GF_Err(* | get_status )(GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
| void(* | manifest_updated )(GF_DASHFileIO *dashio, const char *manifest_name, const char *local_path, s32 group_idx) |
DASH network I/O abstraction object
| void* GF_DASHFileIO::udta |
user private data
| GF_Err(* GF_DASHFileIO::on_dash_event) (GF_DASHFileIO *dashio, GF_DASHEventType evt, s32 group_idx, GF_Err setup_error) |
signals errors or specific actions to perform
| Bool(* GF_DASHFileIO::dash_codec_supported) (GF_DASHFileIO *dashio, const char *codec, u32 width, u32 height, Bool is_interlaced, u32 fps_num, u32 fps_denum, u32 sample_rate) |
used to check whether a representation is supported or not. Function returns 1 if supported, 0 otherwise if this callback is not set, the representation is assumed to be supported
| void(* GF_DASHFileIO::delete_cache_file) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *cache_url) |
called whenever a file has to be deleted
| GF_DASHFileIOSession(* GF_DASHFileIO::create) (GF_DASHFileIO *dashio, Bool persistent, const char *url, s32 group_idx) |
create a file download session for the given resource - group_idx may be -1 if this is a global resource , otherwise it indicates the group/adaptationSet in which the download happens
| void(* GF_DASHFileIO::del) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
delete a file download session
| void(* GF_DASHFileIO::abort) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
aborts downloading in the given file session
| GF_Err(* GF_DASHFileIO::setup_from_url) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *url, s32 group_idx) |
resetup the file session with a new resource to get - this allows persistent connection usage with HTTP servers
| GF_Err(* GF_DASHFileIO::set_range) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session, u64 start_range, u64 end_range, Bool discontinue_cache) |
set download range for the file session
| GF_Err(* GF_DASHFileIO::init) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
initialize the file session - all the headers shall be fetched before returning
| GF_Err(* GF_DASHFileIO::run) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
download the content - synchronous call: all the file shall be fetched before returning
| const char *(* GF_DASHFileIO::get_url) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get URL of the file - it may be different from the original one if resource relocation happened
| const char *(* GF_DASHFileIO::get_cache_name) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the name of the cache file. If NULL is returned, the file cannot be cached and its associated URL will be used when the client request file to play
| const char *(* GF_DASHFileIO::get_mime) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the MIME type of the file
| const char *(* GF_DASHFileIO::get_header_value) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session, const char *header_name) |
get the given hedaer value in the last HTTP response. Function is optional
| u64(* GF_DASHFileIO::get_utc_start_time) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
gets the UTC time at which reply has been received. Function is optional
| u32(* GF_DASHFileIO::get_bytes_per_sec) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the average download rate for the session. If no session is specified, gets the max download rate for the client (used for bandwidth simulation in local files)
| u32(* GF_DASHFileIO::get_total_size) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the total size on bytes for the session
| u32(* GF_DASHFileIO::get_bytes_done) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the total size on bytes for the session
| GF_Err(* GF_DASHFileIO::get_status) (GF_DASHFileIO *dashio, GF_DASHFileIOSession session) |
get the status of the session - GF_OK for done, GF_NOT_READY for in progress, other error code indicate download error
| void(* GF_DASHFileIO::manifest_updated) (GF_DASHFileIO *dashio, const char *manifest_name, const char *local_path, s32 group_idx) |
callback when manifest (DASH, HLS) or sub-playlist (HLS) is updated