Hardware Parameters
Overview
See the PCM (digital audio) interface page for more details. Moreā¦
// global functions int snd_pcm_hw_params_any( snd_pcm_t* pcm, snd_pcm_hw_params_t* params ); int snd_pcm_hw_params_can_mmap_sample_resolution(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_double(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_batch(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_block_transfer(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_monotonic(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_can_overrange(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_can_pause(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_can_resume(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_half_duplex(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_is_joint_duplex(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_can_sync_start(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_can_disable_period_wakeup(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_supports_audio_wallclock_ts(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_supports_audio_ts_type( const snd_pcm_hw_params_t* params, int type ); int snd_pcm_hw_params_get_rate_numden( const snd_pcm_hw_params_t* params, unsigned int* rate_num, unsigned int* rate_den ); int snd_pcm_hw_params_get_sbits(const snd_pcm_hw_params_t* params); int snd_pcm_hw_params_get_fifo_size(const snd_pcm_hw_params_t* params); size_t snd_pcm_hw_params_sizeof(void); int snd_pcm_hw_params_malloc(snd_pcm_hw_params_t** ptr); void snd_pcm_hw_params_free(snd_pcm_hw_params_t* obj); void snd_pcm_hw_params_copy( snd_pcm_hw_params_t* dst, const snd_pcm_hw_params_t* src ); int snd_pcm_hw_params_get_access( const snd_pcm_hw_params_t* params, snd_pcm_access_t* _access ); int snd_pcm_hw_params_test_access( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_access_t _access ); int snd_pcm_hw_params_set_access( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_access_t _access ); int snd_pcm_hw_params_set_access_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_access_t* _access ); int snd_pcm_hw_params_set_access_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_access_t* _access ); int snd_pcm_hw_params_set_access_mask( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_access_mask_t* mask ); int snd_pcm_hw_params_get_access_mask( snd_pcm_hw_params_t* params, snd_pcm_access_mask_t* mask ); int snd_pcm_hw_params_get_format( const snd_pcm_hw_params_t* params, snd_pcm_format_t* val ); int snd_pcm_hw_params_test_format( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_format_t val ); int snd_pcm_hw_params_set_format( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_format_t val ); int snd_pcm_hw_params_set_format_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_format_t* format ); int snd_pcm_hw_params_set_format_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_format_t* 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 ); void snd_pcm_hw_params_get_format_mask( snd_pcm_hw_params_t* params, snd_pcm_format_mask_t* mask ); int snd_pcm_hw_params_get_subformat( const snd_pcm_hw_params_t* params, snd_pcm_subformat_t* subformat ); int snd_pcm_hw_params_test_subformat( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_subformat_t subformat ); int snd_pcm_hw_params_set_subformat( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_subformat_t subformat ); int snd_pcm_hw_params_set_subformat_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_subformat_t* subformat ); int snd_pcm_hw_params_set_subformat_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_subformat_t* 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 ); void snd_pcm_hw_params_get_subformat_mask( snd_pcm_hw_params_t* params, snd_pcm_subformat_mask_t* mask ); int snd_pcm_hw_params_get_channels( const snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_get_channels_min( const snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_get_channels_max( const snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_test_channels( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val ); int snd_pcm_hw_params_set_channels( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val ); int snd_pcm_hw_params_set_channels_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_channels_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_channels_minmax( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* min, unsigned int* max ); int snd_pcm_hw_params_set_channels_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_channels_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_channels_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_get_rate( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_rate_min( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_rate_max( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_test_rate( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_rate( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_rate_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_rate_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); 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 ); int snd_pcm_hw_params_set_rate_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_rate_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_rate_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_rate_resample( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val ); int snd_pcm_hw_params_get_rate_resample( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_export_buffer( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val ); int snd_pcm_hw_params_get_export_buffer( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_set_period_wakeup( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val ); int snd_pcm_hw_params_get_period_wakeup( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val ); int snd_pcm_hw_params_get_period_time( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_period_time_min( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_period_time_max( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_test_period_time( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_period_time( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_period_time_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_period_time_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); 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 ); int snd_pcm_hw_params_set_period_time_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_period_time_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_period_time_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_period_size( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* frames, int* dir ); int snd_pcm_hw_params_get_period_size_min( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* frames, int* dir ); int snd_pcm_hw_params_get_period_size_max( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* frames, int* dir ); 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 ); 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 ); 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 ); 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 ); 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 ); 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 ); 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 ); 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 ); int snd_pcm_hw_params_set_period_size_integer( snd_pcm_t* pcm, snd_pcm_hw_params_t* params ); int snd_pcm_hw_params_get_periods( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_periods_min( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_periods_max( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_test_periods( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_periods( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_periods_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_periods_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); 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 ); int snd_pcm_hw_params_set_periods_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_periods_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_periods_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_periods_integer( snd_pcm_t* pcm, snd_pcm_hw_params_t* params ); int snd_pcm_hw_params_get_buffer_time( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_buffer_time_min( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_buffer_time_max( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_test_buffer_time( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_buffer_time( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int val, int dir ); int snd_pcm_hw_params_set_buffer_time_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_buffer_time_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); 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 ); int snd_pcm_hw_params_set_buffer_time_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_buffer_time_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_set_buffer_time_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, unsigned int* val, int* dir ); int snd_pcm_hw_params_get_buffer_size( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_get_buffer_size_min( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_get_buffer_size_max( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_test_buffer_size( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t val ); int snd_pcm_hw_params_set_buffer_size( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t val ); int snd_pcm_hw_params_set_buffer_size_min( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_set_buffer_size_max( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); 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 ); int snd_pcm_hw_params_set_buffer_size_near( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_set_buffer_size_first( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_set_buffer_size_last( snd_pcm_t* pcm, snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); int snd_pcm_hw_params_get_min_align( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val ); // macros #define snd_pcm_hw_params_alloca(ptr)
Detailed Documentation
See the PCM (digital audio) interface page for more details.
Global 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.
The configuration space will be filled with all possible ranges for the PCM device.
Parameters:
pcm |
PCM handle |
params |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support sample-resolution mmap |
1 |
Hardware supports sample-resolution mmap |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt do double buffering for start/stop |
1 |
Hardware does double buffering for start/stop |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt do double buffering for data transfers |
1 |
Hardware does double buffering for data transfers |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt block transfers |
1 |
Hardware does block transfers |
int snd_pcm_hw_params_is_monotonic(const snd_pcm_hw_params_t* params)
Check if timestamps are monotonic for given configuration.
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.
Parameters:
params |
Configuration space |
0 |
Device doesnāt do monotomic timestamps |
1 |
Device does monotonic timestamps |
int snd_pcm_hw_params_can_overrange(const snd_pcm_hw_params_t* params)
Check if 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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support overrange detection |
1 |
Hardware supports overrange detection |
int snd_pcm_hw_params_can_pause(const snd_pcm_hw_params_t* params)
Check if 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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support pause |
1 |
Hardware supports pause |
int snd_pcm_hw_params_can_resume(const snd_pcm_hw_params_t* params)
Check if 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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support resume |
1 |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt do half-duplex |
1 |
Hardware does half-duplex |
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)
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt do joint-duplex |
1 |
Hardware does joint-duplex |
int snd_pcm_hw_params_can_sync_start(const snd_pcm_hw_params_t* params)
Check if hardware supports synchronized start with sample resolution.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support synchronized start |
1 |
Hardware supports synchronized start |
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 |
0 |
Hardware cannot disable period wakeups |
1 |
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.
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.
Parameters:
params |
Configuration space |
0 |
Hardware doesnāt support audio wallclock timestamps |
1 |
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.
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.
Parameters:
params |
Configuration space |
type |
Audio timestamp type |
0 |
Hardware doesnāt support type of audio timestamps |
1 |
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.
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.
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
int snd_pcm_hw_params_get_sbits(const snd_pcm_hw_params_t* params)
Get sample resolution info from a configuration space.
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.
Parameters:
params |
Configuration space |
Returns:
signification bits in sample otherwise a negative error code if the info is not available
int snd_pcm_hw_params_get_fifo_size(const snd_pcm_hw_params_t* params)
Get hardware FIFO size info from a configuration space.
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.
Parameters:
params |
Configuration space |
Returns:
FIFO size in frames otherwise a negative error code if the info is not available
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_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
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 |
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 |
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_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_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
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_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_format( const snd_pcm_hw_params_t* params, snd_pcm_format_t* val )
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
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.
Parameters:
pcm |
PCM handle |
params |
Configuration space |
format |
format |
Returns:
0 if available a negative error code otherwise
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.
Parameters:
pcm |
PCM handle |
params |
Configuration space |
format |
format |
Returns:
0 otherwise a negative error code
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
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_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
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
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
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_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_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_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_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_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
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_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_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_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_get_rate( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir )
Extract rate from a configuration space.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
Returned approximate minimum rate |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
Returned approximate maximum rate |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
Parameters:
pcm |
PCM handle |
params |
Configuration space |
val |
approximate rate |
dir |
Sub unit direction |
Returns:
0 if available a negative error code otherwise
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)
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
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.
target/chosen exact value is <,=,> val following dir (-1,0,1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
Parameters:
pcm |
PCM handle |
params |
Configuration space |
val |
Returned minimum approximate rate |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
Parameters:
pcm |
PCM handle |
params |
Configuration space |
val |
Returned maximum approximate rate |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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
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_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_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_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.
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.
Parameters:
pcm |
PCM handle |
params |
Configuration space |
val |
0 = disable, 1 = enable (default) period wakeup |
Returns:
Zero on success, otherwise a negative error code.
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_period_time( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir )
Extract period time from a configuration space.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate minimum period duration in us |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate maximum period duration in us |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)
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
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.
target/chosen exact value is <,=,> val following dir (-1,0,1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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_get_period_size( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* frames, int* dir )
Extract period size from a configuration space.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate minimum period size in frames |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate minimum period size in frames |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)
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
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.
target/chosen exact value is <,=,> val following dir (-1,0,1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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_get_periods( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir )
Extract periods from a configuration space.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate minimum periods per buffer |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate maximum periods per buffer |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)
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
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.
target/chosen exact value is <,=,> val following dir (-1,0,1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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_get_buffer_time( const snd_pcm_hw_params_t* params, unsigned int* val, int* dir )
Extract buffer time from a configuration space.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate minimum buffer duration in us |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
approximate maximum buffer duration in us |
dir |
Sub unit direction |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact minimum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact maximum is <,=,> val following dir (-1,0,1)
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
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.
Wanted/actual exact min/max is <,=,> val following dir (-1,0,1)
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
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.
target/chosen exact value is <,=,> val following dir (-1,0,1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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.
Actual exact value is <,=,> the approximate one following dir (-1, 0, 1)
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
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
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_size_max( const snd_pcm_hw_params_t* params, snd_pcm_uframes_t* val )
Extract maximum buffer size from a configuration space.
Exact value is <,=,> the returned one following dir (-1,0,1)
Parameters:
params |
Configuration space |
val |
Returned approximate maximum buffer size in frames |
Returns:
0 otherwise a negative error code
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
Parameters:
pcm |
PCM handle |
params |
Configuration space |
val |
buffer size in frames |
Returns:
0 if available a negative error code otherwise
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.
Wanted exact value is <,=,> val following dir (-1,0,1)
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
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_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_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
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_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
Macros
#define snd_pcm_hw_params_alloca(ptr)
allocate an invalid snd_pcm_hw_params_t using standard alloca
Parameters:
ptr |
returned pointer |