![]() |
libgpac
Documentation of the core library of GPAC
|
#include "downloader.h"
Include dependency graph for downloader.c:Functions | |
| static void | gf_dm_connect (GF_DownloadSession *sess) |
| void | dm_sess_sk_del (GF_DownloadSession *sess) |
| static void | sess_connection_closed (GF_DownloadSession *sess) |
| GF_Err | dm_sess_write (GF_DownloadSession *session, const u8 *buffer, u32 size) |
| static Bool | gf_dm_is_local (GF_DownloadManager *dm, const char *url) |
| Bool | gf_dm_can_handle_url (const char *url) |
| void | gf_dm_sess_set_header_ex (GF_DownloadSession *sess, const char *name, const char *value, Bool allow_overwrite) |
| void | gf_dm_sess_set_header (GF_DownloadSession *sess, const char *name, const char *value) |
| GF_Err | gf_dm_sess_send_reply (GF_DownloadSession *sess, u32 reply_code, const char *response_body, u32 body_len, Bool no_body) |
| void | gf_dm_sess_clear_headers (GF_DownloadSession *sess) |
| void | gf_dm_disconnect (GF_DownloadSession *sess, HTTPCloseType close_type) |
| GF_EXPORT void | gf_dm_sess_del (GF_DownloadSession *sess) |
| void | gf_dm_sess_notify_state (GF_DownloadSession *sess, GF_NetIOStatus dnload_status, GF_Err error) |
| static void | gf_dm_sess_user_io (GF_DownloadSession *sess, GF_NETIO_Parameter *par) |
| GF_EXPORT GF_Err | gf_dm_sess_last_error (GF_DownloadSession *sess) |
| GF_EXPORT void | gf_dm_url_info_init (GF_URL_Info *info) |
| GF_EXPORT void | gf_dm_url_info_del (GF_URL_Info *info) |
| static s32 | gf_dm_parse_protocol (const char *url, GF_URL_Info *info) |
| GF_EXPORT GF_Err | gf_dm_get_url_info (const char *url, GF_URL_Info *info, const char *baseURL) |
| GF_EXPORT GF_Err | gf_dm_sess_setup_from_url (GF_DownloadSession *sess, const char *url, Bool allow_direct_reuse) |
| Bool | gf_dm_session_do_task (GF_DownloadSession *sess) |
| Bool | gf_dm_session_task (GF_FilterSession *fsess, void *callback, u32 *reschedule_ms) |
| static u32 | gf_dm_session_thread (void *par) |
| GF_DownloadSession * | gf_dm_sess_new_internal (GF_DownloadManager *dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Socket *server, Bool force_server, GF_Err *e) |
| GF_EXPORT GF_DownloadSession * | gf_dm_sess_new_server (GF_DownloadManager *dm, GF_Socket *server, void *ssl_sock_ctx, gf_dm_user_io user_io, void *usr_cbk, Bool async, GF_Err *e) |
| u32 | gf_dm_sess_subsession_count (GF_DownloadSession *sess) |
| void | gf_dm_sess_server_reset (GF_DownloadSession *sess) |
| GF_EXPORT GF_DownloadSession * | gf_dm_sess_new_simple (GF_DownloadManager *dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err *e) |
| GF_EXPORT GF_DownloadSession * | gf_dm_sess_new (GF_DownloadManager *dm, const char *url, u32 dl_flags, gf_dm_user_io user_io, void *usr_cbk, GF_Err *e) |
| GF_Err | gf_dm_read_data (GF_DownloadSession *sess, char *data, u32 data_size, u32 *out_read) |
| DownloadedCacheEntry | gf_dm_refresh_cache_entry (GF_DownloadSession *sess) |
| GF_EXPORT const char * | gf_dm_sess_mime_type (GF_DownloadSession *sess) |
| GF_EXPORT GF_Err | gf_dm_sess_set_range (GF_DownloadSession *sess, u64 start_range, u64 end_range, Bool discontinue_cache) |
| GF_EXPORT GF_Err | gf_dm_sess_process (GF_DownloadSession *sess) |
| GF_EXPORT GF_Err | gf_dm_sess_process_headers (GF_DownloadSession *sess) |
| GF_EXPORT GF_DownloadManager * | gf_dm_new (GF_FilterSession *fsess) |
| GF_EXPORT void | gf_dm_set_auth_callback (GF_DownloadManager *dm, gf_dm_get_usr_pass get_user_password, void *usr_cbk) |
| GF_EXPORT void | gf_dm_del (GF_DownloadManager *dm) |
| static void | gf_icy_skip_data (GF_DownloadSession *sess, const char *data, u32 nbBytes) |
| static char * | gf_dm_get_chunk_data (GF_DownloadSession *sess, Bool first_chunk_in_payload, char *body_start, u32 *payload_size, u32 *header_size) |
| static void | dm_sess_update_download_rate (GF_DownloadSession *sess) |
| void | gf_dm_data_received (GF_DownloadSession *sess, u8 *payload, u32 payload_size, Bool store_in_init, u32 *rewrite_size, u8 *original_payload) |
| static Bool | dm_exceeds_cap_rate (GF_DownloadManager *dm, GF_DownloadSession *for_sess) |
| static void | gf_dm_sess_estimate_chunk_rate (GF_DownloadSession *sess, u32 nb_bytes) |
| GF_EXPORT GF_Err | gf_dm_sess_fetch_data (GF_DownloadSession *sess, char *buffer, u32 buffer_size, u32 *read_size) |
| GF_EXPORT GF_Err | gf_dm_sess_get_stats (GF_DownloadSession *sess, const char **server, const char **path, u64 *total_size, u64 *bytes_done, u32 *bytes_per_sec, GF_NetIOStatus *net_status) |
| GF_EXPORT u64 | gf_dm_sess_get_utc_start (GF_DownloadSession *sess) |
| GF_EXPORT const char * | gf_dm_sess_get_cache_name (GF_DownloadSession *sess) |
| GF_EXPORT void | gf_dm_sess_abort (GF_DownloadSession *sess) |
| static GF_Err | http_send_headers (GF_DownloadSession *sess) |
| static GF_Err | http_parse_remaining_body (GF_DownloadSession *sess) |
| static void | notify_error_body (GF_DownloadSession *sess, char *sHTTP, s32 bytesRead, s32 BodyStart) |
| static u32 | http_parse_method (const char *comp) |
| static GF_Err | wait_for_header_and_parse (GF_DownloadSession *sess) |
| void | http_do_requests (GF_DownloadSession *sess) |
| GF_EXPORT void | gf_dm_sess_set_max_rate (GF_DownloadSession *sess, u32 max_rate) |
| GF_EXPORT u32 | gf_dm_sess_get_max_rate (GF_DownloadSession *sess) |
| GF_EXPORT Bool | gf_dm_sess_is_regulated (GF_DownloadSession *sess) |
| static void | wget_NetIO (void *cbk, GF_NETIO_Parameter *param) |
| GF_EXPORT GF_Err | gf_dm_wget (const char *url, const char *filename, u64 start_range, u64 end_range, char **redirected_url) |
| GF_EXPORT GF_Err | gf_dm_wget_with_cache (GF_DownloadManager *dm, const char *url, const char *filename, u64 start_range, u64 end_range, char **redirected_url) |
| GF_EXPORT const char * | gf_dm_sess_get_resource_name (GF_DownloadSession *dnload) |
| GF_EXPORT void | gf_dm_set_data_rate (GF_DownloadManager *dm, u32 rate_in_bits_per_sec) |
| GF_EXPORT u32 | gf_dm_get_data_rate (GF_DownloadManager *dm) |
| GF_EXPORT u32 | gf_dm_get_global_rate (GF_DownloadManager *dm) |
| GF_HTTPSessionType | gf_dm_sess_is_hmux (GF_DownloadSession *sess) |
| Bool | gf_dm_sess_use_tls (GF_DownloadSession *sess) |
| u32 | gf_dm_sess_get_resource_size (GF_DownloadSession *sess) |
| GF_EXPORT const char * | gf_dm_sess_get_header (GF_DownloadSession *sess, const char *name) |
| GF_EXPORT GF_Err | gf_dm_sess_enum_headers (GF_DownloadSession *sess, u32 *idx, const char **hdr_name, const char **hdr_val) |
| GF_EXPORT GF_Err | gf_dm_sess_get_header_sizes_and_times (GF_DownloadSession *sess, u32 *req_hdr_size, u32 *rsp_hdr_size, u32 *connect_time, u32 *reply_time, u32 *download_time) |
| GF_EXPORT void | gf_dm_sess_force_memory_mode (GF_DownloadSession *sess, u32 force_keep) |
| static GF_Err | gf_dm_sess_flush_async_close (GF_DownloadSession *sess, Bool no_select, Bool for_close) |
| GF_Err | gf_dm_sess_flush_async (GF_DownloadSession *sess, Bool no_select) |
| GF_Err | gf_dm_sess_flush_close (GF_DownloadSession *sess) |
| u32 | gf_dm_sess_async_pending (GF_DownloadSession *sess) |
| GF_EXPORT GF_Err | gf_dm_sess_send (GF_DownloadSession *sess, u8 *data, u32 size) |
| GF_Socket * | gf_dm_sess_get_socket (GF_DownloadSession *sess) |
| void | gf_dm_sess_set_sock_group (GF_DownloadSession *sess, GF_SockGroup *sg) |
| void | gf_dm_sess_detach_async (GF_DownloadSession *sess) |
| void | gf_dm_sess_set_timeout (GF_DownloadSession *sess, u32 timeout) |
| void | gf_dm_sess_set_netcap_id (GF_DownloadSession *sess, const char *netcap_id) |
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| void dm_sess_sk_del | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:| Bool gf_dm_can_handle_url | ( | const char * | url | ) |
Here is the caller graph for this function:| void gf_dm_sess_set_header_ex | ( | GF_DownloadSession * | sess, |
| const char * | name, | ||
| const char * | value, | ||
| Bool | allow_overwrite | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_set_header | ( | GF_DownloadSession * | sess, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_dm_sess_send_reply | ( | GF_DownloadSession * | sess, |
| u32 | reply_code, | ||
| const char * | response_body, | ||
| u32 | body_len, | ||
| Bool | no_body | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_clear_headers | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_disconnect | ( | GF_DownloadSession * | sess, |
| HTTPCloseType | close_type | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT void gf_dm_sess_del | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_notify_state | ( | GF_DownloadSession * | sess, |
| GF_NetIOStatus | dnload_status, | ||
| GF_Err | error | ||
| ) |
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
Here is the caller graph for this function:| GF_EXPORT void gf_dm_url_info_init | ( | GF_URL_Info * | info | ) |
Here is the caller graph for this function:| GF_EXPORT void gf_dm_url_info_del | ( | GF_URL_Info * | info | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| url | The url to parse for protocol |
| info | The info to fill |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_setup_from_url | ( | GF_DownloadSession * | sess, |
| const char * | url, | ||
| Bool | allow_direct_reuse | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| Bool gf_dm_session_do_task | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_DownloadSession * gf_dm_sess_new_internal | ( | GF_DownloadManager * | dm, |
| const char * | url, | ||
| u32 | dl_flags, | ||
| gf_dm_user_io | user_io, | ||
| void * | usr_cbk, | ||
| GF_Socket * | server, | ||
| Bool | force_server, | ||
| GF_Err * | e | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_DownloadSession * gf_dm_sess_new_server | ( | GF_DownloadManager * | dm, |
| GF_Socket * | server, | ||
| void * | ssl_sock_ctx, | ||
| gf_dm_user_io | user_io, | ||
| void * | usr_cbk, | ||
| Bool | async, | ||
| GF_Err * | e | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| u32 gf_dm_sess_subsession_count | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_server_reset | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_DownloadSession * gf_dm_sess_new_simple | ( | GF_DownloadManager * | dm, |
| const char * | url, | ||
| u32 | dl_flags, | ||
| gf_dm_user_io | user_io, | ||
| void * | usr_cbk, | ||
| GF_Err * | e | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_DownloadSession * gf_dm_sess_new | ( | GF_DownloadManager * | dm, |
| const char * | url, | ||
| u32 | dl_flags, | ||
| gf_dm_user_io | user_io, | ||
| void * | usr_cbk, | ||
| GF_Err * | e | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| DownloadedCacheEntry gf_dm_refresh_cache_entry | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT const char * gf_dm_sess_mime_type | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_set_range | ( | GF_DownloadSession * | sess, |
| u64 | start_range, | ||
| u64 | end_range, | ||
| Bool | discontinue_cache | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_DownloadManager * gf_dm_new | ( | GF_FilterSession * | fsess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT void gf_dm_set_auth_callback | ( | GF_DownloadManager * | dm, |
| gf_dm_get_usr_pass | get_user_password, | ||
| void * | usr_cbk | ||
| ) |
Here is the caller graph for this function:| GF_EXPORT void gf_dm_del | ( | GF_DownloadManager * | dm | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Skip ICY metadata from SHOUTCAST or ICECAST streams. Data will be skipped and parsed and sent as a GF_NETIO_Parameter to the user_io, so modules interrested by those streams may use the data
| sess | The GF_DownloadSession |
| data | last data received |
| nbBytes | The number of bytes contained into data |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_data_received | ( | GF_DownloadSession * | sess, |
| u8 * | payload, | ||
| u32 | payload_size, | ||
| Bool | store_in_init, | ||
| u32 * | rewrite_size, | ||
| u8 * | original_payload | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_fetch_data | ( | GF_DownloadSession * | sess, |
| char * | buffer, | ||
| u32 | buffer_size, | ||
| u32 * | read_size | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_get_stats | ( | GF_DownloadSession * | sess, |
| const char ** | server, | ||
| const char ** | path, | ||
| u64 * | total_size, | ||
| u64 * | bytes_done, | ||
| u32 * | bytes_per_sec, | ||
| GF_NetIOStatus * | net_status | ||
| ) |
Here is the caller graph for this function:
Here is the caller graph for this function:| GF_EXPORT const char * gf_dm_sess_get_cache_name | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT void gf_dm_sess_abort | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Sends the HTTP headers
| sess | The GF_DownloadSession |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Parse the remaining part of body
| sess | The session |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Here is the caller graph for this function:
|
static |
Waits for the response HEADERS, parse the information... and so on
| sess | The session |
Here is the call graph for this function:
Here is the caller graph for this function:| void http_do_requests | ( | GF_DownloadSession * | sess | ) |
Default performing behavior
| sess | The session |
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
NET IO for MPD, we don't need this anymore since mime-type can be given by session
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_wget | ( | const char * | url, |
| const char * | filename, | ||
| u64 | start_range, | ||
| u64 | end_range, | ||
| char ** | redirected_url | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_wget_with_cache | ( | GF_DownloadManager * | dm, |
| const char * | url, | ||
| const char * | filename, | ||
| u64 | start_range, | ||
| u64 | end_range, | ||
| char ** | redirected_url | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT const char * gf_dm_sess_get_resource_name | ( | GF_DownloadSession * | dnload | ) |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| GF_HTTPSessionType gf_dm_sess_is_hmux | ( | GF_DownloadSession * | sess | ) |
Here is the caller graph for this function:| Bool gf_dm_sess_use_tls | ( | GF_DownloadSession * | sess | ) |
| u32 gf_dm_sess_get_resource_size | ( | GF_DownloadSession * | sess | ) |
Here is the caller graph for this function:| GF_EXPORT const char * gf_dm_sess_get_header | ( | GF_DownloadSession * | sess, |
| const char * | name | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_enum_headers | ( | GF_DownloadSession * | sess, |
| u32 * | idx, | ||
| const char ** | hdr_name, | ||
| const char ** | hdr_val | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_EXPORT GF_Err gf_dm_sess_get_header_sizes_and_times | ( | GF_DownloadSession * | sess, |
| u32 * | req_hdr_size, | ||
| u32 * | rsp_hdr_size, | ||
| u32 * | connect_time, | ||
| u32 * | reply_time, | ||
| u32 * | download_time | ||
| ) |
Here is the caller graph for this function:
Here is the caller graph for this function:
|
static |
Here is the call graph for this function:
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_dm_sess_flush_close | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| u32 gf_dm_sess_async_pending | ( | GF_DownloadSession * | sess | ) |
Here is the caller graph for this function:
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Socket * gf_dm_sess_get_socket | ( | GF_DownloadSession * | sess | ) |
Here is the caller graph for this function:| void gf_dm_sess_set_sock_group | ( | GF_DownloadSession * | sess, |
| GF_SockGroup * | sg | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_detach_async | ( | GF_DownloadSession * | sess | ) |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_dm_sess_set_timeout | ( | GF_DownloadSession * | sess, |
| u32 | timeout | ||
| ) |
Here is the caller graph for this function:| void gf_dm_sess_set_netcap_id | ( | GF_DownloadSession * | sess, |
| const char * | netcap_id | ||
| ) |
Here is the caller graph for this function: