![]() |
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 | |
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 | |
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 aubstring in a string witout checking for case
text | text to search |
subtext | string to find |
subtext_len | length of string to find |
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 |