# Hardware Parameters
[PCM Interface]

## Defines

#define | snd_pcm_hw_params_alloca(ptr)
| allocate an invalid snd_pcm_hw_params_t using standard alloca

## Functions

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.
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_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.
size_t | snd_pcm_hw_params_sizeof (void)
| 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 *val)
| 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 val)
| 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 val)
| 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_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 *frames, 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 *frames, 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 *frames, 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_min_align (const snd_pcm_hw_params_t *params, snd_pcm_uframes_t *val)
| Get the minimum transfer align value in samples.

## Detailed Description

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

## Define Documentation

#define snd_pcm_hw_params_alloca | ( | ptr |  | ) |

allocate an invalid snd_pcm_hw_params_t using standard alloca

Parameters:

  | ptr | returned pointer

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

## Function Documentation

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.

Parameters:

  | pcm | PCM handle
  | params | Configuration space

The configuration space will be filled with all possible ranges for the PCM device.

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

int snd_pcm_hw_params_can_disable_period_wakeup | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware can disable period wakeups.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware cannot disable period wakeups
  | 1 | Hardware can disable period wakeups

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.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support sample-resolution mmap
  | 1 | Hardware supports sample-resolution mmap

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_can_overrange | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware supports overrange detection.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support overrange detection
  | 1 | Hardware supports overrange detection

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_can_pause | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware supports pause.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support pause
  | 1 | Hardware supports pause

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_can_resume | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware supports resume.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support resume
  | 1 | Hardware supports resume

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_can_sync_start | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware supports synchronized start with sample resolution.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support synchronized start
  | 1 | Hardware supports synchronized start

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

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

Parameters:

  | dst | pointer to destination
  | src | pointer to source

Examples:
  /test/latency.c.

void snd_pcm_hw_params_free | ( | snd_pcm_hw_params_t * | obj | ) |

frees a previously allocated snd_pcm_hw_params_t

Parameters:

  | obj | pointer to object to free

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

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

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.

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)

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

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)

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)

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)

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

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

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

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

int snd_pcm_hw_params_get_fifo_size | ( | const snd_pcm_hw_params_t * | params | ) |

Get hardware FIFO size info from a configuration space.

Parameters:

  | params | Configuration space

Returns:
  FIFO size in frames otherwise a negative error code if the info is not available

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the 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.

Parameters:

  | params | Configuration space
  | format | returned format

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

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

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.

Parameters:

  | params | Configuration space
  | val | Returned minimum align value

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

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.

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)

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)

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.

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)

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)

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.

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)

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)

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.

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)

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)

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)

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.

Parameters:

  | params | Configuration space
  | rate_num | Pointer to returned rate numerator
  | rate_den | Pointer to returned rate denominator

Returns:
  0 otherwise a negative error code if the info is not available

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

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

int snd_pcm_hw_params_get_sbits | ( | const snd_pcm_hw_params_t * | params | ) |

Get sample resolution info from a configuration space.

Parameters:

  | params | Configuration space

Returns:
  signification bits in sample otherwise a negative error code if the info is not available

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the 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.

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

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

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.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't do double buffering for data transfers
  | 1 | Hardware does double buffering for data transfers

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

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.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't block transfers
  | 1 | Hardware does block transfers

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

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.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't do double buffering for start/stop
  | 1 | Hardware does double buffering for start/stop

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_is_half_duplex | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware does half-duplex only.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't do half-duplex
  | 1 | Hardware does half-duplex

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

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

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't do joint-duplex
  | 1 | Hardware does joint-duplex

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_is_monotonic | ( | const snd_pcm_hw_params_t * | params | ) |

Check if timestamps are monotonic for given configuration.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Device doesn't do monotomic timestamps
  | 1 | Device does monotonic timestamps

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_malloc | ( | snd_pcm_hw_params_t ** | ptr | ) |

allocate an invalid snd_pcm_hw_params_t using standard malloc

Parameters:

  | ptr | returned pointer

Returns:
  0 on success otherwise negative error code

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.

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

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

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

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)

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

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

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

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

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

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.

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)

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)

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)

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)

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)

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)

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.

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.

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

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

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

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

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

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

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

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.

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

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

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

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)

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)

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

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)

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)

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)

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)

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.

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)

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)

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

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)

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)

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)

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.

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.

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)

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)

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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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.

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.

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

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

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

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

size_t snd_pcm_hw_params_sizeof | ( | void |  | ) |

get size of snd_pcm_hw_params_t

Returns:
  size in bytes

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.

Parameters:

  | params | Configuration space
  | type | Audio timestamp type

Return values:

  | 0 | Hardware doesn't support type of audio timestamps
  | 1 | Hardware supports type of audio timestamps

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the configuration space.

int snd_pcm_hw_params_supports_audio_wallclock_ts | ( | const snd_pcm_hw_params_t * | params | ) |

Check if hardware supports audio wallclock timestamps.

Parameters:

  | params | Configuration space

Return values:

  | 0 | Hardware doesn't support audio wallclock timestamps
  | 1 | Hardware supports audio wallclock timestamps

This function should only be called when the configuration space contains a single configuration. Call snd_pcm_hw_params to choose a single configuration from the 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.

Parameters:

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

Returns:
  0 if available a negative error code otherwise

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)

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)

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

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

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)

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)

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)

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)

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

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines