Status Functions
Overview
See the PCM (digital audio) interface page for more details. More…
// global functions size_t snd_pcm_status_sizeof(void); int snd_pcm_status_malloc(snd_pcm_status_t** ptr); void snd_pcm_status_free(snd_pcm_status_t* obj); void snd_pcm_status_copy( snd_pcm_status_t* dst, const snd_pcm_status_t* src ); snd_pcm_state_t snd_pcm_status_get_state(const snd_pcm_status_t* obj); void snd_pcm_status_get_trigger_tstamp( const snd_pcm_status_t* obj, snd_timestamp_t* ptr ); void snd_pcm_status_get_trigger_htstamp( const snd_pcm_status_t* obj, snd_htimestamp_t* ptr ); void snd_pcm_status_get_tstamp( const snd_pcm_status_t* obj, snd_timestamp_t* ptr ); void snd_pcm_status_get_htstamp( const snd_pcm_status_t* obj, snd_htimestamp_t* ptr ); void snd_pcm_status_get_audio_htstamp( const snd_pcm_status_t* obj, snd_htimestamp_t* ptr ); void snd_pcm_status_get_driver_htstamp( const snd_pcm_status_t* obj, snd_htimestamp_t* ptr ); void snd_pcm_status_get_audio_htstamp_report( const snd_pcm_status_t* obj, snd_pcm_audio_tstamp_report_t* audio_tstamp_report ); void snd_pcm_status_set_audio_htstamp_config( snd_pcm_status_t* obj, snd_pcm_audio_tstamp_config_t* audio_tstamp_config ); static void snd_pcm_pack_audio_tstamp_config( unsigned int* data, snd_pcm_audio_tstamp_config_t* config ); static void snd_pcm_unpack_audio_tstamp_report( unsigned int data, unsigned int accuracy, snd_pcm_audio_tstamp_report_t* report ); snd_pcm_sframes_t snd_pcm_status_get_delay(const snd_pcm_status_t* obj); snd_pcm_uframes_t snd_pcm_status_get_avail(const snd_pcm_status_t* obj); snd_pcm_uframes_t snd_pcm_status_get_avail_max(const snd_pcm_status_t* obj); snd_pcm_uframes_t snd_pcm_status_get_overrange(const snd_pcm_status_t* obj); // macros #define snd_pcm_status_alloca(ptr)
Detailed Documentation
See the PCM (digital audio) interface page for more details.
Global Functions
size_t snd_pcm_status_sizeof(void)
get size of snd_pcm_status_t
Returns:
size in bytes
int snd_pcm_status_malloc(snd_pcm_status_t** ptr)
allocate an invalid snd_pcm_status_t using standard malloc
Parameters:
ptr |
returned pointer |
Returns:
0 on success otherwise negative error code
void snd_pcm_status_free(snd_pcm_status_t* obj)
frees a previously allocated snd_pcm_status_t
Parameters:
obj |
pointer to object to free |
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:
dst |
pointer to destination |
src |
pointer to source |
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:
obj |
snd_pcm_status_t pointer |
Returns:
PCM state
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.
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.
Parameters:
obj |
snd_pcm_status_t pointer |
ptr |
Pointer to returned timestamp |
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.
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.
Parameters:
obj |
snd_pcm_status_t pointer |
ptr |
Pointer to returned timestamp |
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:
obj |
snd_pcm_status_t pointer |
ptr |
Pointer to returned timestamp |
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:
obj |
pointer to snd_pcm_status_t |
ptr |
Pointer to returned timestamp |
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:
obj |
pointer to snd_pcm_status_t |
ptr |
Pointer to returned timestamp |
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:
obj |
pointer to snd_pcm_status_t |
ptr |
Pointer to returned timestamp |
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:
obj |
pointer to snd_pcm_status_t |
ptr |
Pointer to returned report (valid fields are accuracy and type) |
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:
obj |
pointer to snd_pcm_status_t |
ptr |
Pointer to config (valid fields are type and report_analog_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)
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.
Returns:
Delay in frames
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_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
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
Macros
#define snd_pcm_status_alloca(ptr)
allocate an invalid snd_pcm_status_t using standard alloca
Parameters:
ptr |
returned pointer |