gavl
Typedefs | Functions
Software timer

Typedefs

typedef struct gavl_timer_s gavl_timer_t
 Opaque timer structure. More...
 

Functions

GAVL_PUBLIC gavl_timer_tgavl_timer_create ()
 Create a timer. More...
 
GAVL_PUBLIC void gavl_timer_destroy (gavl_timer_t *timer)
 Destroy a timer. More...
 
GAVL_PUBLIC void gavl_timer_start (gavl_timer_t *timer)
 Start a timer. More...
 
GAVL_PUBLIC void gavl_timer_stop (gavl_timer_t *timer)
 Stop a timer. More...
 
GAVL_PUBLIC gavl_time_t gavl_timer_get (gavl_timer_t *timer)
 Get the current time of the timer. More...
 
GAVL_PUBLIC void gavl_timer_set (gavl_timer_t *timer, gavl_time_t t)
 Set the current time of the timer. More...
 
GAVL_PUBLIC uint64_t gavl_benchmark_get_time (int flags)
 Get the current time for benchmarking. More...
 
GAVL_PUBLIC const char * gavl_benchmark_get_desc (int flags)
 Get a description about the value returned by gavl_benchmark_get_time. More...
 

Detailed Description

This is a simple software timer, which can be used for synchronization purposes for cases wherer there is no synchronization with hardware devices available.

Typedef Documentation

typedef struct gavl_timer_s gavl_timer_t

Opaque timer structure.

You don't want to know what's inside.

Function Documentation

GAVL_PUBLIC gavl_timer_t* gavl_timer_create ( )

Create a timer.

Returns
A newly allocated timer
GAVL_PUBLIC void gavl_timer_destroy ( gavl_timer_t timer)

Destroy a timer.

Parameters
timerA timer

Destroys a timer and frees all associated memory

GAVL_PUBLIC void gavl_timer_start ( gavl_timer_t timer)

Start a timer.

Parameters
timerA timer
GAVL_PUBLIC void gavl_timer_stop ( gavl_timer_t timer)

Stop a timer.

Parameters
timerA timer
GAVL_PUBLIC gavl_time_t gavl_timer_get ( gavl_timer_t timer)

Get the current time of the timer.

Parameters
timerA timer
Returns
Current time
GAVL_PUBLIC void gavl_timer_set ( gavl_timer_t timer,
gavl_time_t  t 
)

Set the current time of the timer.

Parameters
timerA timer
tNew time
GAVL_PUBLIC uint64_t gavl_benchmark_get_time ( int  flags)

Get the current time for benchmarking.

Parameters
flagsFlags returned by gavl_accel_supported
Returns
The time in arbitrary units

The returned value itself is meaningless since the timescale depends on the system. Use this only for relative comparisons for benchmarks. A textual description on how the values can be interpreted can be ontained with gavl_benchmark_get_desc

GAVL_PUBLIC const char* gavl_benchmark_get_desc ( int  flags)

Get a description about the value returned by gavl_benchmark_get_time.

Parameters
flagsFlags returned by gavl_accel_supported
Returns
A string describing what the time value means