Modules | |
Software timer | |
Defines | |
#define | GAVL_TIME_SCALE 1000000 |
#define | GAVL_TIME_UNDEFINED 0x8000000000000000LL |
#define | GAVL_TIME_MAX 0x7fffffffffffffffLL |
#define | gavl_seconds_to_time(s) (gavl_time_t)((s)*(double)(GAVL_TIME_SCALE)) |
Convert seconds (as double) to a gavl time. | |
#define | gavl_time_to_seconds(t) ((double)(t)/(double)(GAVL_TIME_SCALE)) |
Convert a gavl time to seconds (as double). | |
#define | GAVL_TIME_STRING_LEN 11 |
Length of the string passed to gavl_time_prettyprint. | |
#define | GAVL_TIME_STRING_LEN_MS 15 |
Length of the string passed to gavl_time_prettyprint_ms. | |
Typedefs | |
typedef int64_t | gavl_time_t |
Times in gavl are 64 bit signed integers. | |
Functions | |
GAVL_PUBLIC gavl_time_t | gavl_samples_to_time (int samplerate, int64_t samples) |
Convert a number of samples to a time for a given samplerate. | |
GAVL_PUBLIC int64_t | gavl_time_to_samples (int samplerate, gavl_time_t time) |
Convert a time to a number of audio samples for a given samplerate. | |
GAVL_PUBLIC gavl_time_t | gavl_frames_to_time (int rate_num, int rate_den, int64_t frames) |
Convert a number of video frames to a time for a given framerate. | |
GAVL_PUBLIC int64_t | gavl_time_to_frames (int rate_num, int rate_den, gavl_time_t time) |
Convert a time to a number of video frames for a given framerate. | |
GAVL_PUBLIC int64_t | gavl_time_scale (int scale, gavl_time_t time) |
Convert a gavl time to a time scaled by another base. | |
GAVL_PUBLIC gavl_time_t | gavl_time_unscale (int scale, int64_t time) |
Convert a time scaled by another base to a gavl time. | |
GAVL_PUBLIC int64_t | gavl_time_rescale (int scale1, int scale2, int64_t time) |
Convert a time scaled by one base to a time scaled by another base. | |
GAVL_PUBLIC void | gavl_time_delay (gavl_time_t *time) |
Sleep for a specified time. | |
GAVL_PUBLIC void | gavl_time_prettyprint (gavl_time_t time, char str[GAVL_TIME_STRING_LEN]) |
Convert a time to a string. | |
GAVL_PUBLIC void | gavl_time_prettyprint_ms (gavl_time_t time, char str[GAVL_TIME_STRING_LEN_MS]) |
Convert a time to a string with millisecond precision. |
#define GAVL_TIME_SCALE 1000000 |
Generic time scale: Microsecond tics
#define GAVL_TIME_UNDEFINED 0x8000000000000000LL |
Unknown or undefined time
#define GAVL_TIME_MAX 0x7fffffffffffffffLL |
Maximum possible value
#define gavl_seconds_to_time | ( | s | ) | (gavl_time_t)((s)*(double)(GAVL_TIME_SCALE)) |
Convert seconds (as double) to a gavl time.
s | Seconds as double |
#define gavl_time_to_seconds | ( | t | ) | ((double)(t)/(double)(GAVL_TIME_SCALE)) |
Convert a gavl time to seconds (as double).
t | Integer time scaled by GAVL_TIME_SCALE |
#define GAVL_TIME_STRING_LEN 11 |
Length of the string passed to gavl_time_prettyprint.
#define GAVL_TIME_STRING_LEN_MS 15 |
Length of the string passed to gavl_time_prettyprint_ms.
typedef int64_t gavl_time_t |
Times in gavl are 64 bit signed integers.
GAVL_PUBLIC gavl_time_t gavl_samples_to_time | ( | int | samplerate, | |
int64_t | samples | |||
) |
Convert a number of samples to a time for a given samplerate.
GAVL_PUBLIC int64_t gavl_time_to_samples | ( | int | samplerate, | |
gavl_time_t | time | |||
) |
Convert a time to a number of audio samples for a given samplerate.
samplerate | Samplerate | |
time | Time |
GAVL_PUBLIC gavl_time_t gavl_frames_to_time | ( | int | rate_num, | |
int | rate_den, | |||
int64_t | frames | |||
) |
Convert a number of video frames to a time for a given framerate.
GAVL_PUBLIC int64_t gavl_time_to_frames | ( | int | rate_num, | |
int | rate_den, | |||
gavl_time_t | time | |||
) |
Convert a time to a number of video frames for a given framerate.
rate_num | Numerator of the framerate | |
rate_den | Denominator of the framerate | |
time | Time |
GAVL_PUBLIC int64_t gavl_time_scale | ( | int | scale, | |
gavl_time_t | time | |||
) |
Convert a gavl time to a time scaled by another base.
scale | Time scale | |
time | Time scaled by GAVL_TIME_SCALE |
GAVL_PUBLIC gavl_time_t gavl_time_unscale | ( | int | scale, | |
int64_t | time | |||
) |
Convert a time scaled by another base to a gavl time.
scale | Time scale | |
time | Time scaled by scale |
GAVL_PUBLIC int64_t gavl_time_rescale | ( | int | scale1, | |
int | scale2, | |||
int64_t | time | |||
) |
Convert a time scaled by one base to a time scaled by another base.
scale1 | Initial time base | |
scale2 | New time base | |
time | Time scaled by scale1 |
GAVL_PUBLIC void gavl_time_delay | ( | gavl_time_t * | time | ) |
Sleep for a specified time.
time | Time after which execution of the current thread is resumed |
GAVL_PUBLIC void gavl_time_prettyprint | ( | gavl_time_t | time, | |
char | str[GAVL_TIME_STRING_LEN] | |||
) |
Convert a time to a string.
time | Time to print | |
str | String |
This prints a gavl_time into ASCII string if a format suitable for player displays. The format is: -hhh:mm:ss
GAVL_PUBLIC void gavl_time_prettyprint_ms | ( | gavl_time_t | time, | |
char | str[GAVL_TIME_STRING_LEN_MS] | |||
) |
Convert a time to a string with millisecond precision.
time | Time to print | |
str | String |
This prints a gavl_time into ASCII string if a format suitable for player displays. The format is: -hhh:mm:ss.MMM
Since 1.1.1