ALSA project - the C library reference
Loading...
Searching...
No Matches
timer.c File Reference

Timer Interface. More...

Functions

int snd_timer_open (snd_timer_t **timer, const char *name, int mode)
 Opens a new connection to the timer interface.
 
int snd_timer_open_lconf (snd_timer_t **timer, const char *name, int mode, snd_config_t *lconf)
 Opens a new connection to the timer interface using local configuration.
 
int snd_timer_close (snd_timer_t *timer)
 close timer handle
 
const char * snd_timer_name (snd_timer_t *timer)
 get identifier of timer handle
 
snd_timer_type_t snd_timer_type (snd_timer_t *timer)
 get type of timer handle
 
int snd_async_add_timer_handler (snd_async_handler_t **handler, snd_timer_t *timer, snd_async_callback_t callback, void *private_data)
 Add an async handler for a timer.
 
snd_timer_t * snd_async_handler_get_timer (snd_async_handler_t *handler)
 Return timer handle related to an async handler.
 
int snd_timer_poll_descriptors_count (snd_timer_t *timer)
 get count of poll descriptors for timer handle
 
int snd_timer_poll_descriptors (snd_timer_t *timer, struct pollfd *pfds, unsigned int space)
 get poll descriptors
 
int snd_timer_poll_descriptors_revents (snd_timer_t *timer, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
 get returned events from poll descriptors
 
int snd_timer_nonblock (snd_timer_t *timer, int nonblock)
 set nonblock mode
 
size_t snd_timer_info_sizeof ()
 get size of the snd_timer_info_t structure in bytes
 
int snd_timer_info_malloc (snd_timer_info_t **info)
 allocate a new snd_timer_info_t structure
 
void snd_timer_info_free (snd_timer_info_t *info)
 frees the snd_timer_info_t structure
 
void snd_timer_info_copy (snd_timer_info_t *dst, const snd_timer_info_t *src)
 copy one snd_timer_info_t structure to another
 
int snd_timer_info_is_slave (snd_timer_info_t *info)
 determine, if timer is slave
 
int snd_timer_info_get_card (snd_timer_info_t *info)
 get timer card
 
const char * snd_timer_info_get_id (snd_timer_info_t *info)
 get timer id
 
const char * snd_timer_info_get_name (snd_timer_info_t *info)
 get timer name
 
long snd_timer_info_get_resolution (snd_timer_info_t *info)
 get timer resolution in us
 
int snd_timer_info (snd_timer_t *timer, snd_timer_info_t *info)
 get information about timer handle
 
size_t snd_timer_params_sizeof ()
 get size of the snd_timer_params_t structure in bytes
 
int snd_timer_params_malloc (snd_timer_params_t **params)
 allocate a new snd_timer_params_t structure
 
void snd_timer_params_free (snd_timer_params_t *params)
 frees the snd_timer_params_t structure
 
void snd_timer_params_copy (snd_timer_params_t *dst, const snd_timer_params_t *src)
 copy one snd_timer_params_t structure to another
 
int snd_timer_params_set_auto_start (snd_timer_params_t *params, int auto_start)
 set timer auto start
 
int snd_timer_params_get_auto_start (snd_timer_params_t *params)
 determine if timer has auto start flag
 
int snd_timer_params_set_exclusive (snd_timer_params_t *params, int exclusive)
 set timer exclusive use
 
int snd_timer_params_get_exclusive (snd_timer_params_t *params)
 determine if timer has exclusive flag
 
int snd_timer_params_set_early_event (snd_timer_params_t *params, int early_event)
 set timer early event
 
int snd_timer_params_get_early_event (snd_timer_params_t *params)
 determine if timer has early event flag
 
void snd_timer_params_set_ticks (snd_timer_params_t *params, long ticks)
 set timer ticks
 
long snd_timer_params_get_ticks (snd_timer_params_t *params)
 get timer ticks
 
void snd_timer_params_set_queue_size (snd_timer_params_t *params, long queue_size)
 set timer queue size (32-1024)
 
long snd_timer_params_get_queue_size (snd_timer_params_t *params)
 get queue size
 
void snd_timer_params_set_filter (snd_timer_params_t *params, unsigned int filter)
 set timer event filter
 
unsigned int snd_timer_params_get_filter (snd_timer_params_t *params)
 get timer event filter
 
int snd_timer_params (snd_timer_t *timer, snd_timer_params_t *params)
 set parameters for timer handle
 
size_t snd_timer_status_sizeof ()
 get size of the snd_timer_status_t structure in bytes
 
int snd_timer_status_malloc (snd_timer_status_t **status)
 allocate a new snd_timer_status_t structure
 
void snd_timer_status_free (snd_timer_status_t *status)
 frees the snd_timer_status_t structure
 
void snd_timer_status_copy (snd_timer_status_t *dst, const snd_timer_status_t *src)
 copy one snd_timer_status_t structure to another
 
snd_htimestamp_t snd_timer_status_get_timestamp (snd_timer_status_t *status)
 get timestamp
 
long snd_timer_status_get_resolution (snd_timer_status_t *status)
 get resolution in us
 
long snd_timer_status_get_lost (snd_timer_status_t *status)
 get master tick lost count
 
long snd_timer_status_get_overrun (snd_timer_status_t *status)
 get overrun count
 
long snd_timer_status_get_queue (snd_timer_status_t *status)
 get count of used queue elements
 
int snd_timer_status (snd_timer_t *timer, snd_timer_status_t *status)
 get status from timer handle
 
int snd_timer_start (snd_timer_t *timer)
 start the timer
 
int snd_timer_stop (snd_timer_t *timer)
 stop the timer
 
int snd_timer_continue (snd_timer_t *timer)
 continue the timer
 
ssize_t snd_timer_read (snd_timer_t *timer, void *buffer, size_t size)
 read bytes using timer handle
 
long snd_timer_info_get_ticks (snd_timer_info_t *info)
 (DEPRECATED) get maximum timer ticks
 

Detailed Description

Timer Interface.

Author
Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
Date
1998-2001

Timer Interface is designed to access timers. See Timer interface page for more details.

Function Documentation

◆ snd_async_add_timer_handler()

int snd_async_add_timer_handler ( snd_async_handler_t ** handler,
snd_timer_t * timer,
snd_async_callback_t callback,
void * private_data )

Add an async handler for a timer.

Parameters
handlerReturned handler handle
timertimer handle
callbackCallback function
private_dataCallback private data
Returns
0 otherwise a negative error code on failure

The asynchronous callback is called when new timer event occurs.

Examples
/test/timer.c.

◆ snd_async_handler_get_timer()

snd_timer_t * snd_async_handler_get_timer ( snd_async_handler_t * handler)

Return timer handle related to an async handler.

Parameters
handlerAsync handler handle
Returns
timer handle
Examples
/test/timer.c.

◆ snd_timer_close()

int snd_timer_close ( snd_timer_t * timer)

close timer handle

Parameters
timertimer handle
Returns
0 on success otherwise a negative error code

Closes the specified timer handle and frees all associated resources.

Examples
/test/timer.c.

◆ snd_timer_continue()

int snd_timer_continue ( snd_timer_t * timer)

continue the timer

Parameters
timertimer handle
Returns
0 on success otherwise a negative error code

◆ snd_timer_info()

int snd_timer_info ( snd_timer_t * timer,
snd_timer_info_t * info )

get information about timer handle

Parameters
timertimer handle
infopointer to a snd_timer_info_t structure to be filled
Returns
0 on success otherwise a negative error code
Examples
/test/timer.c.

◆ snd_timer_info_copy()

void snd_timer_info_copy ( snd_timer_info_t * dst,
const snd_timer_info_t * src )

copy one snd_timer_info_t structure to another

Parameters
dstdestination snd_timer_info_t structure
srcsource snd_timer_info_t structure

◆ snd_timer_info_free()

void snd_timer_info_free ( snd_timer_info_t * info)

frees the snd_timer_info_t structure

Parameters
infopointer to the snd_timer_info_t structure to free

Frees the given snd_timer_info_t structure using the standard free C library function.

◆ snd_timer_info_get_card()

int snd_timer_info_get_card ( snd_timer_info_t * info)

get timer card

Parameters
infopointer to #snd_timer_info_t structure
Returns
timer card number
Examples
/test/timer.c.

◆ snd_timer_info_get_id()

const char * snd_timer_info_get_id ( snd_timer_info_t * info)

get timer id

Parameters
infopointer to #snd_timer_info_t structure
Returns
timer id
Examples
/test/timer.c.

◆ snd_timer_info_get_name()

const char * snd_timer_info_get_name ( snd_timer_info_t * info)

get timer name

Parameters
infopointer to #snd_timer_info_t structure
Returns
timer name
Examples
/test/timer.c.

◆ snd_timer_info_get_resolution()

long snd_timer_info_get_resolution ( snd_timer_info_t * info)

get timer resolution in us

Parameters
infopointer to #snd_timer_info_t structure
Returns
timer resolution
Examples
/test/timer.c.

◆ snd_timer_info_get_ticks()

long snd_timer_info_get_ticks ( snd_timer_info_t * info)

(DEPRECATED) get maximum timer ticks

Parameters
infopointer to #snd_timer_info_t structure
Returns
maximum timer ticks

◆ snd_timer_info_is_slave()

int snd_timer_info_is_slave ( snd_timer_info_t * info)

determine, if timer is slave

Parameters
infopointer to #snd_timer_info_t structure
Returns
nonzero if timer is slave
Examples
/test/timer.c.

◆ snd_timer_info_malloc()

int snd_timer_info_malloc ( snd_timer_info_t ** info)

allocate a new snd_timer_info_t structure

Parameters
inforeturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_timer_info_t structure using the standard malloc C library function.

◆ snd_timer_info_sizeof()

size_t snd_timer_info_sizeof ( )

get size of the snd_timer_info_t structure in bytes

Returns
size of the snd_timer_info_t structure in bytes

◆ snd_timer_name()

const char * snd_timer_name ( snd_timer_t * timer)

get identifier of timer handle

Parameters
timera timer handle
Returns
ascii identifier of timer handle

Returns the ASCII identifier of given timer handle. It's the same identifier specified in snd_timer_open().

◆ snd_timer_nonblock()

int snd_timer_nonblock ( snd_timer_t * timer,
int nonblock )

set nonblock mode

Parameters
timertimer handle
nonblock0 = block, 1 = nonblock mode
Returns
0 on success otherwise a negative error code

◆ snd_timer_open()

int snd_timer_open ( snd_timer_t ** timer,
const char * name,
int mode )

Opens a new connection to the timer interface.

Parameters
timerReturned handle (NULL if not wanted)
nameASCII identifier of the timer handle
modeOpen mode
Returns
0 on success otherwise a negative error code

Opens a new connection to the timer interface specified with an ASCII identifier and mode.

Examples
/test/timer.c.

◆ snd_timer_open_lconf()

int snd_timer_open_lconf ( snd_timer_t ** timer,
const char * name,
int mode,
snd_config_t * lconf )

Opens a new connection to the timer interface using local configuration.

Parameters
timerReturned handle (NULL if not wanted)
nameASCII identifier of the timer handle
modeOpen mode
lconfLocal configuration
Returns
0 on success otherwise a negative error code

Opens a new connection to the timer interface specified with an ASCII identifier and mode.

◆ snd_timer_params()

int snd_timer_params ( snd_timer_t * timer,
snd_timer_params_t * params )

set parameters for timer handle

Parameters
timertimer handle
paramspointer to a #snd_timer_params_t structure
Returns
0 on success otherwise a negative error code
Examples
/test/timer.c.

◆ snd_timer_params_copy()

void snd_timer_params_copy ( snd_timer_params_t * dst,
const snd_timer_params_t * src )

copy one snd_timer_params_t structure to another

Parameters
dstdestination snd_timer_params_t structure
srcsource snd_timer_params_t structure

◆ snd_timer_params_free()

void snd_timer_params_free ( snd_timer_params_t * params)

frees the snd_timer_params_t structure

Parameters
paramspointer to the snd_timer_params_t structure to free

Frees the given snd_timer_params_t structure using the standard free C library function.

◆ snd_timer_params_get_auto_start()

int snd_timer_params_get_auto_start ( snd_timer_params_t * params)

determine if timer has auto start flag

Parameters
paramspointer to #snd_timer_params_t structure
Returns
nonzero if timer has auto start flag

◆ snd_timer_params_get_early_event()

int snd_timer_params_get_early_event ( snd_timer_params_t * params)

determine if timer has early event flag

Parameters
paramspointer to #snd_timer_params_t structure
Returns
nonzero if timer has early event flag set

◆ snd_timer_params_get_exclusive()

int snd_timer_params_get_exclusive ( snd_timer_params_t * params)

determine if timer has exclusive flag

Parameters
paramspointer to #snd_timer_params_t structure
Returns
nonzero if timer has exclusive flag

◆ snd_timer_params_get_filter()

unsigned int snd_timer_params_get_filter ( snd_timer_params_t * params)

get timer event filter

Parameters
paramspointer to #snd_timer_params_t structure
Returns
timer event filter

◆ snd_timer_params_get_queue_size()

long snd_timer_params_get_queue_size ( snd_timer_params_t * params)

get queue size

Parameters
paramspointer to #snd_timer_params_t structure
Returns
queue size

◆ snd_timer_params_get_ticks()

long snd_timer_params_get_ticks ( snd_timer_params_t * params)

get timer ticks

Parameters
paramspointer to #snd_timer_params_t structure
Returns
timer ticks
Examples
/test/timer.c.

◆ snd_timer_params_malloc()

int snd_timer_params_malloc ( snd_timer_params_t ** params)

allocate a new snd_timer_params_t structure

Parameters
paramsreturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_timer_params_t structure using the standard malloc C library function.

◆ snd_timer_params_set_auto_start()

int snd_timer_params_set_auto_start ( snd_timer_params_t * params,
int auto_start )

set timer auto start

Parameters
paramspointer to #snd_timer_params_t structure
auto_startThe boolean value to set
Examples
/test/timer.c.

◆ snd_timer_params_set_early_event()

int snd_timer_params_set_early_event ( snd_timer_params_t * params,
int early_event )

set timer early event

Parameters
paramspointer to #snd_timer_params_t structure
early_eventThe boolean value to set

◆ snd_timer_params_set_exclusive()

int snd_timer_params_set_exclusive ( snd_timer_params_t * params,
int exclusive )

set timer exclusive use

Parameters
paramspointer to #snd_timer_params_t structure
exclusiveThe boolean value to set

◆ snd_timer_params_set_filter()

void snd_timer_params_set_filter ( snd_timer_params_t * params,
unsigned int filter )

set timer event filter

Parameters
paramspointer to #snd_timer_params_t structure
filterThe event filter bits to set

◆ snd_timer_params_set_queue_size()

void snd_timer_params_set_queue_size ( snd_timer_params_t * params,
long queue_size )

set timer queue size (32-1024)

Parameters
paramspointer to #snd_timer_params_t structure
queue_sizeThe queue size to set

◆ snd_timer_params_set_ticks()

void snd_timer_params_set_ticks ( snd_timer_params_t * params,
long ticks )

set timer ticks

Parameters
paramspointer to #snd_timer_params_t structure
ticksTicks to set
Examples
/test/timer.c.

◆ snd_timer_params_sizeof()

size_t snd_timer_params_sizeof ( )

get size of the snd_timer_params_t structure in bytes

Returns
size of the snd_timer_params_t structure in bytes

◆ snd_timer_poll_descriptors()

int snd_timer_poll_descriptors ( snd_timer_t * timer,
struct pollfd * pfds,
unsigned int space )

get poll descriptors

Parameters
timertimer handle
pfdsarray of poll descriptors
spacespace in the poll descriptor array
Returns
count of filled descriptors
Examples
/test/timer.c.

◆ snd_timer_poll_descriptors_count()

int snd_timer_poll_descriptors_count ( snd_timer_t * timer)

get count of poll descriptors for timer handle

Parameters
timertimer handle
Returns
count of poll descriptors
Examples
/test/timer.c.

◆ snd_timer_poll_descriptors_revents()

int snd_timer_poll_descriptors_revents ( snd_timer_t * timer,
struct pollfd * pfds,
unsigned int nfds,
unsigned short * revents )

get returned events from poll descriptors

Parameters
timertimer handle
pfdsarray of poll descriptors
nfdscount of poll descriptors
reventsreturned events
Returns
zero if success, otherwise a negative error code

◆ snd_timer_read()

ssize_t snd_timer_read ( snd_timer_t * timer,
void * buffer,
size_t size )

read bytes using timer handle

Parameters
timertimer handle
bufferbuffer to store the input bytes
sizeinput buffer size in bytes
Examples
/test/timer.c.

◆ snd_timer_start()

int snd_timer_start ( snd_timer_t * timer)

start the timer

Parameters
timertimer handle
Returns
0 on success otherwise a negative error code
Examples
/test/timer.c.

◆ snd_timer_status()

int snd_timer_status ( snd_timer_t * timer,
snd_timer_status_t * status )

get status from timer handle

Parameters
timertimer handle
statuspointer to a #snd_timer_status_t structure to be filled
Returns
0 on success otherwise a negative error code
Examples
/test/timer.c.

◆ snd_timer_status_copy()

void snd_timer_status_copy ( snd_timer_status_t * dst,
const snd_timer_status_t * src )

copy one snd_timer_status_t structure to another

Parameters
dstdestination snd_timer_status_t structure
srcsource snd_timer_status_t structure

◆ snd_timer_status_free()

void snd_timer_status_free ( snd_timer_status_t * status)

frees the snd_timer_status_t structure

Parameters
statuspointer to the snd_timer_status_t structure to free

Frees the given snd_timer_status_t structure using the standard free C library function.

◆ snd_timer_status_get_lost()

long snd_timer_status_get_lost ( snd_timer_status_t * status)

get master tick lost count

Parameters
statuspointer to #snd_timer_status_t structure
Returns
master tick lost count
Examples
/test/timer.c.

◆ snd_timer_status_get_overrun()

long snd_timer_status_get_overrun ( snd_timer_status_t * status)

get overrun count

Parameters
statuspointer to #snd_timer_status_t structure
Returns
overrun count
Examples
/test/timer.c.

◆ snd_timer_status_get_queue()

long snd_timer_status_get_queue ( snd_timer_status_t * status)

get count of used queue elements

Parameters
statuspointer to #snd_timer_status_t structure
Returns
count of used queue elements
Examples
/test/timer.c.

◆ snd_timer_status_get_resolution()

long snd_timer_status_get_resolution ( snd_timer_status_t * status)

get resolution in us

Parameters
statuspointer to #snd_timer_status_t structure
Returns
resolution
Examples
/test/timer.c.

◆ snd_timer_status_get_timestamp()

snd_htimestamp_t snd_timer_status_get_timestamp ( snd_timer_status_t * status)

get timestamp

Parameters
statuspointer to #snd_timer_status_t structure
Returns
timestamp

◆ snd_timer_status_malloc()

int snd_timer_status_malloc ( snd_timer_status_t ** status)

allocate a new snd_timer_status_t structure

Parameters
statusreturned pointer
Returns
0 on success otherwise a negative error code if fails

Allocates a new snd_timer_status_t structure using the standard malloc C library function.

◆ snd_timer_status_sizeof()

size_t snd_timer_status_sizeof ( )

get size of the snd_timer_status_t structure in bytes

Returns
size of the snd_timer_status_t structure in bytes

◆ snd_timer_stop()

int snd_timer_stop ( snd_timer_t * timer)

stop the timer

Parameters
timertimer handle
Returns
0 on success otherwise a negative error code
Examples
/test/timer.c.

◆ snd_timer_type()

snd_timer_type_t snd_timer_type ( snd_timer_t * timer)

get type of timer handle

Parameters
timera timer handle
Returns
type of timer handle

Returns the type #snd_timer_type_t of given timer handle.