libgpac
Documentation of the core library of GPAC
|
Memory management. More...
Macros | |
#define | GF_SAFEALLOC(__ptr, __struct) |
Memory allocation for a structure. More... | |
#define | GF_SAFE_ALLOC_N(__ptr, __n, __struct) |
Memory allocation for an array of n structs. More... | |
Functions | |
void | gf_free (void *ptr) |
void * | gf_malloc (size_t size) |
void * | gf_calloc (size_t num, size_t size_of) |
char * | gf_strdup (const char *str) |
void * | gf_realloc (void *ptr, size_t size) |
GF_Err | gf_dynstrcat (char **str, const char *to_append, const char *sep) |
dynamic string concatenation More... | |
Bool | gf_parse_lfrac (const char *str, GF_Fraction64 *frac) |
fraction parsing More... | |
Bool | gf_parse_frac (const char *str, GF_Fraction *frac) |
fraction parsing More... | |
Bool | gf_strnistr (const char *text, const char *subtext, u32 subtext_len) |
search string without case More... | |
const char * | gf_strmemstr (const char *data, u32 data_size, const char *pat) |
search string in buffer More... | |
u64 | gf_timestamp_rescale (u64 value, u64 timescale, u64 new_timescale) |
safe timestamp rescale More... | |
s64 | gf_timestamp_rescale_signed (s64 value, u64 timescale, u64 new_timescale) |
safe signed timestamp rescale More... | |
Bool | gf_timestamp_less (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps More... | |
Bool | gf_timestamp_less_or_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps More... | |
Bool | gf_timestamp_greater (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps More... | |
Bool | gf_timestamp_greater_or_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps More... | |
Bool | gf_timestamp_equal (u64 value1, u64 timescale1, u64 value2, u64 timescale2) |
compare timestamps More... | |
Bool | gf_strict_atoi (const char *str, s32 *ans) |
strict convert str into integer More... | |
Bool | gf_strict_atoui (const char *str, u32 *ans) |
strict convert str into unsigned integer More... | |
GPAC can use its own memory tracker, depending on compilation option. It is recommended to use only the functions defined in this section to allocate and free memory whenever developing within the GPAC library.
#define GF_SAFEALLOC | ( | __ptr, | |
__struct | |||
) |
Macro allocating memory and zero-ing it
#define GF_SAFE_ALLOC_N | ( | __ptr, | |
__n, | |||
__struct | |||
) |
Macro allocating memory for n structures and zero-ing it
void gf_free | ( | void * | ptr | ) |
free memory allocated with gpac
ptr | same as free() |
void* gf_malloc | ( | size_t | size | ) |
allocates memory, shall be freed using gf_free
size | same as malloc() |
void* gf_calloc | ( | size_t | num, |
size_t | size_of | ||
) |
allocates memory array, shall be freed using gf_free
num | same as calloc() |
size_of | same as calloc() |
char* gf_strdup | ( | const char * | str | ) |
duplicates string, shall be freed using gf_free
str | same as strdup() |
void* gf_realloc | ( | void * | ptr, |
size_t | size | ||
) |
reallocates memory, shall be freed using gf_free
ptr | same as realloc() |
size | same as realloc() |
GF_Err gf_dynstrcat | ( | char ** | str, |
const char * | to_append, | ||
const char * | sep | ||
) |
Dynamic concatenation of string with optional separator
str | pointer to destination string pointer |
to_append | string to append |
sep | optional separator string to insert before concatenation. If set and initial string is NULL, will not be appended |
Bool gf_parse_lfrac | ( | const char * | str, |
GF_Fraction64 * | frac | ||
) |
Parse a 64 bit fraction from string
str | string to parse |
frac | fraction to fill |
Bool gf_parse_frac | ( | const char * | str, |
GF_Fraction * | frac | ||
) |
Parse a 32 bit fraction from string
str | string to parse |
frac | fraction to fill |
Search a substring in a string without checking for case
text | text to search |
subtext | string to find |
subtext_len | length of string to find |
const char* gf_strmemstr | ( | const char * | data, |
u32 | data_size, | ||
const char * | pat | ||
) |
Search for a substring in a memory buffer of characters that may not be null-terminated
data | buffer of chars in which to search |
data_size | size of data buffer |
pat | pattern to search for as a null-terminated string |
Rescale a 64 bit timestamp value to new timescale, i.e. performs value * new_timescale / timescale
value | value to rescale. A value of -1 means no timestamp defined and is returned unmodified |
timescale | timescale of value. Assumed to be less than 0xFFFFFFFF |
new_timescale | new timescale? Assumed to be less than 0xFFFFFFFF |
Rescale a 64 bit timestamp value to new timescale, i.e. performs value * new_timescale / timescale
value | value to rescale |
timescale | timescale of value. Assumed to be less than 0xFFFFFFFF |
new_timescale | new timescale. Assumed to be less than 0xFFFFFFFF |
Compares two timestamps
value1 | value to rescale |
timescale1 | timescale of value. Assumed to be less than 0xFFFFFFFF |
value2 | value to rescale |
timescale2 | timescale of value. Assumed to be less than 0xFFFFFFFF |
Compares two timestamps
value1 | value to rescale |
timescale1 | timescale of value. Assumed to be less than 0xFFFFFFFF |
value2 | value to rescale |
timescale2 | timescale of value. Assumed to be less than 0xFFFFFFFF |
Compares two timestamps
value1 | value to rescale |
timescale1 | timescale of value. Assumed to be less than 0xFFFFFFFF |
value2 | value to rescale |
timescale2 | timescale of value. Assumed to be less than 0xFFFFFFFF |
Compares two timestamps
value1 | value to rescale |
timescale1 | timescale of value. Assumed to be less than 0xFFFFFFFF |
value2 | value to rescale |
timescale2 | timescale of value. Assumed to be less than 0xFFFFFFFF |
Compares two timestamps
value1 | value to rescale |
timescale1 | timescale of value. Assumed to be less than 0xFFFFFFFF |
value2 | value to rescale |
timescale2 | timescale of value. Assumed to be less than 0xFFFFFFFF |
Validate and parse str into integer
str | text to convert to integer |
ans | integer to fill |