![]() |
libgpac
Documentation of the core library of GPAC
|
Core definitions and tools of GPAC. More...
Data Structures | |
struct | GF_LogExtra |
Extra log instructions. More... | |
struct | GF_Blob |
struct | GF_SystemRTInfo |
run-time system info object More... | |
struct | GF_FileEnumInfo |
FileEnum info object. More... | |
Macros | |
#define | gf_stringizer(x) |
Stringizer. | |
#define | GF_4CC(a, b, c, d) |
4CC Formatting | |
#define | GF_4CC_MSIZE 10 |
#define | GF_SAFEALLOC(__ptr, __struct) |
Memory allocation for a structure. | |
#define | GF_SAFE_ALLOC_N(__ptr, __n, __struct) |
Memory allocation for an array of n structs. | |
#define | GF_LOG(_log_level, _log_tools, __args) |
Message logging. | |
#define | GF_SHA1_DIGEST_SIZE 20 |
#define | GF_SHA256_DIGEST_SIZE 32 |
#define | GF_ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0])) |
Typedefs | |
typedef void(* | gf_rmt_user_callback) (void *udta, const char *text) |
typedef void(* | gf_log_cbk) (void *cbck, GF_LOG_Level log_level, GF_LOG_Tool log_tool, const char *fmt, va_list vlist) |
Log Message Callback. | |
typedef void(* | gf_on_progress_cbk) (const void *cbck, const char *title, u64 done, u64 total) |
Progress Callback. | |
typedef Bool(* | gf_enum_dir_item) (void *cbck, char *item_name, char *item_path, GF_FileEnumInfo *file_info) |
Directory Enumeration Callback. | |
typedef GF_FileIO *(* | gfio_open_proc) (GF_FileIO *fileio_ref, const char *url, const char *mode, GF_Err *out_error) |
typedef GF_Err(* | gfio_seek_proc) (GF_FileIO *fileio, u64 offset, s32 whence) |
typedef u32(* | gfio_read_proc) (GF_FileIO *fileio, u8 *buffer, u32 bytes) |
typedef u32(* | gfio_write_proc) (GF_FileIO *fileio, u8 *buffer, u32 bytes) |
typedef s64(* | gfio_tell_proc) (GF_FileIO *fileio) |
typedef Bool(* | gfio_eof_proc) (GF_FileIO *fileio) |
typedef int(* | gfio_printf_proc) (GF_FileIO *fileio, const char *format, va_list args) |
Functions | |
const char * | gf_4cc_to_str (u32 type) |
const char * | gf_4cc_to_str_safe (u32 type, char szType[GF_4CC_MSIZE]) |
u32 | gf_4cc_parse (const char *val) |
const char * | gf_error_to_string (GF_Err e) |
Error Printing. | |
GF_Err | gf_dynstrcat (char **str, const char *to_append, const char *sep) |
dynamic string concatenation | |
Bool | gf_parse_lfrac (const char *str, GF_Fraction64 *frac) |
fraction parsing | |
Bool | gf_parse_frac (const char *str, GF_Fraction *frac) |
fraction parsing | |
Bool | gf_strnistr (const char *text, const char *subtext, u32 subtext_len) |
search string without case | |
const char * | gf_strmemstr (const char *data, u32 data_size, const char *pat) |
search string in buffer | |
u64 | gf_timestamp_rescale (u64 value, u64 timescale, u64 new_timescale) |
safe timestamp rescale | |
s64 | gf_timestamp_rescale_signed (s64 value, u64 timescale, u64 new_timescale) |
safe signed timestamp rescale | |
Bool | gf_timestamp_less (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps | |
Bool | gf_timestamp_less_or_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps | |
Bool | gf_timestamp_greater (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps | |
Bool | gf_timestamp_greater_or_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps | |
Bool | gf_timestamp_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps | |
Bool | gf_strict_atoi (const char *str, s32 *ans) |
strict convert str into integer | |
Bool | gf_strict_atoui (const char *str, u32 *ans) |
strict convert str into unsigned integer | |
GF_Err | gf_sys_init (GF_MemTrackerType mem_tracker_type, const char *profile) |
System setup. | |
void | gf_sys_close () |
System closing. | |
GF_Err | gf_sys_set_args (s32 argc, const char **argv) |
System arguments. | |
u32 | gf_sys_get_argc () |
Get number of args. | |
const char ** | gf_sys_get_argv () |
Get program arguments. | |
const char * | gf_sys_get_arg (u32 arg) |
Get number of args. | |
const char * | gf_sys_find_global_arg (const char *arg) |
Locate a global filter arg. | |
void | gf_sys_mark_arg_used (s32 arg_idx, Bool used) |
Mark arg as used. | |
Bool | gf_sys_is_arg_used (s32 arg_idx) |
Check if arg is marked as used. | |
Bool | gf_sys_is_test_mode () |
checks if test mode is enabled | |
Bool | gf_sys_old_arch_compat () |
checks if compatibility with old arch is enabled | |
u32 | gf_sys_is_quiet () |
checks if running in quiet mode | |
const char * | gf_sys_features (Bool disabled) |
GF_Err | gf_sys_profiler_set_callback (void *udta, gf_rmt_user_callback rmt_usr_cbk) |
GF_Err | gf_sys_profiler_log (const char *msg) |
GF_Err | gf_sys_profiler_send (const char *msg) |
void | gf_sys_profiler_enable_sampling (Bool enable) |
Bool | gf_sys_profiler_sampling_enabled () |
void | gf_sys_set_console_code (FILE *std, GF_ConsoleCodes code) |
Bool | gf_log_set_strict_error (Bool strict) |
Log exits at first error assignment. | |
char * | gf_log_get_tools_levels (void) |
gets string-formatted log tools | |
void | gf_log_set_tool_level (GF_LOG_Tool log_tool, GF_LOG_Level log_level) |
Log modules assignment. | |
gf_log_cbk | gf_log_set_callback (void *usr_cbk, gf_log_cbk cbk) |
Log overwrite. | |
Bool | gf_log_tool_level_on (GF_LOG_Tool log_tool, GF_LOG_Level log_level) |
Log level checking. | |
const char * | gf_log_tool_name (GF_LOG_Tool log_tool) |
Log tool name. | |
u32 | gf_log_get_tool_level (GF_LOG_Tool log_tool) |
Log level getter. | |
GF_Err | gf_log_set_tools_levels (const char *log_tools_levels, Bool reset_all) |
Set log tools and levels. | |
GF_Err | gf_log_modify_tools_levels (const char *val) |
Modify log tools and levels. | |
Bool | gf_log_use_color () |
Checks if color logs is enabled. | |
Bool | gf_log_use_file () |
Checks if logs are stored to file. | |
void | gf_log_reset_file () |
Resets log file Resets log file if any log file name was specified, by closing and reopening a new file. | |
void | gf_log_push_extra (const GF_LogExtra *log) |
void | gf_log_pop_extra (const GF_LogExtra *log) |
void | gf_log_reset_extras () |
void | gf_rand_init (Bool Reset) |
PseudoRandom Integer Generation Initialization. | |
u32 | gf_rand () |
void | gf_get_user_name (char buf[1024]) |
void | gf_set_progress (const char *title, u64 done, u64 total) |
Progress formatting. | |
void | gf_set_progress_callback (void *user_cbk, gf_on_progress_cbk prog_cbk) |
Progress overwriting Overwrites the progress signaling function by a user-defined one. | |
Bool | gf_prompt_has_input () |
Prompt checking. | |
char | gf_prompt_get_char () |
Prompt character flush. | |
GF_Err | gf_prompt_get_size (u32 *width, u32 *height) |
Get prompt TTY size. | |
void | gf_prompt_set_echo_off (Bool echo_off) |
turns prompt echo on/off | |
Bool | gf_sys_get_battery_state (Bool *onBattery, u32 *onCharge, u32 *level, u32 *batteryLifeTime, u32 *batteryFullLifeTime) |
GF_Err | gf_bin128_parse (const char *string, bin128 value) |
parses 128 bit from string | |
GF_Err | gf_blob_get (const char *blob_url, u8 **out_data, u32 *out_size, u32 *blob_flags) |
GF_Err | gf_blob_release (const char *blob_url) |
char * | gf_blob_register (GF_Blob *blob) |
void | gf_blob_unregister (GF_Blob *blob) |
int | gf_getch () |
Portable getch() | |
Bool | gf_read_line_input (char *line, int maxSize, Bool showContent) |
Reads a line of input from stdin. | |
u32 | gf_sys_clock () |
System clock query. | |
u64 | gf_sys_clock_high_res () |
High precision system clock query. | |
void | gf_sleep (u32 ms) |
Sleeps thread/process. | |
u64 | gf_net_get_utc () |
gets UTC time in milliseconds | |
u64 | gf_net_ntp_to_utc (u64 ntp) |
converts an ntp timestamp into UTC time in milliseconds | |
u64 | gf_net_parse_date (const char *date) |
parses date | |
u64 | gf_net_get_utc_ts (u32 year, u32 month, u32 day, u32 hour, u32 min, u32 sec) |
returns 64-bit UTC timestamp from year, month, day, hour, min and sec | |
s32 | gf_net_get_timezone () |
gets timezone adjustment in seconds | |
Bool | gf_net_time_is_dst () |
gets timezone daylight saving time status | |
struct tm * | gf_gmtime (const time_t *time) |
gets time from UTC timestamp | |
u32 | gf_sys_get_process_id () |
Gets process ID. | |
Bool | gf_sys_get_rti (u32 refresh_time_ms, GF_SystemRTInfo *rti, u32 flags) |
Gets Run-Time info. | |
GF_Err | gf_file_load_data (const char *file_name, u8 **out_data, u32 *out_size) |
reads a file into memory | |
GF_Err | gf_file_load_data_filep (FILE *file, u8 **out_data, u32 *out_size) |
reads a file into memory | |
GF_Err | gf_rmdir (const char *DirPathName) |
Delete Directory. | |
GF_Err | gf_mkdir (const char *DirPathName) |
Create Directory. | |
Bool | gf_dir_exists (const char *DirPathName) |
Check Directory Exists. | |
GF_Err | gf_dir_cleanup (const char *DirPathName) |
Create Directory. | |
const char * | gf_get_default_cache_directory () |
u32 | gf_file_handles_count () |
size_t | gf_fwrite (const void *ptr, size_t nb_bytes, FILE *stream) |
file writing helper | |
size_t | gf_fread (void *ptr, size_t nbytes, FILE *stream) |
file reading helper | |
char * | gf_fgets (char *buf, size_t size, FILE *stream) |
file reading helper | |
int | gf_fgetc (FILE *stream) |
file reading helper | |
int | gf_fputc (int val, FILE *stream) |
file writing helper | |
int | gf_fputs (const char *buf, FILE *stream) |
file writing helper | |
int | gf_fprintf (FILE *stream, const char *format,...) |
file writing helper | |
int | gf_vfprintf (FILE *stream, const char *format, va_list args) |
file writing helper | |
int | gf_fflush (FILE *stream) |
file flush helper | |
int | gf_feof (FILE *stream) |
end of file helper | |
int | gf_ferror (FILE *stream) |
file error helper | |
u64 | gf_fsize (FILE *fp) |
file size helper | |
Bool | gf_fileio_check (FILE *fp) |
file IO checker | |
GF_FileIOWriteState | gf_fileio_write_ready (FILE *fp) |
file IO write checker | |
FILE * | gf_fopen (const char *file_name, const char *mode) |
file opening | |
FILE * | gf_fopen_ex (const char *file_name, const char *parent_url, const char *mode, Bool no_warn) |
file opening | |
s32 | gf_fclose (FILE *file) |
file closing | |
u64 | gf_ftell (FILE *f) |
large file position query | |
s32 | gf_fseek (FILE *f, s64 pos, s32 whence) |
large file seeking | |
char * | gf_file_basename (const char *filename) |
char * | gf_file_ext_start (const char *filename) |
GF_Err | gf_enum_directory (const char *dir, Bool enum_directory, gf_enum_dir_item enum_dir, void *cbck, const char *filter) |
Directory enumeration. | |
GF_Err | gf_file_delete (const char *fileName) |
File Deletion. | |
GF_Err | gf_file_move (const char *fileName, const char *newFileName) |
File Move. | |
FILE * | gf_file_temp (char **const fileName) |
Temporary File Creation. | |
u64 | gf_file_modification_time (const char *filename) |
File Modification Time. | |
Bool | gf_file_exists (const char *fileName) |
File existence check. | |
Bool | gf_file_exists_ex (const char *file_name, const char *par_name) |
File existence check. | |
GF_FileIO * | gf_fileio_new (char *url, void *udta, gfio_open_proc open, gfio_seek_proc seek, gfio_read_proc read, gfio_write_proc write, gfio_tell_proc tell, gfio_eof_proc eof, gfio_printf_proc printf) |
void | gf_fileio_del (GF_FileIO *fileio) |
void * | gf_fileio_get_udta (GF_FileIO *fileio) |
const char * | gf_fileio_url (GF_FileIO *fileio) |
GF_FileIO * | gf_fileio_from_mem (const char *URL, const u8 *data, u32 size) |
void | gf_fileio_set_stats (GF_FileIO *fileio, u64 bytes_done, u64 file_size, GF_FileIOCacheState cache_state, u32 bytes_per_sec) |
Bool | gf_fileio_get_stats (GF_FileIO *fileio, u64 *bytes_done, u64 *file_size, GF_FileIOCacheState *cache_state, u32 *bytes_per_sec) |
void | gf_fileio_set_write_state (GF_FileIO *fileio, GF_FileIOWriteState write_state) |
GF_FileIO * | gf_fileio_open_url (GF_FileIO *fileio, const char *url, const char *mode, GF_Err *out_err) |
GF_Err | gf_fileio_tag_main_thread (GF_FileIO *fileio) |
Bool | gf_fileio_is_main_thread (const char *url) |
GF_FileIO * | gf_fileio_from_url (const char *url) |
const char * | gf_fileio_factory (GF_FileIO *fileio, const char *new_res_url) |
const char * | gf_fileio_translate_url (const char *url) |
const char * | gf_fileio_resource_url (GF_FileIO *fileio) |
Bool | gf_fileio_read_mode (GF_FileIO *fileio) |
Bool | gf_fileio_write_mode (GF_FileIO *fileio) |
u32 | gf_crc_32 (const u8 *data, u32 size) |
CRC32 compute. | |
GF_Err | gf_gz_compress_payload (u8 **data, u32 data_len, u32 *out_size) |
GF_Err | gf_gz_compress_payload_ex (u8 **data, u32 data_len, u32 *out_size, u8 data_offset, Bool skip_if_larger, u8 **out_comp_data, Bool use_gz) |
GF_Err | gf_gz_decompress_payload (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size) |
GF_Err | gf_gz_decompress_payload_ex (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size, Bool use_gz) |
GF_Err | gf_lz_compress_payload (u8 **data, u32 data_len, u32 *out_size) |
GF_Err | gf_lz_decompress_payload (u8 *data, u32 data_len, u8 **uncompressed_data, u32 *out_size) |
u64 | gf_gzseek (void *file, u64 offset, int whence) |
u64 | gf_gztell (void *file) |
s64 | gf_gzrewind (void *file) |
int | gf_gzeof (void *file) |
int | gf_gzclose (void *file) |
const char * | gf_gzerror (void *file, int *errnum) |
void | gf_gzclearerr (void *file) |
void * | gf_gzopen (const char *path, const char *mode) |
int | gf_gzread (void *file, void *buf, unsigned len) |
int | gf_gzdirect (void *file) |
int | gf_gzgetc (void *file) |
char * | gf_gzgets (void *file, char *buf, int len) |
GF_SHA1Context * | gf_sha1_starts () |
void | gf_sha1_update (GF_SHA1Context *ctx, u8 *input, u32 length) |
void | gf_sha1_finish (GF_SHA1Context *ctx, u8 digest[GF_SHA1_DIGEST_SIZE]) |
GF_Err | gf_sha1_file (const char *filename, u8 digest[GF_SHA1_DIGEST_SIZE]) |
GF_Err | gf_sha1_file_ptr (FILE *file, u8 digest[GF_SHA1_DIGEST_SIZE]) |
void | gf_sha1_csum (u8 *buf, u32 buflen, u8 digest[GF_SHA1_DIGEST_SIZE]) |
void | gf_sha256_csum (const void *buf, u64 buflen, u8 digest[GF_SHA256_DIGEST_SIZE]) |
const char * | gf_opts_get_key (const char *secName, const char *keyName) |
GF_Err | gf_opts_set_key (const char *secName, const char *keyName, const char *keyValue) |
void | gf_opts_del_section (const char *secName) |
u32 | gf_opts_get_section_count () |
const char * | gf_opts_get_section_name (u32 secIndex) |
u32 | gf_opts_get_key_count (const char *secName) |
const char * | gf_opts_get_key_name (const char *secName, u32 keyIndex) |
Bool | gf_opts_get_bool (const char *secName, const char *keyName) |
u32 | gf_opts_get_int (const char *secName, const char *keyName) |
const char * | gf_opts_get_key_restricted (const char *secName, const char *keyName) |
GF_Err | gf_opts_discard_changes () |
GF_Err | gf_opts_save () |
const char * | gf_opts_get_filename () |
Bool | gf_opts_default_shared_directory (char *path_buffer) |
GF_Err | gf_creds_check_password (const char *username, char *password) |
Bool | gf_creds_check_membership (const char *username, const char *users, const char *groups) |
Core definitions and tools of GPAC.
This file contains basic functions and core definitions of the GPAC framework. This file is usually included by all GPAC header files since it contains the error definitions.
struct GF_Blob |
Blob structure used to pass data pointer around
Data Fields | ||
---|---|---|
u8 * | data |
data block of blob |
u32 | size |
size of blob |
u32 | flags |
blob flags |
struct __tag_mutex * | mx |
blob mutex for multi-thread access |
#define GF_SHA256_DIGEST_SIZE 32 |
checksum size for SHA-256
#define GF_ARRAY_LENGTH | ( | a | ) | (sizeof(a) / sizeof((a)[0])) |
macros to get the size of an array of struct
Bool gf_sys_get_battery_state | ( | Bool * | onBattery, |
u32 * | onCharge, | ||
u32 * | level, | ||
u32 * | batteryLifeTime, | ||
u32 * | batteryFullLifeTime | ||
) |
gets battery state
onBattery | set to GF_TRUE if running on battery |
onCharge | set to GF_TRUE if battery is charging |
level | set to battery charge percent |
batteryLifeTime | set to battery lifetime |
batteryFullLifeTime | set to battery full lifetime |
parses 128 bit from string
Parses 128 bit from string
string | the string containing the value in hexa. Non alphanum characters are skipped |
value | the value parsed |
Retrieves data associated with a blob url. If success, gf_blob_release must be called after this
blob_url | URL of blob object (ie gmem://p) |
out_data | if success, set to blob data pointer |
out_size | if success, set to blob data size |
blob_flags | if success, set to blob flags - may be NULL |
GF_Err gf_blob_release | ( | const char * | blob_url | ) |
Releases blob data
blob_url | URL of blob object (ie gmem://p) |
char * gf_blob_register | ( | GF_Blob * | blob | ) |
Registers a new blob
blob | blob object |
void gf_blob_unregister | ( | GF_Blob * | blob | ) |
Unegisters a blob. This must be called before destroying a registered blob
blob | blob object |
int gf_getch | ( | ) |
Portable getch()
Returns immediately a typed char from stdin
Reads a line of input from stdin.
line | the buffer to fill |
maxSize | the maximum size of the line to read |
showContent | boolean indicating if the line read should be printed on stderr or not |