Time

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 Documentation

#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 (  )     (gavl_time_t)((s)*(double)(GAVL_TIME_SCALE))

Convert seconds (as double) to a gavl time.

Parameters:
s Seconds as double
Returns:
Integer time scaled by GAVL_TIME_SCALE
#define gavl_time_to_seconds (  )     ((double)(t)/(double)(GAVL_TIME_SCALE))

Convert a gavl time to seconds (as double).

Parameters:
t Integer time scaled by GAVL_TIME_SCALE
Returns:
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.


Typedef Documentation

typedef int64_t gavl_time_t

Times in gavl are 64 bit signed integers.


Function Documentation

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.

Parameters:
samplerate Samplerate
time Time
Returns:
Number of audio samples
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.

Parameters:
rate_num Numerator of the framerate
rate_den Denominator of the framerate
time Time
Returns:
Number of frames
GAVL_PUBLIC int64_t gavl_time_scale ( int  scale,
gavl_time_t  time 
)

Convert a gavl time to a time scaled by another base.

Parameters:
scale Time scale
time Time scaled by GAVL_TIME_SCALE
Returns:
Time scaled by 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.

Parameters:
scale Time scale
time Time scaled by scale
Returns:
Time scaled by GAVL_TIME_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.

Parameters:
scale1 Initial time base
scale2 New time base
time Time scaled by scale1
Returns:
Time scaled by scale2
GAVL_PUBLIC void gavl_time_delay ( gavl_time_t time  ) 

Sleep for a specified time.

Parameters:
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.

Parameters:
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.

Parameters:
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

Generated on Fri Jun 8 17:27:54 2012 for gavl by  doxygen 1.6.3