# Status Functions
[PCM Interface]

## Defines

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

## Functions

size_t | snd_pcm_status_sizeof (void)
| get size of snd_pcm_status_t
int | snd_pcm_status_malloc (snd_pcm_status_t **ptr)
| allocate an invalid snd_pcm_status_t using standard malloc
void | snd_pcm_status_free (snd_pcm_status_t *obj)
| frees a previously allocated snd_pcm_status_t
void | snd_pcm_status_copy (snd_pcm_status_t *dst, const snd_pcm_status_t *src)
| copy one snd_pcm_status_t to another
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).
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.
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.
void | snd_pcm_status_get_tstamp (const snd_pcm_status_t *obj, snd_timestamp_t *ptr)
| Get "now" timestamp from a PCM status container.
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.
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.
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.
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.
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
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).
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).
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.
snd_pcm_uframes_t | snd_pcm_status_get_overrange (const snd_pcm_status_t *obj)
| Get count of ADC overrange detections since last call.

## Detailed Description

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

## Define Documentation

#define snd_pcm_status_alloca | ( | ptr |  | ) |

allocate an invalid snd_pcm_status_t using standard alloca

Parameters:

  | ptr | returned pointer

Examples:
  /test/latency.c.

## Function Documentation

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

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_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_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)

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_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.

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_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

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_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_htstamp | ( | const snd_pcm_status_t * | obj,
|  | snd_htimestamp_t * | ptr |
| ) |  |  |

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

Parameters:

  | obj | snd_pcm_status_t pointer
  | ptr | Pointer 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.

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:

  | obj | snd_pcm_status_t pointer
  | ptr | Pointer 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.

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

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_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)

size_t snd_pcm_status_sizeof | ( | void |  | ) |

get size of snd_pcm_status_t

Returns:
  size in bytes

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines