![]() |
libgpac
Documentation of the core library of GPAC
|
Memory management. More...
Macros | |
#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. | |
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 | |
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 | |
Memory management.
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 | |||
) |
Memory allocation for a structure.
Macro allocating memory and zero-ing it
#define GF_SAFE_ALLOC_N | ( | __ptr, | |
__n, | |||
__struct | |||
) |
Memory allocation for an array of n structs.
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 | ) |
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 | ||
) |
GF_Err gf_dynstrcat | ( | char ** | str, |
const char * | to_append, | ||
const char * | sep | ||
) |
dynamic string concatenation
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 | ||
) |
fraction parsing
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 | ||
) |
fraction parsing
Parse a 32 bit fraction from string
str | string to parse |
frac | fraction to fill |
search string without case
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 string in buffer
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 |
safe timestamp rescale
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 |
safe signed timestamp rescale
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 |
compare timestamps
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 |
compare timestamps
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 |
compare timestamps
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 |
compare timestamps
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 |
compare timestamps
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 |
strict convert str into integer
Validate and parse str into integer
str | text to convert to integer |
ans | integer to fill |