ALSA project - the C library reference
Macros | Functions
Status Functions
Collaboration diagram for Status Functions:

Macros

#define snd_pcm_status_alloca(ptr)
 allocate an invalid snd_pcm_status_t using standard alloca More...
 

Functions

size_t snd_pcm_status_sizeof (void)
 get size of snd_pcm_status_t More...
 
int snd_pcm_status_malloc (snd_pcm_status_t **ptr)
 allocate an invalid snd_pcm_status_t using standard malloc More...
 
void snd_pcm_status_free (snd_pcm_status_t *obj)
 frees a previously allocated snd_pcm_status_t More...
 
void snd_pcm_status_copy (snd_pcm_status_t *dst, const snd_pcm_status_t *src)
 copy one snd_pcm_status_t to another More...
 
snd_pcm_state_t snd_pcm_status_get_state (const snd_pcm_status_t *obj)
 Get state from a PCM status container (see snd_pcm_state) More...
 
void snd_pcm_status_get_trigger_tstamp (const snd_pcm_status_t *obj, snd_timestamp_t *ptr)
 Get trigger timestamp from a PCM status container. More...
 
void snd_pcm_status_get_trigger_htstamp (const snd_pcm_status_t *obj, snd_htimestamp_t *ptr)
 Get trigger hi-res timestamp from a PCM status container. More...
 
void snd_pcm_status_get_tstamp (const snd_pcm_status_t *obj, snd_timestamp_t *ptr)
 Get "now" timestamp from a PCM status container. More...
 
void snd_pcm_status_get_htstamp (const snd_pcm_status_t *obj, snd_htimestamp_t *ptr)
 Get "now" hi-res timestamp from a PCM status container. More...
 
void snd_pcm_status_get_audio_htstamp (const snd_pcm_status_t *obj, snd_htimestamp_t *ptr)
 Get "now" hi-res audio timestamp from a PCM status container. More...
 
void snd_pcm_status_get_driver_htstamp (const snd_pcm_status_t *obj, snd_htimestamp_t *ptr)
 Get "now" hi-res driver timestamp from a PCM status container. Defines when the status was generated by driver, may differ from normal timestamp. More...
 
void snd_pcm_status_get_audio_htstamp_report (const snd_pcm_status_t *obj, snd_pcm_audio_tstamp_report_t *audio_tstamp_report)
 Get audio_tstamp_report from a PCM status container. More...
 
void snd_pcm_status_set_audio_htstamp_config (snd_pcm_status_t *obj, snd_pcm_audio_tstamp_config_t *audio_tstamp_config)
 set audio_tstamp_config from a PCM status container More...
 
snd_pcm_sframes_t snd_pcm_status_get_delay (const snd_pcm_status_t *obj)
 Get delay from a PCM status container (see snd_pcm_delay) More...
 
snd_pcm_uframes_t snd_pcm_status_get_avail (const snd_pcm_status_t *obj)
 Get number of frames available from a PCM status container (see snd_pcm_avail_update) More...
 
snd_pcm_uframes_t snd_pcm_status_get_avail_max (const snd_pcm_status_t *obj)
 Get maximum number of frames available from a PCM status container after last snd_pcm_status call. More...
 
snd_pcm_uframes_t snd_pcm_status_get_overrange (const snd_pcm_status_t *obj)
 Get count of ADC overrange detections since last call. More...
 

Detailed Description

See the PCM (digital audio) interface page for more details.

Macro Definition Documentation

◆ snd_pcm_status_alloca

#define snd_pcm_status_alloca (   ptr)

allocate an invalid snd_pcm_status_t using standard alloca

Parameters
ptrreturned pointer
Examples
/test/latency.c.

Function Documentation

◆ snd_pcm_status_copy()

void snd_pcm_status_copy ( snd_pcm_status_t dst,
const snd_pcm_status_t src 
)

copy one snd_pcm_status_t to another

Parameters
dstpointer to destination
srcpointer to source

◆ snd_pcm_status_free()

void snd_pcm_status_free ( snd_pcm_status_t obj)

frees a previously allocated snd_pcm_status_t

Parameters
objpointer to object to free

◆ snd_pcm_status_get_audio_htstamp()

void snd_pcm_status_get_audio_htstamp ( const snd_pcm_status_t obj,
snd_htimestamp_t ptr 
)

Get "now" hi-res audio timestamp from a PCM status container.

Parameters
objpointer to snd_pcm_status_t
ptrPointer to returned timestamp

◆ snd_pcm_status_get_audio_htstamp_report()

void snd_pcm_status_get_audio_htstamp_report ( const snd_pcm_status_t obj,
snd_pcm_audio_tstamp_report_t audio_tstamp_report 
)

