ALSA project - the C library reference

Loading...
Searching...
No Matches
Functions
pcm.c File Reference
PCM Interface

PCM Interface. More...

## Functions
const char * | snd_pcm_name (snd_pcm_t *pcm)
| get identifier of PCM handle
snd_pcm_type_t | snd_pcm_type (snd_pcm_t *pcm)
| get type of PCM handle
snd_pcm_stream_t | snd_pcm_stream (snd_pcm_t *pcm)
| get stream for a PCM handle
int | snd_pcm_close (snd_pcm_t *pcm)
| close PCM handle
int | snd_pcm_nonblock (snd_pcm_t *pcm, int nonblock)
| set nonblock mode
int | snd_pcm_info (snd_pcm_t *pcm, snd_pcm_info_t *info)
| Obtain general (static) information for PCM handle.
int | snd_pcm_hw_params_current (snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
| Retreive current PCM hardware configuration chosen with snd_pcm_hw_params.
int | snd_pcm_hw_params (snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
| Install one PCM hardware configuration chosen from a configuration space and snd_pcm_prepare it.
int | snd_pcm_hw_free (snd_pcm_t *pcm)
| Remove PCM hardware configuration and free associated resources.
int | snd_pcm_sw_params (snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
| Install PCM software configuration defined by params.
int | snd_pcm_status (snd_pcm_t *pcm, snd_pcm_status_t *status)
| Obtain status (runtime) information for PCM handle.
snd_pcm_state_t | snd_pcm_state (snd_pcm_t *pcm)
| Return PCM state.
int | snd_pcm_hwsync (snd_pcm_t *pcm)
| (DEPRECATED) Synchronize stream position with hardware
int | snd_pcm_delay (snd_pcm_t *pcm, snd_pcm_sframes_t *delayp)
| Obtain delay for a running PCM handle.
int | snd_pcm_resume (snd_pcm_t *pcm)
| Resume from suspend, no samples are lost.
int | snd_pcm_htimestamp (snd_pcm_t *pcm, snd_pcm_uframes_t *avail, snd_htimestamp_t *tstamp)
| Obtain last position update hi-res timestamp.
int | snd_pcm_prepare (snd_pcm_t *pcm)
| Prepare PCM for use.
int | snd_pcm_reset (snd_pcm_t *pcm)
| Reset PCM position.
int | snd_pcm_start (snd_pcm_t *pcm)
| Start a PCM.
int | snd_pcm_drop (snd_pcm_t *pcm)
| Stop a PCM dropping pending frames.
int | snd_pcm_drain (snd_pcm_t *pcm)
| Stop a PCM preserving pending frames.
int | snd_pcm_pause (snd_pcm_t *pcm, int enable)
| Pause/resume PCM.
snd_pcm_sframes_t | snd_pcm_rewindable (snd_pcm_t *pcm)
| Get safe count of frames which can be rewinded.
snd_pcm_sframes_t | snd_pcm_rewind (snd_pcm_t *pcm, snd_pcm_uframes_t frames)
| Move application frame position backward.
snd_pcm_sframes_t | snd_pcm_forwardable (snd_pcm_t *pcm)
| Get safe count of frames which can be forwarded.
snd_pcm_sframes_t | snd_pcm_forward (snd_pcm_t *pcm, snd_pcm_uframes_t frames)
| Move application frame position forward.
snd_pcm_sframes_t | snd_pcm_writei (snd_pcm_t *pcm, const void *buffer, snd_pcm_uframes_t size)
| Write interleaved frames to a PCM.
snd_pcm_sframes_t | snd_pcm_writen (snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size)
| Write non interleaved frames to a PCM.
snd_pcm_sframes_t | snd_pcm_readi (snd_pcm_t *pcm, void *buffer, snd_pcm_uframes_t size)
| Read interleaved frames from a PCM.
snd_pcm_sframes_t | snd_pcm_readn (snd_pcm_t *pcm, void **bufs, snd_pcm_uframes_t size)
| Read non interleaved frames to a PCM.
int | snd_pcm_link (snd_pcm_t *pcm1, snd_pcm_t *pcm2)
| Link two PCMs.
int | snd_pcm_unlink (snd_pcm_t *pcm)
| Remove a PCM from a linked group.
int | snd_pcm_poll_descriptors_count (snd_pcm_t *pcm)
| get count of poll descriptors for PCM handle
int | snd_pcm_poll_descriptors (snd_pcm_t *pcm, struct pollfd *pfds, unsigned int space)
| get poll descriptors
int | snd_pcm_poll_descriptors_revents (snd_pcm_t *pcm, struct pollfd *pfds, unsigned int nfds, unsigned short *revents)
| get returned events from poll descriptors
const char * | snd_pcm_stream_name (const snd_pcm_stream_t stream)
| get name of PCM stream type
const char * | snd_pcm_access_name (const snd_pcm_access_t acc)
| get name of PCM access type
const char * | snd_pcm_format_name (const snd_pcm_format_t format)
| get name of PCM sample format
const char * | snd_pcm_format_description (const snd_pcm_format_t format)
| get description of PCM sample format
snd_pcm_format_t | snd_pcm_format_value (const char *name)
| get PCM sample format from name
const char * | snd_pcm_subformat_name (const snd_pcm_subformat_t subformat)
| get name of PCM sample subformat
const char * | snd_pcm_subformat_description (const snd_pcm_subformat_t subformat)
| get description of PCM sample subformat
snd_pcm_subformat_t | snd_pcm_subformat_value (const char *name)
| get PCM sample subformat from name
const char * | snd_pcm_start_mode_name (snd_pcm_start_t mode)
| (DEPRECATED) get name of PCM start mode setting
const char * | snd_pcm_xrun_mode_name (snd_pcm_xrun_t mode)
| (DEPRECATED) get name of PCM xrun mode setting
const char * | snd_pcm_tstamp_mode_name (const snd_pcm_tstamp_t mode)
| get name of PCM tstamp mode setting
const char * | snd_pcm_tstamp_type_name (snd_pcm_tstamp_type_t type)
| get name of PCM tstamp type setting
const char * | snd_pcm_state_name (const snd_pcm_state_t state)
| get name of PCM state
const char * | snd_pcm_type_name (snd_pcm_type_t type)
| get name of PCM type
int | snd_pcm_dump_hw_setup (snd_pcm_t *pcm, snd_output_t *out)
| Dump current hardware setup for PCM.
int | snd_pcm_dump_sw_setup (snd_pcm_t *pcm, snd_output_t *out)
| Dump current software setup for PCM.
int | snd_pcm_dump_setup (snd_pcm_t *pcm, snd_output_t *out)
| Dump current setup (hardware and software) for PCM.
int | snd_pcm_status_dump (snd_pcm_status_t *status, snd_output_t *out)
| Dump status.
int | snd_pcm_dump (snd_pcm_t *pcm, snd_output_t *out)
| Dump PCM info.
snd_pcm_sframes_t | snd_pcm_bytes_to_frames (snd_pcm_t *pcm, ssize_t bytes)
| Convert bytes in frames for a PCM.
ssize_t | snd_pcm_frames_to_bytes (snd_pcm_t *pcm, snd_pcm_sframes_t frames)
| Convert frames in bytes for a PCM.
long | snd_pcm_bytes_to_samples (snd_pcm_t *pcm, ssize_t bytes)
| Convert bytes in samples for a PCM.
ssize_t | snd_pcm_samples_to_bytes (snd_pcm_t *pcm, long samples)
| Convert samples in bytes for a PCM.
int | snd_async_add_pcm_handler (snd_async_handler_t **handler, snd_pcm_t *pcm, snd_async_callback_t callback, void *private_data)
| Add an async handler for a PCM.
snd_pcm_t * | snd_async_handler_get_pcm (snd_async_handler_t *handler)
| Return PCM handle related to an async handler.
int | snd_pcm_open (snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode)
| Opens a PCM.
int | snd_pcm_open_lconf (snd_pcm_t **pcmp, const char *name, snd_pcm_stream_t stream, int mode, snd_config_t *lconf)
| Opens a PCM using local configuration.
int | snd_pcm_open_fallback (snd_pcm_t **pcmp, snd_config_t *root, const char *name, const char *orig_name, snd_pcm_stream_t stream, int mode)
| Opens a fallback PCM.
int | snd_pcm_wait (snd_pcm_t *pcm, int timeout)
| Wait for a PCM to become ready.
snd_pcm_sframes_t | snd_pcm_avail_update (snd_pcm_t *pcm)
| Return number of frames ready to be read (capture) / written (playback)
snd_pcm_sframes_t | snd_pcm_avail (snd_pcm_t *pcm)
| Return number of frames ready to be read (capture) / written (playback)
int | snd_pcm_avail_delay (snd_pcm_t *pcm, snd_pcm_sframes_t *availp, snd_pcm_sframes_t *delayp)
| Combine snd_pcm_avail and snd_pcm_delay functions.
int | snd_pcm_area_silence (const snd_pcm_channel_area_t *dst_area, snd_pcm_uframes_t dst_offset, unsigned int samples, snd_pcm_format_t format)
| Silence an area.
int | snd_pcm_areas_silence (const snd_pcm_channel_area_t *dst_areas, snd_pcm_uframes_t dst_offset, unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format)
| Silence one or more areas.
int | snd_pcm_area_copy (const snd_pcm_channel_area_t *dst_area, snd_pcm_uframes_t dst_offset, const snd_pcm_channel_area_t *src_area, snd_pcm_uframes_t src_offset, unsigned int samples, snd_pcm_format_t format)
| Copy an area.
int | snd_pcm_areas_copy (const snd_pcm_channel_area_t *dst_areas, snd_pcm_uframes_t dst_offset, const snd_pcm_channel_area_t *src_areas, snd_pcm_uframes_t src_offset, unsigned int channels, snd_pcm_uframes_t frames, snd_pcm_format_t format)
| Copy one or more areas.
int | snd_pcm_areas_copy_wrap (const snd_pcm_channel_area_t *dst_channels, snd_pcm_uframes_t dst_offset, const snd_pcm_uframes_t dst_size, const snd_pcm_channel_area_t *src_channels, snd_pcm_uframes_t src_offset, const snd_pcm_uframes_t src_size, const unsigned int channels, snd_pcm_uframes_t frames, const snd_pcm_format_t format)
| Copy one or more areas.
int | snd_pcm_hw_params_dump (snd_pcm_hw_params_t *params, snd_output_t *out)
| Dump a PCM hardware configuration space.
int | snd_pcm_hw_params_can_mmap_sample_resolution (const snd_pcm_hw_params_t *params)
| Check if hardware supports sample-resolution mmap for given configuration.
int | snd_pcm_hw_params_is_double (const snd_pcm_hw_params_t *params)
| Check if hardware does double buffering for start/stop for given configuration.
int | snd_pcm_hw_params_is_batch (const snd_pcm_hw_params_t *params)
| Check if hardware does double buffering for data transfers for given configuration.
int | snd_pcm_hw_params_is_block_transfer (const snd_pcm_hw_params_t *params)
| Check if hardware does block transfers for samples for given configuration.
int | snd_pcm_hw_params_is_monotonic (const snd_pcm_hw_params_t *params)
| Check if timestamps are monotonic for given configuration.
int | snd_pcm_hw_params_can_overrange (const snd_pcm_hw_params_t *params)
| Check if hardware supports overrange detection.
int | snd_pcm_hw_params_can_pause (const snd_pcm_hw_params_t *params)
| Check if hardware supports pause.
int | snd_pcm_hw_params_can_resume (const snd_pcm_hw_params_t *params)
| Check if hardware supports resume.
int | snd_pcm_hw_params_is_half_duplex (const snd_pcm_hw_params_t *params)
| Check if hardware does half-duplex only.
int | snd_pcm_hw_params_is_joint_duplex (const snd_pcm_hw_params_t *params)
| Check if hardware does joint-duplex (playback and capture are somewhat correlated)
int | snd_pcm_hw_params_can_sync_start (const snd_pcm_hw_params_t *params)
| Check if hardware supports synchronized start with sample resolution.
int | snd_pcm_hw_params_can_disable_period_wakeup (const snd_pcm_hw_params_t *params)
| Check if hardware can disable period wakeups.
int | snd_pcm_hw_params_is_perfect_drain (const snd_pcm_hw_params_t *params)
| Check if hardware is capable of perfect drain.
int | snd_pcm_hw_params_supports_audio_wallclock_ts (const snd_pcm_hw_params_t *params)
| Check if hardware supports audio wallclock timestamps.
int | snd_pcm_hw_params_supports_audio_ts_type (const snd_pcm_hw_params_t *params, int type)
| Check if hardware supports type of audio timestamps.
int | snd_pcm_hw_params_get_rate_numden (const snd_pcm_hw_params_t *params, unsigned int *rate_num, unsigned int *rate_den)
| Get rate exact info from a configuration space.
int | snd_pcm_hw_params_get_sbits (const snd_pcm_hw_params_t *params)
| Get sample resolution info from a configuration space.
int | snd_pcm_hw_params_get_fifo_size (const snd_pcm_hw_params_t *params)
| Get hardware FIFO size info from a configuration space.
const unsigned char * | snd_pcm_hw_params_get_sync (const snd_pcm_hw_params_t *params)
| Get hardware synchronization ID from a PCM info container.
int | snd_pcm_hw_params_any (snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
| Fill params with a full configuration space for a PCM.
size_t | snd_pcm_access_mask_sizeof ()
| get size of snd_pcm_access_mask_t
int | snd_pcm_access_mask_malloc (snd_pcm_access_mask_t **ptr)
| allocate an empty snd_pcm_access_mask_t using standard malloc
void | snd_pcm_access_mask_free (snd_pcm_access_mask_t *obj)
| frees a previously allocated snd_pcm_access_mask_t
void | snd_pcm_access_mask_copy (snd_pcm_access_mask_t *dst, const snd_pcm_access_mask_t *src)
| copy one snd_pcm_access_mask_t to another
void | snd_pcm_access_mask_none (snd_pcm_access_mask_t *mask)
| reset all bits in a snd_pcm_access_mask_t
void | snd_pcm_access_mask_any (snd_pcm_access_mask_t *mask)
| set all bits in a snd_pcm_access_mask_t
int | snd_pcm_access_mask_test (const snd_pcm_access_mask_t *mask, snd_pcm_access_t val)
| test the presence of an access type in a snd_pcm_access_mask_t
int | snd_pcm_access_mask_empty (const snd_pcm_access_mask_t *mask)
| test, if given a snd_pcm_access_mask_t is empty
void | snd_pcm_access_mask_set (snd_pcm_access_mask_t *mask, snd_pcm_access_t val)
| make an access type present in a snd_pcm_access_mask_t
void | snd_pcm_access_mask_reset (snd_pcm_access_mask_t *mask, snd_pcm_access_t val)
| make an access type missing from a snd_pcm_access_mask_t
size_t | snd_pcm_format_mask_sizeof ()
| get size of snd_pcm_format_mask_t
int | snd_pcm_format_mask_malloc (snd_pcm_format_mask_t **ptr)
| allocate an empty snd_pcm_format_mask_t using standard malloc
void | snd_pcm_format_mask_free (snd_pcm_format_mask_t *obj)
| frees a previously allocated snd_pcm_format_mask_t
void | snd_pcm_format_mask_copy (snd_pcm_format_mask_t *dst, const snd_pcm_format_mask_t *src)
| copy one snd_pcm_format_mask_t to another
void | snd_pcm_format_mask_none (snd_pcm_format_mask_t *mask)
| reset all bits in a snd_pcm_format_mask_t
void | snd_pcm_format_mask_any (snd_pcm_format_mask_t *mask)
| set all bits in a snd_pcm_format_mask_t
int | snd_pcm_format_mask_test (const snd_pcm_format_mask_t *mask, snd_pcm_format_t val)
| test the presence of a format in a snd_pcm_format_mask_t
int | snd_pcm_format_mask_empty (const snd_pcm_format_mask_t *mask)
| test, if given a snd_pcm_format_mask_t is empty
void | snd_pcm_format_mask_set (snd_pcm_format_mask_t *mask, snd_pcm_format_t val)
| make a format present in a snd_pcm_format_mask_t
void | snd_pcm_format_mask_reset (snd_pcm_format_mask_t *mask, snd_pcm_format_t val)
| make a format missing from a snd_pcm_format_mask_t
size_t | snd_pcm_subformat_mask_sizeof ()
| get size of snd_pcm_subformat_mask_t
int | snd_pcm_subformat_mask_malloc (snd_pcm_subformat_mask_t **ptr)
| allocate an empty snd_pcm_subformat_mask_t using standard malloc
void | snd_pcm_subformat_mask_free (snd_pcm_subformat_mask_t *obj)
| frees a previously allocated snd_pcm_subformat_mask_t
void | snd_pcm_subformat_mask_copy (snd_pcm_subformat_mask_t *dst, const snd_pcm_subformat_mask_t *src)
| copy one snd_pcm_subformat_mask_t to another
void | snd_pcm_subformat_mask_none (snd_pcm_subformat_mask_t *mask)
| reset all bits in a snd_pcm_subformat_mask_t
void | snd_pcm_subformat_mask_any (snd_pcm_subformat_mask_t *mask)
| set all bits in a snd_pcm_subformat_mask_t
int | snd_pcm_subformat_mask_test (const snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val)
| test the presence of a subformat in a snd_pcm_subformat_mask_t
int | snd_pcm_subformat_mask_empty (const snd_pcm_subformat_mask_t *mask)
| test, if given a snd_pcm_subformat_mask_t is empty
void | snd_pcm_subformat_mask_set (snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val)
| make a subformat present in a snd_pcm_subformat_mask_t
void | snd_pcm_subformat_mask_reset (snd_pcm_subformat_mask_t *mask, snd_pcm_subformat_t val)
| make a subformat missing from a snd_pcm_subformat_mask_t
size_t | snd_pcm_hw_params_sizeof ()
| get size of snd_pcm_hw_params_t
int | snd_pcm_hw_params_malloc (snd_pcm_hw_params_t **ptr)
| allocate an invalid snd_pcm_hw_params_t using standard malloc
void | snd_pcm_hw_params_free (snd_pcm_hw_params_t *obj)
| frees a previously allocated snd_pcm_hw_params_t
void | snd_pcm_hw_params_copy (snd_pcm_hw_params_t *dst, const snd_pcm_hw_params_t *src)
| copy one snd_pcm_hw_params_t to another
int | snd_pcm_hw_params_get_access (const snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
| Extract access type from a configuration space.
int | snd_pcm_hw_params_test_access (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access)
| Verify if an access type is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_access (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t access)
| Restrict a configuration space to contain only one access type.
int | snd_pcm_hw_params_set_access_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
| Restrict a configuration space to contain only its first access type.
int | snd_pcm_hw_params_set_access_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_t *access)
| Restrict a configuration space to contain only its last access type.
int | snd_pcm_hw_params_set_access_mask (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask)
| Restrict a configuration space to contain only a set of access types.
int | snd_pcm_hw_params_get_access_mask (snd_pcm_hw_params_t *params, snd_pcm_access_mask_t *mask)
| Get access mask from a configuration space.
int | snd_pcm_hw_params_get_format (const snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
| Extract format from a configuration space.
int | snd_pcm_hw_params_test_format (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t format)
| Verify if a format is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_format (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t format)
| Restrict a configuration space to contain only one format.
int | snd_pcm_hw_params_set_format_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
| Restrict a configuration space to contain only its first format.
int | snd_pcm_hw_params_set_format_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_t *format)
| Restrict a configuration space to contain only its last format.
int | snd_pcm_hw_params_set_format_mask (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask)
| Restrict a configuration space to contain only a set of formats.
void | snd_pcm_hw_params_get_format_mask (snd_pcm_hw_params_t *params, snd_pcm_format_mask_t *mask)
| Get format mask from a configuration space.
int | snd_pcm_hw_params_get_subformat (const snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
| Extract subformat from a configuration space.
int | snd_pcm_hw_params_test_subformat (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat)
| Verify if a subformat is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_subformat (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t subformat)
| Restrict a configuration space to contain only one subformat.
int | snd_pcm_hw_params_set_subformat_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
| Restrict a configuration space to contain only its first subformat.
int | snd_pcm_hw_params_set_subformat_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_t *subformat)
| Restrict a configuration space to contain only its last subformat.
int | snd_pcm_hw_params_set_subformat_mask (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask)
| Restrict a configuration space to contain only a set of subformats.
void | snd_pcm_hw_params_get_subformat_mask (snd_pcm_hw_params_t *params, snd_pcm_subformat_mask_t *mask)
| Get subformat mask from a configuration space.
int | snd_pcm_hw_params_get_channels (const snd_pcm_hw_params_t *params, unsigned int *val)
| Extract channels from a configuration space.
int | snd_pcm_hw_params_get_channels_min (const snd_pcm_hw_params_t *params, unsigned int *val)
| Extract minimum channels count from a configuration space.
int | snd_pcm_hw_params_get_channels_max (const snd_pcm_hw_params_t *params, unsigned int *val)
| Extract maximum channels count from a configuration space.
int | snd_pcm_hw_params_test_channels (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Verify if a channels count is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_channels (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Restrict a configuration space to contain only one channels count.
int | snd_pcm_hw_params_set_channels_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Restrict a configuration space with a minimum channels count.
int | snd_pcm_hw_params_set_channels_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Restrict a configuration space with a maximum channels count.
int | snd_pcm_hw_params_set_channels_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, unsigned int *max)
| Restrict a configuration space to have channels counts in a given range.
int | snd_pcm_hw_params_set_channels_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Restrict a configuration space to have channels count nearest to a target.
int | snd_pcm_hw_params_set_channels_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Restrict a configuration space to contain only its minimum channels count.
int | snd_pcm_hw_params_set_channels_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Restrict a configuration space to contain only its maximum channels count.
int | snd_pcm_hw_params_get_rate (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract rate from a configuration space.
int | snd_pcm_hw_params_get_rate_min (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract minimum rate from a configuration space.
int | snd_pcm_hw_params_get_rate_max (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract maximum rate from a configuration space.
int | snd_pcm_hw_params_test_rate (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Verify if a rate is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_rate (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Restrict a configuration space to contain only one rate.
int | snd_pcm_hw_params_set_rate_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a minimum rate.
int | snd_pcm_hw_params_set_rate_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a maximum rate.
int | snd_pcm_hw_params_set_rate_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir)
| Restrict a configuration space to have rates in a given range.
int | snd_pcm_hw_params_set_rate_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to have rate nearest to a target.
int | snd_pcm_hw_params_set_rate_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its minimum rate.
int | snd_pcm_hw_params_set_rate_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its maximum rate.
int | snd_pcm_hw_params_set_rate_resample (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Restrict a configuration space to contain only real hardware rates.
int | snd_pcm_hw_params_get_rate_resample (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Extract resample state from a configuration space.
int | snd_pcm_hw_params_set_export_buffer (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Restrict a configuration space to allow the buffer to be accessible from outside.
int | snd_pcm_hw_params_get_export_buffer (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Extract buffer accessibility from a configuration space.
int | snd_pcm_hw_params_set_period_wakeup (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Restrict a configuration space to settings without period wakeups.
int | snd_pcm_hw_params_get_period_wakeup (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Extract period wakeup flag from a configuration space.
int | snd_pcm_hw_params_set_drain_silence (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val)
| Restrict a configuration space to fill the end of playback stream with silence when drain() is invoked.
int | snd_pcm_hw_params_get_drain_silence (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val)
| Extract drain with the filling of silence samples from a configuration space.
int | snd_pcm_hw_params_get_period_time (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract period time from a configuration space.
int | snd_pcm_hw_params_get_period_time_min (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract minimum period time from a configuration space.
int | snd_pcm_hw_params_get_period_time_max (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract maximum period time from a configuration space.
int | snd_pcm_hw_params_test_period_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Verify if a period time is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_period_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Restrict a configuration space to contain only one period time.
int | snd_pcm_hw_params_set_period_time_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a minimum period time.
int | snd_pcm_hw_params_set_period_time_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a maximum period time.
int | snd_pcm_hw_params_set_period_time_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir)
| Restrict a configuration space to have period times in a given range.
int | snd_pcm_hw_params_set_period_time_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to have period time nearest to a target.
int | snd_pcm_hw_params_set_period_time_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its minimum period time.
int | snd_pcm_hw_params_set_period_time_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its maximum period time.
int | snd_pcm_hw_params_get_period_size (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Extract period size from a configuration space.
int | snd_pcm_hw_params_get_period_size_min (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Extract minimum period size from a configuration space.
int | snd_pcm_hw_params_get_period_size_max (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Extract maximum period size from a configuration space.
int | snd_pcm_hw_params_test_period_size (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir)
| Verify if a period size is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_period_size (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val, int dir)
| Restrict a configuration space to contain only one period size.
int | snd_pcm_hw_params_set_period_size_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Restrict a configuration space with a minimum period size.
int | snd_pcm_hw_params_set_period_size_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Restrict a configuration space with a maximum period size.
int | snd_pcm_hw_params_set_period_size_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, int *mindir, snd_pcm_uframes_t *max, int *maxdir)
| Restrict a configuration space to have period sizes in a given range.
int | snd_pcm_hw_params_set_period_size_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Restrict a configuration space to have period size nearest to a target.
int | snd_pcm_hw_params_set_period_size_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Restrict a configuration space to contain only its minimum period size.
int | snd_pcm_hw_params_set_period_size_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val, int *dir)
| Restrict a configuration space to contain only its maximum period size.
int | snd_pcm_hw_params_set_period_size_integer (snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
| Restrict a configuration space to contain only integer period sizes.
int | snd_pcm_hw_params_get_periods (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract periods from a configuration space.
int | snd_pcm_hw_params_get_periods_min (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract minimum periods count from a configuration space.
int | snd_pcm_hw_params_get_periods_max (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract maximum periods count from a configuration space.
int | snd_pcm_hw_params_test_periods (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Verify if a periods count is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_periods (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Restrict a configuration space to contain only one periods count.
int | snd_pcm_hw_params_set_periods_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a minimum periods count.
int | snd_pcm_hw_params_set_periods_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a maximum periods count.
int | snd_pcm_hw_params_set_periods_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir)
| Restrict a configuration space to have periods counts in a given range.
int | snd_pcm_hw_params_set_periods_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to have periods count nearest to a target.
int | snd_pcm_hw_params_set_periods_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its minimum periods count.
int | snd_pcm_hw_params_set_periods_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its maximum periods count.
int | snd_pcm_hw_params_set_periods_integer (snd_pcm_t *pcm, snd_pcm_hw_params_t *params)
| Restrict a configuration space to contain only integer periods counts.
int | snd_pcm_hw_params_get_buffer_time (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract buffer time from a configuration space.
int | snd_pcm_hw_params_get_buffer_time_min (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract minimum buffer time from a configuration space.
int | snd_pcm_hw_params_get_buffer_time_max (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Extract maximum buffer time from a configuration space.
int | snd_pcm_hw_params_test_buffer_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Verify if a buffer time is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_buffer_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| Restrict a configuration space to contain only one buffer time.
int | snd_pcm_hw_params_set_buffer_time_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a minimum buffer time.
int | snd_pcm_hw_params_set_buffer_time_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space with a maximum buffer time.
int | snd_pcm_hw_params_set_buffer_time_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir)
| Restrict a configuration space to have buffer times in a given range.
int | snd_pcm_hw_params_set_buffer_time_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to have buffer time nearest to a target.
int | snd_pcm_hw_params_set_buffer_time_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its minimum buffer time.
int | snd_pcm_hw_params_set_buffer_time_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| Restrict a configuration space to contain only its maximum buffered time.
int | snd_pcm_hw_params_get_buffer_size (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Extract buffer size from a configuration space.
int | snd_pcm_hw_params_get_buffer_size_min (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Extract minimum buffer size from a configuration space.
int | snd_pcm_hw_params_get_buffer_size_max (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Extract maximum buffer size from a configuration space.
int | snd_pcm_hw_params_test_buffer_size (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val)
| Verify if a buffer size is available inside a configuration space for a PCM.
int | snd_pcm_hw_params_set_buffer_size (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t val)
| Restrict a configuration space to contain only one buffer size.
int | snd_pcm_hw_params_set_buffer_size_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Restrict a configuration space with a minimum buffer size.
int | snd_pcm_hw_params_set_buffer_size_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Restrict a configuration space with a maximum buffer size.
int | snd_pcm_hw_params_set_buffer_size_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *min, snd_pcm_uframes_t *max)
| Restrict a configuration space to have buffer sizes in a given range.
int | snd_pcm_hw_params_set_buffer_size_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Restrict a configuration space to have buffer size nearest to a target.
int | snd_pcm_hw_params_set_buffer_size_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Restrict a configuration space to contain only its minimum buffer size.
int | snd_pcm_hw_params_set_buffer_size_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Restrict a configuration space to contain only its maximum buffer size.
int | snd_pcm_hw_params_get_tick_time (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Extract tick time from a configuration space
int | snd_pcm_hw_params_get_tick_time_min (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Extract minimum tick time from a configuration space
int | snd_pcm_hw_params_get_tick_time_max (const snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Extract maximum tick time from a configuration space
int | snd_pcm_hw_params_test_tick_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| (DEPRECATED) Verify if a tick time is available inside a configuration space for a PCM
int | snd_pcm_hw_params_set_tick_time (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int val, int dir)
| (DEPRECATED) Restrict a configuration space to contain only one tick time
int | snd_pcm_hw_params_set_tick_time_min (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Restrict a configuration space with a minimum tick time
int | snd_pcm_hw_params_set_tick_time_max (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Restrict a configuration space with a maximum tick time
int | snd_pcm_hw_params_set_tick_time_minmax (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *min, int *mindir, unsigned int *max, int *maxdir)
| (DEPRECATED) Restrict a configuration space to have tick times in a given range
int | snd_pcm_hw_params_set_tick_time_near (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Restrict a configuration space to have tick time nearest to a target
int | snd_pcm_hw_params_set_tick_time_first (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Restrict a configuration space to contain only its minimum tick time
int | snd_pcm_hw_params_set_tick_time_last (snd_pcm_t *pcm, snd_pcm_hw_params_t *params, unsigned int *val, int *dir)
| (DEPRECATED) Restrict a configuration space to contain only its maximum tick time
int | snd_pcm_hw_params_get_min_align (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Get the minimum transfer align value in samples.
int | snd_pcm_sw_params_current (snd_pcm_t *pcm, snd_pcm_sw_params_t *params)
| Return current software configuration for a PCM.
int | snd_pcm_sw_params_dump (snd_pcm_sw_params_t *params, snd_output_t *out)
| Dump a software configuration.
size_t | snd_pcm_sw_params_sizeof ()
| get size of snd_pcm_sw_params_t
int | snd_pcm_sw_params_malloc (snd_pcm_sw_params_t **ptr)
| allocate an invalid snd_pcm_sw_params_t using standard malloc
void | snd_pcm_sw_params_free (snd_pcm_sw_params_t *obj)
| frees a previously allocated snd_pcm_sw_params_t
void | snd_pcm_sw_params_copy (snd_pcm_sw_params_t *dst, const snd_pcm_sw_params_t *src)
| copy one snd_pcm_sw_params_t to another
int | snd_pcm_sw_params_get_boundary (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get boundary for ring pointers from a software configuration container.
int | snd_pcm_sw_params_set_start_mode (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_start_t val)
| (DEPRECATED) Set start mode inside a software configuration container
snd_pcm_start_t | snd_pcm_sw_params_get_start_mode (const snd_pcm_sw_params_t *params)
| (DEPRECATED) Get start mode from a software configuration container
int | snd_pcm_sw_params_set_xrun_mode (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_xrun_t val)
| (DEPRECATED) Set xrun mode inside a software configuration container
snd_pcm_xrun_t | snd_pcm_sw_params_get_xrun_mode (const snd_pcm_sw_params_t *params)
| (DEPRECATED) Get xrun mode from a software configuration container
int | snd_pcm_sw_params_set_tstamp_mode (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_t val)
| Set timestamp mode inside a software configuration container.
int | snd_pcm_sw_params_get_tstamp_mode (const snd_pcm_sw_params_t *params, snd_pcm_tstamp_t *val)
| Get timestamp mode from a software configuration container.
int | snd_pcm_sw_params_set_tstamp_type (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_tstamp_type_t val)
| Set timestamp type inside a software configuration container.
int | snd_pcm_sw_params_get_tstamp_type (const snd_pcm_sw_params_t *params, snd_pcm_tstamp_type_t *val)
| Get timestamp type from a software configuration container.
int | snd_pcm_sw_params_set_sleep_min (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, unsigned int val)
| (DEPRECATED) Set minimum number of ticks to sleep inside a software configuration container
int | snd_pcm_sw_params_get_sleep_min (const snd_pcm_sw_params_t *params, unsigned int *val)
| (DEPRECATED) Get minimum numbers of ticks to sleep from a software configuration container
int | snd_pcm_sw_params_set_avail_min (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| Set avail min inside a software configuration container.
int | snd_pcm_sw_params_get_avail_min (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get avail min from a software configuration container.
int | snd_pcm_sw_params_set_period_event (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, int val)
| Set period event inside a software configuration container.
int | snd_pcm_sw_params_get_period_event (const snd_pcm_sw_params_t *params, int *val)
| Get period event from a software configuration container.
int | snd_pcm_sw_params_set_xfer_align (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| (DEPRECATED) Set xfer align inside a software configuration container
int | snd_pcm_sw_params_get_xfer_align (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| (DEPRECATED) Get xfer align from a software configuration container
int | snd_pcm_sw_params_set_start_threshold (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| Set start threshold inside a software configuration container.
int | snd_pcm_sw_params_get_start_threshold (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get start threshold from a software configuration container.
int | snd_pcm_sw_params_set_stop_threshold (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| Set stop threshold inside a software configuration container.
int | snd_pcm_sw_params_get_stop_threshold (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get stop threshold from a software configuration container.
int | snd_pcm_sw_params_set_silence_threshold (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| Set silence threshold inside a software configuration container.
int | snd_pcm_sw_params_get_silence_threshold (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get silence threshold from a software configuration container.
int | snd_pcm_sw_params_set_silence_size (snd_pcm_t *pcm, snd_pcm_sw_params_t *params, snd_pcm_uframes_t val)
| Set silence size inside a software configuration container.
int | snd_pcm_sw_params_get_silence_size (const snd_pcm_sw_params_t *params, snd_pcm_uframes_t *val)
| Get silence size from a software configuration container.
size_t | snd_pcm_status_sizeof ()
| 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.
size_t | snd_pcm_info_sizeof ()
| get size of snd_pcm_info_t
int | snd_pcm_info_malloc (snd_pcm_info_t **ptr)
| allocate an invalid snd_pcm_info_t using standard malloc
void | snd_pcm_info_free (snd_pcm_info_t *obj)
| frees a previously allocated snd_pcm_info_t
void | snd_pcm_info_copy (snd_pcm_info_t *dst, const snd_pcm_info_t *src)
| copy one snd_pcm_info_t to another
unsigned int | snd_pcm_info_get_device (const snd_pcm_info_t *obj)
| Get device from a PCM info container.
unsigned int | snd_pcm_info_get_subdevice (const snd_pcm_info_t *obj)
| Get subdevice from a PCM info container.
snd_pcm_stream_t | snd_pcm_info_get_stream (const snd_pcm_info_t *obj)
| Get stream (direction) from a PCM info container.
int | snd_pcm_info_get_card (const snd_pcm_info_t *obj)
| Get card from a PCM info container.
const char * | snd_pcm_info_get_id (const snd_pcm_info_t *obj)
| Get id from a PCM info container.
const char * | snd_pcm_info_get_name (const snd_pcm_info_t *obj)
| Get name from a PCM info container.
const char * | snd_pcm_info_get_subdevice_name (const snd_pcm_info_t *obj)
| Get subdevice name from a PCM info container.
snd_pcm_class_t | snd_pcm_info_get_class (const snd_pcm_info_t *obj)
| Get class from a PCM info container.
snd_pcm_subclass_t | snd_pcm_info_get_subclass (const snd_pcm_info_t *obj)
| Get subclass from a PCM info container.
unsigned int | snd_pcm_info_get_subdevices_count (const snd_pcm_info_t *obj)
| Get subdevices count from a PCM info container.
unsigned int | snd_pcm_info_get_subdevices_avail (const snd_pcm_info_t *obj)
| Get available subdevices count from a PCM info container.
snd_pcm_sync_id_t | snd_pcm_info_get_sync (const snd_pcm_info_t *obj)
| (DEPRECATED) Get hardware synchronization ID from a PCM info container
void | snd_pcm_info_set_device (snd_pcm_info_t *obj, unsigned int val)
| Set wanted device inside a PCM info container (see snd_ctl_pcm_info)
void | snd_pcm_info_set_subdevice (snd_pcm_info_t *obj, unsigned int val)
| Set wanted subdevice inside a PCM info container (see snd_ctl_pcm_info)
void | snd_pcm_info_set_stream (snd_pcm_info_t *obj, snd_pcm_stream_t val)
| Set wanted stream inside a PCM info container (see snd_ctl_pcm_info)
int | snd_pcm_mmap_begin (snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas, snd_pcm_uframes_t *offset, snd_pcm_uframes_t *frames)
| Application request to access a portion of direct (mmap) area.
snd_pcm_sframes_t | snd_pcm_mmap_commit (snd_pcm_t *pcm, snd_pcm_uframes_t offset, snd_pcm_uframes_t frames)
| Application has completed the access to area requested with snd_pcm_mmap_begin.
snd_pcm_chmap_query_t ** | snd_pcm_query_chmaps (snd_pcm_t *pcm)
void | snd_pcm_free_chmaps (snd_pcm_chmap_query_t **maps)
snd_pcm_chmap_t * | snd_pcm_get_chmap (snd_pcm_t *pcm)
int | snd_pcm_set_chmap (snd_pcm_t *pcm, const snd_pcm_chmap_t *map)
const char * | snd_pcm_chmap_type_name (enum snd_pcm_chmap_type val)
const char * | snd_pcm_chmap_name (enum snd_pcm_chmap_position val)
const char * | snd_pcm_chmap_long_name (enum snd_pcm_chmap_position val)
int | snd_pcm_chmap_print (const snd_pcm_chmap_t *map, size_t maxlen, char *buf)
unsigned int | snd_pcm_chmap_from_string (const char *str)
snd_pcm_chmap_t * | snd_pcm_chmap_parse_string (const char *str)
int | snd_pcm_recover (snd_pcm_t *pcm, int err, int silent)
| Recover the stream state from an error or suspend.
int | snd_pcm_set_params (snd_pcm_t *pcm, snd_pcm_format_t format, snd_pcm_access_t access, unsigned int channels, unsigned int rate, int soft_resample, unsigned int latency)
| Set the hardware and software parameters in a simple way.
int | snd_pcm_get_params (snd_pcm_t *pcm, snd_pcm_uframes_t *buffer_size, snd_pcm_uframes_t *period_size)
| Get the transfer size parameters in a simple way.

## Detailed Description

PCM Interface.

Author
  Jaroslav Kysela perex.nosp@m.@per.nosp@m.ex.cz
  Abramo Bagnara abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org

Date
  2000-2001

PCM Interface is designed to write or read digital audio frames. A frame is the data unit converted into/from sound in one time unit (1/rate seconds), by example if you set your playback PCM rate to 44100 you'll hear 44100 frames per second. The size in bytes of a frame may be obtained from bits needed to store a sample and channels count.

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

## Function Documentation

## ◆ snd_pcm_hw_params_get_access()

int snd_pcm_hw_params_get_access | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_t * | access )

Extract access type from a configuration space.

Parameters

  params | Configuration space
  access | Returned value

Returns
  access type otherwise a negative error code if the configuration space does not contain a single value

## ◆ snd_pcm_hw_params_get_access_mask()

int snd_pcm_hw_params_get_access_mask | ( | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_mask_t * | mask )

Get access mask from a configuration space.

Parameters

  params | Configuration space
  mask | Returned Access mask

## ◆ snd_pcm_hw_params_get_buffer_size()

int snd_pcm_hw_params_get_buffer_size | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Extract buffer size from a configuration space.

Parameters

  params | Configuration space
  val | Returned buffer size in frames

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_get_buffer_size_max()

int snd_pcm_hw_params_get_buffer_size_max | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Extract maximum buffer size from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate maximum buffer size in frames

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_buffer_size_min()

int snd_pcm_hw_params_get_buffer_size_min | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Extract minimum buffer size from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate minimum buffer size in frames

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_buffer_time()

int snd_pcm_hw_params_get_buffer_time | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract buffer time from a configuration space.

Parameters

  params | Configuration space
  val | Returned buffer time in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_get_buffer_time_max()

int snd_pcm_hw_params_get_buffer_time_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract maximum buffer time from a configuration space.

Parameters

  params | Configuration space
  val | approximate maximum buffer duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_buffer_time_min()

int snd_pcm_hw_params_get_buffer_time_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract minimum buffer time from a configuration space.

Parameters

  params | Configuration space
  val | approximate minimum buffer duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_channels()

int snd_pcm_hw_params_get_channels | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract channels from a configuration space.

Parameters

  params | Configuration space
  val | Returned channels count

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

## ◆ snd_pcm_hw_params_get_channels_max()

int snd_pcm_hw_params_get_channels_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract maximum channels count from a configuration space.

Parameters

  params | Configuration space
  val | maximum channels count

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_channels_min()

int snd_pcm_hw_params_get_channels_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract minimum channels count from a configuration space.

Parameters

  params | Configuration space
  val | minimum channels count

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_drain_silence()

int snd_pcm_hw_params_get_drain_silence | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract drain with the filling of silence samples from a configuration space.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disabled, 1 = enabled

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_export_buffer()

int snd_pcm_hw_params_get_export_buffer | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract buffer accessibility from a configuration space.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disable, 1 = enable exporting buffer

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_format()

int snd_pcm_hw_params_get_format | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_t * | format )

Extract format from a configuration space.

Parameters

  params | Configuration space
  format | returned format

Returns
  format otherwise a negative error code if the configuration space does not contain a single value

## ◆ snd_pcm_hw_params_get_format_mask()

void snd_pcm_hw_params_get_format_mask | ( | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_mask_t * | mask )

Get format mask from a configuration space.

Parameters

  params | Configuration space
  mask | Returned Format mask

## ◆ snd_pcm_hw_params_get_period_size()

int snd_pcm_hw_params_get_period_size | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Extract period size from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_get_period_size_max()

int snd_pcm_hw_params_get_period_size_max | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Extract maximum period size from a configuration space.

Parameters

  params | Configuration space
  val | approximate minimum period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_period_size_min()

int snd_pcm_hw_params_get_period_size_min | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Extract minimum period size from a configuration space.

Parameters

  params | Configuration space
  val | approximate minimum period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_period_time()

int snd_pcm_hw_params_get_period_time | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract period time from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate period duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

Examples
  /test/latency.c.

## ◆ snd_pcm_hw_params_get_period_time_max()

int snd_pcm_hw_params_get_period_time_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract maximum period time from a configuration space.

Parameters

  params | Configuration space
  val | approximate maximum period duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_period_time_min()

int snd_pcm_hw_params_get_period_time_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract minimum period time from a configuration space.

Parameters

  params | Configuration space
  val | approximate minimum period duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_period_wakeup()

int snd_pcm_hw_params_get_period_wakeup | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract period wakeup flag from a configuration space.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disabled, 1 = enabled period wakeups

Returns
  Zero on success, otherwise a negative error code.

## ◆ snd_pcm_hw_params_get_periods()

int snd_pcm_hw_params_get_periods | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract periods from a configuration space.

Parameters

  params | Configuration space
  val | approximate periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_get_periods_max()

int snd_pcm_hw_params_get_periods_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract maximum periods count from a configuration space.

Parameters

  params | Configuration space
  val | approximate maximum periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_periods_min()

int snd_pcm_hw_params_get_periods_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract minimum periods count from a configuration space.

Parameters

  params | Configuration space
  val | approximate minimum periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

Examples
  /test/latency.c.

## ◆ snd_pcm_hw_params_get_rate()

int snd_pcm_hw_params_get_rate | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract rate from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_get_rate_max()

int snd_pcm_hw_params_get_rate_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract maximum rate from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate maximum rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_rate_min()

int snd_pcm_hw_params_get_rate_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Extract minimum rate from a configuration space.

Parameters

  params | Configuration space
  val | Returned approximate minimum rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_rate_resample()

int snd_pcm_hw_params_get_rate_resample | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Extract resample state from a configuration space.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disable, 1 = enable rate resampling

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_get_subformat()

int snd_pcm_hw_params_get_subformat | ( | const snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_t * | subformat )

Extract subformat from a configuration space.

Parameters

  params | Configuration space
  subformat | Returned subformat value

Returns
  subformat otherwise a negative error code if the configuration space does not contain a single value

## ◆ snd_pcm_hw_params_get_subformat_mask()

void snd_pcm_hw_params_get_subformat_mask | ( | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_mask_t * | mask )

Get subformat mask from a configuration space.

Parameters

  params | Configuration space
  mask | Returned Subformat mask

## ◆ snd_pcm_hw_params_get_tick_time()

int snd_pcm_hw_params_get_tick_time | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Extract tick time from a configuration space

Parameters

  params | Configuration space
  val | Returned approximate tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if the configuration space does not contain a single value

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_get_tick_time_max()

int snd_pcm_hw_params_get_tick_time_max | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Extract maximum tick time from a configuration space

Parameters

  params | Configuration space
  val | Returned approximate maximum tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_get_tick_time_min()

int snd_pcm_hw_params_get_tick_time_min | ( | const snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Extract minimum tick time from a configuration space

Parameters

  params | Configuration space
  val | Returned approximate minimum tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Exact value is <,=,> the returned one following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_access()

int snd_pcm_hw_params_set_access | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_t | access )

Restrict a configuration space to contain only one access type.

Parameters

  pcm | PCM handle
  params | Configuration space
  access | access type

Returns
  0 otherwise a negative error code if configuration space would become empty

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_set_access_first()

int snd_pcm_hw_params_set_access_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_t * | access )

Restrict a configuration space to contain only its first access type.

Parameters

  pcm | PCM handle
  params | Configuration space
  access | Returned first access type

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_access_last()

int snd_pcm_hw_params_set_access_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_t * | access )

Restrict a configuration space to contain only its last access type.

Parameters

  pcm | PCM handle
  params | Configuration space
  access | Returned last access type

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_access_mask()

int snd_pcm_hw_params_set_access_mask | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_mask_t * | mask )

Restrict a configuration space to contain only a set of access types.

Parameters

  pcm | PCM handle
  params | Configuration space
  mask | Access mask

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_buffer_size()

int snd_pcm_hw_params_set_buffer_size | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Restrict a configuration space to contain only one buffer size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | buffer size in frames

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_buffer_size_first()

int snd_pcm_hw_params_set_buffer_size_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Restrict a configuration space to contain only its minimum buffer size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned minimum buffer size in frames

Returns
  buffer size in frames

## ◆ snd_pcm_hw_params_set_buffer_size_last()

int snd_pcm_hw_params_set_buffer_size_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Restrict a configuration space to contain only its maximum buffer size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned maximum buffer size in frames

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_buffer_size_max()

int snd_pcm_hw_params_set_buffer_size_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Restrict a configuration space with a maximum buffer size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum buffer size in frames (on return filled with actual maximum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_buffer_size_min()

int snd_pcm_hw_params_set_buffer_size_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Restrict a configuration space with a minimum buffer size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum buffer size in frames (on return filled with actual minimum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_buffer_size_minmax()

int snd_pcm_hw_params_set_buffer_size_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | min,
|  | snd_pcm_uframes_t * | max )

Restrict a configuration space to have buffer sizes in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum buffer size in frames (on return filled with actual minimum)
  max | approximate maximum buffer size in frames (on return filled with actual maximum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_buffer_size_near()

int snd_pcm_hw_params_set_buffer_size_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Restrict a configuration space to have buffer size nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target buffer size in frames / returned chosen approximate target buffer size in frames

Returns
  0 otherwise a negative error code if configuration space is empty

Examples
  /test/latency.c.

## ◆ snd_pcm_hw_params_set_buffer_time()

int snd_pcm_hw_params_set_buffer_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Restrict a configuration space to contain only one buffer time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate buffer duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_buffer_time_first()

int snd_pcm_hw_params_set_buffer_time_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its minimum buffer time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate minimum buffer duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_buffer_time_last()

int snd_pcm_hw_params_set_buffer_time_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its maximum buffered time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate maximum buffer duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_buffer_time_max()

int snd_pcm_hw_params_set_buffer_time_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a maximum buffer time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum buffer duration in us (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_buffer_time_min()

int snd_pcm_hw_params_set_buffer_time_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a minimum buffer time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum buffer duration in us (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_buffer_time_minmax()

int snd_pcm_hw_params_set_buffer_time_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | int * | mindir,
|  | unsigned int * | max,
|  | int * | maxdir )

Restrict a configuration space to have buffer times in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum buffer duration in us (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum buffer duration in us (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_buffer_time_near()

int snd_pcm_hw_params_set_buffer_time_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to have buffer time nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target buffer duration in us / returned chosen approximate target buffer duration
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

Examples
  /test/pcm.c.

## ◆ snd_pcm_hw_params_set_channels()

int snd_pcm_hw_params_set_channels | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Restrict a configuration space to contain only one channels count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | channels count

Returns
  0 otherwise a negative error code if configuration space would become empty

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_set_channels_first()

int snd_pcm_hw_params_set_channels_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Restrict a configuration space to contain only its minimum channels count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | minimum channels count

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_channels_last()

int snd_pcm_hw_params_set_channels_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Restrict a configuration space to contain only its maximum channels count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | maximum channels count

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_channels_max()

int snd_pcm_hw_params_set_channels_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Restrict a configuration space with a maximum channels count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | maximum channels count (on return filled with actual maximum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_channels_min()

int snd_pcm_hw_params_set_channels_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Restrict a configuration space with a minimum channels count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | minimum channels count (on return filled with actual minimum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_channels_minmax()

int snd_pcm_hw_params_set_channels_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | unsigned int * | max )

Restrict a configuration space to have channels counts in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | minimum channels count (on return filled with actual minimum)
  max | maximum channels count (on return filled with actual maximum)

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_channels_near()

int snd_pcm_hw_params_set_channels_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val )

Restrict a configuration space to have channels count nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | target channels count, returned chosen channels count

Returns
  0 otherwise a negative error code if configuration space is empty

## ◆ snd_pcm_hw_params_set_drain_silence()

int snd_pcm_hw_params_set_drain_silence | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Restrict a configuration space to fill the end of playback stream with silence when drain() is invoked.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disabled, 1 = enabled (default) fill the end of the playback stream with silence when drain() is invoked

Returns
  Zero on success, otherwise a negative error code.

When disabled, the application should handle the end of stream gracefully (fill the silent samples to align to the period size plus some extra samples for hardware / driver without perfect drain). Note that the rewind may be used for this purpose or the sw_params silencing mechanism.

## ◆ snd_pcm_hw_params_set_export_buffer()

int snd_pcm_hw_params_set_export_buffer | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Restrict a configuration space to allow the buffer to be accessible from outside.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disable, 1 = enable (default) exporting buffer

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_format()

int snd_pcm_hw_params_set_format | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_t | format )

Restrict a configuration space to contain only one format.

Parameters

  pcm | PCM handle
  params | Configuration space
  format | format

Returns
  0 otherwise a negative error code

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_set_format_first()

int snd_pcm_hw_params_set_format_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_t * | format )

Restrict a configuration space to contain only its first format.

Parameters

  pcm | PCM handle
  params | Configuration space
  format | Returned first format

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_format_last()

int snd_pcm_hw_params_set_format_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_t * | format )

Restrict a configuration space to contain only its last format.

Parameters

  pcm | PCM handle
  params | Configuration space
  format | Returned last format

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_format_mask()

int snd_pcm_hw_params_set_format_mask | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_mask_t * | mask )

Restrict a configuration space to contain only a set of formats.

Parameters

  pcm | PCM handle
  params | Configuration space
  mask | Format mask

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_period_size()

int snd_pcm_hw_params_set_period_size | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t | val,
|  | int | dir )

Restrict a configuration space to contain only one period size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_size_first()

int snd_pcm_hw_params_set_period_size_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Restrict a configuration space to contain only its minimum period size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned maximum approximate period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_period_size_integer()

int snd_pcm_hw_params_set_period_size_integer | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params )

Restrict a configuration space to contain only integer period sizes.

Parameters

  pcm | PCM handle
  params | Configuration space

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_period_size_last()

int snd_pcm_hw_params_set_period_size_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Restrict a configuration space to contain only its maximum period size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned maximum approximate period size in frames
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_period_size_max()

int snd_pcm_hw_params_set_period_size_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Restrict a configuration space with a maximum period size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum period size in frames (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_size_min()

int snd_pcm_hw_params_set_period_size_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Restrict a configuration space with a minimum period size.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum period size in frames (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_size_minmax()

int snd_pcm_hw_params_set_period_size_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | min,
|  | int * | mindir,
|  | snd_pcm_uframes_t * | max,
|  | int * | maxdir )

Restrict a configuration space to have period sizes in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum period size in frames (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum period size in frames (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_size_near()

int snd_pcm_hw_params_set_period_size_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t * | val,
|  | int * | dir )

Restrict a configuration space to have period size nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target period size in frames / returned chosen approximate target period size
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

Examples
  /test/latency.c.

## ◆ snd_pcm_hw_params_set_period_time()

int snd_pcm_hw_params_set_period_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Restrict a configuration space to contain only one period time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate period duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_time_first()

int snd_pcm_hw_params_set_period_time_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its minimum period time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate period duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_period_time_last()

int snd_pcm_hw_params_set_period_time_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its maximum period time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned maximum approximate period time
  dir | Sub unit direction

Returns
  approximate period duration in us

## ◆ snd_pcm_hw_params_set_period_time_max()

int snd_pcm_hw_params_set_period_time_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a maximum period time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum period duration in us (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_time_min()

int snd_pcm_hw_params_set_period_time_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a minimum period time.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum period duration in us (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_time_minmax()

int snd_pcm_hw_params_set_period_time_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | int * | mindir,
|  | unsigned int * | max,
|  | int * | maxdir )

Restrict a configuration space to have period times in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum period duration in us (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum period duration in us (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_period_time_near()

int snd_pcm_hw_params_set_period_time_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to have period time nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target period duration in us / returned chosen approximate target period duration
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

Examples
  /test/pcm.c.

## ◆ snd_pcm_hw_params_set_period_wakeup()

int snd_pcm_hw_params_set_period_wakeup | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Restrict a configuration space to settings without period wakeups.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disable, 1 = enable (default) period wakeup

Returns
  Zero on success, otherwise a negative error code.

This function must be called only on devices where non-blocking mode is enabled.

To check whether the hardware does support disabling period wakeups, call snd_pcm_hw_params_can_disable_period_wakeup(). If the hardware does not support this mode, standard period wakeups will be generated.

Even with disabled period wakeups, the period size/time/count parameters are valid; it is suggested to use snd_pcm_hw_params_set_period_size_last().

When period wakeups are disabled, the application must not use any functions that could block on this device. The use of poll should be limited to error cases. The application needs to use an external event or a timer to check the state of the ring buffer and refill it apropriately.

Examples
  /test/latency.c.

## ◆ snd_pcm_hw_params_set_periods()

int snd_pcm_hw_params_set_periods | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Restrict a configuration space to contain only one periods count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_periods_first()

int snd_pcm_hw_params_set_periods_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its minimum periods count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate minimum periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_periods_integer()

int snd_pcm_hw_params_set_periods_integer | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params )

Restrict a configuration space to contain only integer periods counts.

Parameters

  pcm | PCM handle
  params | Configuration space

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_periods_last()

int snd_pcm_hw_params_set_periods_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its maximum periods count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate maximum periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_periods_max()

int snd_pcm_hw_params_set_periods_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a maximum periods count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum periods per buffer (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_periods_min()

int snd_pcm_hw_params_set_periods_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a minimum periods count.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum periods per buffer (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_periods_minmax()

int snd_pcm_hw_params_set_periods_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | int * | mindir,
|  | unsigned int * | max,
|  | int * | maxdir )

Restrict a configuration space to have periods counts in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum periods per buffer (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum periods per buffer (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_periods_near()

int snd_pcm_hw_params_set_periods_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to have periods count nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target periods per buffer / returned chosen approximate target periods per buffer
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_rate()

int snd_pcm_hw_params_set_rate | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Restrict a configuration space to contain only one rate.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_rate_first()

int snd_pcm_hw_params_set_rate_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its minimum rate.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned minimum approximate rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_rate_last()

int snd_pcm_hw_params_set_rate_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to contain only its maximum rate.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned maximum approximate rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_rate_max()

int snd_pcm_hw_params_set_rate_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a maximum rate.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum rate (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_rate_min()

int snd_pcm_hw_params_set_rate_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space with a minimum rate.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum rate (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_rate_minmax()

int snd_pcm_hw_params_set_rate_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | int * | mindir,
|  | unsigned int * | max,
|  | int * | maxdir )

Restrict a configuration space to have rates in a given range.

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum rate (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum rate (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_rate_near()

int snd_pcm_hw_params_set_rate_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

Restrict a configuration space to have rate nearest to a target.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target rate / returned approximate set rate
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_set_rate_resample()

int snd_pcm_hw_params_set_rate_resample | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Restrict a configuration space to contain only real hardware rates.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | 0 = disable, 1 = enable (default) rate resampling

Returns
  0 otherwise a negative error code

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_hw_params_set_subformat()

int snd_pcm_hw_params_set_subformat | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_t | subformat )

Restrict a configuration space to contain only one subformat.

Parameters

  pcm | PCM handle
  params | Configuration space
  subformat | subformat value

Returns
  0 otherwise a negative error code if configuration space would become empty

## ◆ snd_pcm_hw_params_set_subformat_first()

int snd_pcm_hw_params_set_subformat_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_t * | subformat )

Restrict a configuration space to contain only its first subformat.

Parameters

  pcm | PCM handle
  params | Configuration space
  subformat | Returned subformat

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_subformat_last()

int snd_pcm_hw_params_set_subformat_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_t * | subformat )

Restrict a configuration space to contain only its last subformat.

Parameters

  pcm | PCM handle
  params | Configuration space
  subformat | Returned subformat

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_subformat_mask()

int snd_pcm_hw_params_set_subformat_mask | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_mask_t * | mask )

Restrict a configuration space to contain only a set of subformats.

Parameters

  pcm | PCM handle
  params | Configuration space
  mask | Subformat mask

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_hw_params_set_tick_time()

int snd_pcm_hw_params_set_tick_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

(DEPRECATED) Restrict a configuration space to contain only one tick time

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_tick_time_first()

int snd_pcm_hw_params_set_tick_time_first | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Restrict a configuration space to contain only its minimum tick time

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate minimum tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_tick_time_last()

int snd_pcm_hw_params_set_tick_time_last | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Restrict a configuration space to contain only its maximum tick time

Parameters

  pcm | PCM handle
  params | Configuration space
  val | Returned approximate maximum tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code

Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)

## ◆ snd_pcm_hw_params_set_tick_time_max()

int snd_pcm_hw_params_set_tick_time_max | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Restrict a configuration space with a maximum tick time

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate maximum tick duration in us (on return filled with actual maximum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_tick_time_min()

int snd_pcm_hw_params_set_tick_time_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Restrict a configuration space with a minimum tick time

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate minimum tick duration in us (on return filled with actual minimum)
  dir | Sub unit direction (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_tick_time_minmax()

int snd_pcm_hw_params_set_tick_time_minmax | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | min,
|  | int * | mindir,
|  | unsigned int * | max,
|  | int * | maxdir )

(DEPRECATED) Restrict a configuration space to have tick times in a given range

Parameters

  pcm | PCM handle
  params | Configuration space
  min | approximate minimum tick duration in us (on return filled with actual minimum)
  mindir | Sub unit direction for minimum (on return filled with actual direction)
  max | approximate maximum tick duration in us (on return filled with actual maximum)
  maxdir | Sub unit direction for maximum (on return filled with actual direction)

Returns
  0 otherwise a negative error code if configuration space would become empty

Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_set_tick_time_near()

int snd_pcm_hw_params_set_tick_time_near | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int * | val,
|  | int * | dir )

(DEPRECATED) Restrict a configuration space to have tick time nearest to a target

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate target tick duration in us / returned chosen approximate target tick duration in us
  dir | Sub unit direction

Returns
  0 otherwise a negative error code if configuration space is empty

target/chosen exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_access()

int snd_pcm_hw_params_test_access | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_access_t | access )

Verify if an access type is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  access | access type

Returns
  0 if available a negative error code otherwise

## ◆ snd_pcm_hw_params_test_buffer_size()

int snd_pcm_hw_params_test_buffer_size | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Verify if a buffer size is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | buffer size in frames

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_buffer_time()

int snd_pcm_hw_params_test_buffer_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Verify if a buffer time is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate buffer duration in us
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_channels()

int snd_pcm_hw_params_test_channels | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val )

Verify if a channels count is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | channels count

Returns
  0 if available a negative error code otherwise

## ◆ snd_pcm_hw_params_test_format()

int snd_pcm_hw_params_test_format | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_format_t | format )

Verify if a format is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  format | format

Returns
  0 if available a negative error code otherwise

## ◆ snd_pcm_hw_params_test_period_size()

int snd_pcm_hw_params_test_period_size | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_uframes_t | val,
|  | int | dir )

Verify if a period size is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate period size in frames
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_period_time()

int snd_pcm_hw_params_test_period_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Verify if a period time is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate period duration in us
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_periods()

int snd_pcm_hw_params_test_periods | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Verify if a periods count is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate periods per buffer
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_rate()

int snd_pcm_hw_params_test_rate | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

Verify if a rate is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate rate
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_hw_params_test_subformat()

int snd_pcm_hw_params_test_subformat | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | snd_pcm_subformat_t | subformat )

Verify if a subformat is available inside a configuration space for a PCM.

Parameters

  pcm | PCM handle
  params | Configuration space
  subformat | subformat value

Returns
  0 if available a negative error code otherwise

## ◆ snd_pcm_hw_params_test_tick_time()

int snd_pcm_hw_params_test_tick_time | ( | snd_pcm_t * | pcm,
|  | snd_pcm_hw_params_t * | params,
|  | unsigned int | val,
|  | int | dir )

(DEPRECATED) Verify if a tick time is available inside a configuration space for a PCM

Parameters

  pcm | PCM handle
  params | Configuration space
  val | approximate tick duration in us
  dir | Sub unit direction

Returns
  0 if available a negative error code otherwise

Wanted exact value is <,=,> val following dir (-1,0,1)

## ◆ snd_pcm_sw_params_get_avail_min()

int snd_pcm_sw_params_get_avail_min | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Get avail min from a software configuration container.

Parameters

  params | Software configuration container
  val | returned minimum available frames to consider PCM ready

Returns
  0 otherwise a negative error code

This is a threshold value when the PCM stream is considered as ready for another read/write operation or poll event.

## ◆ snd_pcm_sw_params_get_period_event()

int snd_pcm_sw_params_get_period_event | ( | const snd_pcm_sw_params_t * | params,
|  | int * | val )

Get period event from a software configuration container.

Parameters

  params | Software configuration container
  val | returned period event state

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_get_silence_size()

int snd_pcm_sw_params_get_silence_size | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Get silence size from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned silence size in frames (0 for disabled)

Returns
  0 otherwise a negative error code

A portion of playback buffer is overwritten with silence when playback underrun is nearer than silence threshold (see snd_pcm_sw_params_set_silence_threshold)

## ◆ snd_pcm_sw_params_get_silence_threshold()

int snd_pcm_sw_params_get_silence_threshold | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Get silence threshold from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned silence threshold in frames

Returns
  0 otherwise a negative error value

A portion of playback buffer is overwritten with silence (see snd_pcm_sw_params_set_silence_size) when playback underrun is nearer than silence threshold.

## ◆ snd_pcm_sw_params_get_sleep_min()

int snd_pcm_sw_params_get_sleep_min | ( | const snd_pcm_sw_params_t * | params,
|  | unsigned int * | val )

(DEPRECATED) Get minimum numbers of ticks to sleep from a software configuration container

Parameters

  params | Software configuration container
  val | returned minimum number of ticks to sleep or 0 if tick timer is disabled

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_get_start_threshold()

int snd_pcm_sw_params_get_start_threshold | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Get start threshold from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned start threshold in frames

Returns
  0 otherwise a negative error code

PCM is automatically started when playback frames available to PCM are >= threshold or when requested capture frames are >= threshold

## ◆ snd_pcm_sw_params_get_stop_threshold()

int snd_pcm_sw_params_get_stop_threshold | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

Get stop threshold from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned stop threshold in frames

Returns
  0 otherwise a negative error code

PCM is automatically stopped in SND_PCM_STATE_XRUN state when available frames is >= threshold. If the stop threshold is equal to boundary (also software parameter - sw_param) then automatic stop will be disabled (thus device will do the endless loop in the ring buffer).

## ◆ snd_pcm_sw_params_get_tstamp_mode()

int snd_pcm_sw_params_get_tstamp_mode | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_tstamp_t * | val )

Get timestamp mode from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned timestamp

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_get_tstamp_type()

int snd_pcm_sw_params_get_tstamp_type | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_tstamp_type_t * | val )

Get timestamp type from a software configuration container.

Parameters

  params | Software configuration container
  val | Returned timestamp type

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_get_xfer_align()

int snd_pcm_sw_params_get_xfer_align | ( | const snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t * | val )

(DEPRECATED) Get xfer align from a software configuration container

Parameters

  params | Software configuration container
  val | returned chunk size (frames are attempted to be transferred in chunks)

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_set_avail_min()

int snd_pcm_sw_params_set_avail_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Set avail min inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Minimum avail frames to consider PCM ready

Returns
  0 otherwise a negative error code

Note: This is similar to setting an OSS wakeup point. The valid values for 'val' are determined by the specific hardware. Most PC sound cards can only accept power of 2 frame counts (i.e. 512, 1024, 2048). You cannot use this as a high resolution timer - it is limited to how often the sound card hardware raises an interrupt.

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_sw_params_set_period_event()

int snd_pcm_sw_params_set_period_event | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | int | val )

Set period event inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | 0 = disable period event, 1 = enable period event

Returns
  0 otherwise a negative error code

An poll (select) wakeup event is raised if enabled.

Examples
  /test/pcm.c.

## ◆ snd_pcm_sw_params_set_silence_size()

int snd_pcm_sw_params_set_silence_size | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Set silence size inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Silence size in frames (0 for disabled)

Returns
  0 otherwise a negative error code

A portion of playback buffer is overwritten with silence when playback underrun is nearer than silence threshold (see snd_pcm_sw_params_set_silence_threshold)

When drain silence (see snd_pcm_hw_params_get_drain_silence) is disabled, this will also apply for draining, i.e. silence is written also when the drain end is nearer than the silence threshold.

The special case is when silence size value is equal or greater than boundary. The unused portion of the ring buffer (initial written samples are untouched) is filled with silence at start. Later, only just processed sample area is filled with silence. Note: silence_threshold must be set to zero.

## ◆ snd_pcm_sw_params_set_silence_threshold()

int snd_pcm_sw_params_set_silence_threshold | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Set silence threshold inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Silence threshold in frames

Returns
  0 otherwise a negative error code

A portion of playback buffer is overwritten with silence (see snd_pcm_sw_params_set_silence_size) when playback underrun is nearer than silence threshold.

## ◆ snd_pcm_sw_params_set_sleep_min()

int snd_pcm_sw_params_set_sleep_min | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | unsigned int | val )

(DEPRECATED) Set minimum number of ticks to sleep inside a software configuration container

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Minimum ticks to sleep or 0 to disable the use of tick timer

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_set_start_threshold()

int snd_pcm_sw_params_set_start_threshold | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Set start threshold inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Start threshold in frames

Returns
  0 otherwise a negative error code

PCM is automatically started when playback frames available to PCM are >= threshold or when requested capture frames are >= threshold

Examples
  /test/latency.c, and /test/pcm.c.

## ◆ snd_pcm_sw_params_set_stop_threshold()

int snd_pcm_sw_params_set_stop_threshold | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

Set stop threshold inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Stop threshold in frames

Returns
  0 otherwise a negative error code

PCM is automatically stopped in SND_PCM_STATE_XRUN state when available frames is >= threshold. If the stop threshold is equal to boundary (also software parameter - sw_param) then automatic stop will be disabled (thus device will do the endless loop in the ring buffer).

## ◆ snd_pcm_sw_params_set_tstamp_mode()

int snd_pcm_sw_params_set_tstamp_mode | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_tstamp_t | val )

Set timestamp mode inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Timestamp mode

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_set_tstamp_type()

int snd_pcm_sw_params_set_tstamp_type | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_tstamp_type_t | val )

Set timestamp type inside a software configuration container.

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Timestamp type

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_sw_params_set_xfer_align()

int snd_pcm_sw_params_set_xfer_align | ( | snd_pcm_t * | pcm,
|  | snd_pcm_sw_params_t * | params,
|  | snd_pcm_uframes_t | val )

(DEPRECATED) Set xfer align inside a software configuration container

Parameters

  pcm | PCM handle
  params | Software configuration container
  val | Chunk size (frames are attempted to be transferred in chunks)

Returns
  0 otherwise a negative error code

## ◆ snd_pcm_tstamp_type_name()

const char * snd_pcm_tstamp_type_name | ( | snd_pcm_tstamp_type_t | type | ) |

get name of PCM tstamp type setting

Parameters

  type | PCM tstamp type

Returns
  ascii name of PCM tstamp type setting