Get audio_tstamp_report from a PCM status container.

Parameters
objpointer to snd_pcm_status_t
ptrPointer to returned report (valid fields are accuracy and type)

◆ snd_pcm_status_get_avail()

snd_pcm_uframes_t snd_pcm_status_get_avail ( const snd_pcm_status_t obj)

Get number of frames available from a PCM status container (see snd_pcm_avail_update)

Returns
Number of frames ready to be read/written

◆ snd_pcm_status_get_avail_max()

snd_pcm_uframes_t snd_pcm_status_get_avail_max ( const snd_pcm_status_t obj)

Get maximum number of frames available from a PCM status container after last snd_pcm_status call.

Returns
Maximum number of frames ready to be read/written

This value returns the peak for the available frames between snd_pcm_status calls.

◆ snd_pcm_status_get_delay()

snd_pcm_sframes_t snd_pcm_status_get_delay ( const snd_pcm_status_t obj)

Get delay from a PCM status container (see snd_pcm_delay)

Returns
Delay in frames

Delay is distance between current application frame position and sound frame position. It's positive and less than buffer size in normal situation, negative on playback underrun and greater than buffer size on capture overrun.

◆ snd_pcm_status_get_driver_htstamp()

void snd_pcm_status_get_driver_htstamp ( const snd_pcm_status_t obj,
snd_htimestamp_t ptr 
)

Get "now" hi-res driver timestamp from a PCM status container. Defines when the status was generated by driver, may differ from normal timestamp.

Parameters
objpointer to snd_pcm_status_t
ptrPointer to returned timestamp

◆ snd_pcm_status_get_htstamp()

void snd_pcm_status_get_htstamp ( const snd_pcm_status_t obj,
snd_htimestamp_t ptr 
)

Get "now" hi-res timestamp from a PCM status container.

Parameters
objpointer to snd_pcm_status_t
ptrPointer to returned timestamp

◆ snd_pcm_status_get_overrange()

snd_pcm_uframes_t snd_pcm_status_get_overrange ( const snd_pcm_status_t obj)

Get count of ADC overrange detections since last call.

Returns
Count of ADC overrange detections

◆ snd_pcm_status_get_state()

snd_pcm_state_t snd_pcm_status_get_state ( const snd_pcm_status_t obj)

Get state from a PCM status container (see snd_pcm_state)

Parameters
objsnd_pcm_status_t pointer
Returns
PCM state

◆ snd_pcm_status_get_trigger_htstamp()

void snd_pcm_status_get_trigger_htstamp ( const snd_pcm_status_t obj,
snd_htimestamp_t ptr 
)

Get trigger hi-res timestamp from a PCM status container.

Parameters
objsnd_pcm_status_t pointer
ptrPointer to returned timestamp

Trigger means a PCM state transition (from stopped to running or versa vice). It applies also to pause and suspend. In other words, timestamp contains time when stream started or when it was stopped.

◆ snd_pcm_status_get_trigger_tstamp()

void snd_pcm_status_get_trigger_tstamp ( const snd_pcm_status_t obj,
snd_timestamp_t ptr 
)

Get trigger timestamp from a PCM status container.

Parameters
objsnd_pcm_status_t pointer
ptrPointer to returned timestamp

Trigger means a PCM state transition (from stopped to running or versa vice). It applies also to pause and suspend. In other words, timestamp contains time when stream started or when it was stopped.

Examples
/test/latency.c.

◆ snd_pcm_status_get_tstamp()

void snd_pcm_status_get_tstamp ( const snd_pcm_status_t obj,
snd_timestamp_t ptr 
)

Get "now" timestamp from a PCM status container.

Parameters
objsnd_pcm_status_t pointer
ptrPointer to returned timestamp

◆ snd_pcm_status_malloc()

int snd_pcm_status_malloc ( snd_pcm_status_t **  ptr)

allocate an invalid snd_pcm_status_t using standard malloc

Parameters
ptrreturned pointer
Returns
0 on success otherwise negative error code

◆ snd_pcm_status_set_audio_htstamp_config()

void snd_pcm_status_set_audio_htstamp_config ( snd_pcm_status_t obj,
snd_pcm_audio_tstamp_config_t audio_tstamp_config 
)

set audio_tstamp_config from a PCM status container

Parameters
objpointer to snd_pcm_status_t
ptrPointer to config (valid fields are type and report_analog_delay)

◆ snd_pcm_status_sizeof()

size_t snd_pcm_status_sizeof ( void  )

get size of snd_pcm_status_t

Returns
size in bytes