ALSA project - the C library reference
|
See the PCM (digital audio) interface page for more details.
#define SND_PCM_IOPLUG_FLAG_LISTED (1<<0) |
list up this PCM
#define SND_PCM_IOPLUG_FLAG_MONOTONIC (1<<1) |
monotonic timestamps
#define SND_PCM_IOPLUG_VERSION |
((SND_PCM_IOPLUG_VERSION_MAJOR<<16) |\ (SND_PCM_IOPLUG_VERSION_MINOR<<8) |\ (SND_PCM_IOPLUG_VERSION_TINY))
IO-plugin protocol version
#define SND_PCM_IOPLUG_VERSION_MAJOR 1 |
Protocol major version
#define SND_PCM_IOPLUG_VERSION_MINOR 0 |
Protocol minor version
#define SND_PCM_IOPLUG_VERSION_TINY 2 |
Protocol tiny version
typedef struct snd_pcm_ioplug_callback snd_pcm_ioplug_callback_t |
Callback table of ioplug
typedef struct snd_pcm_ioplug snd_pcm_ioplug_t |
I/O plugin handle
anonymous enum |
hw constraints for ioplug
int snd_pcm_ioplug_create | ( | snd_pcm_ioplug_t * | ioplug, |
const char * | name, | ||
snd_pcm_stream_t | stream, | ||
int | mode | ||
) |
Create an ioplug instance.
ioplug | the ioplug handle |
name | name of PCM |
stream | stream direction |
mode | PCM open mode |
Creates the ioplug instance.
The callback is the mandatory field of ioplug handle. At least, start, stop and pointer callbacks must be set before calling this function.
int snd_pcm_ioplug_delete | ( | snd_pcm_ioplug_t * | ioplug | ) |
Delete the ioplug instance.
ioplug | the ioplug handle |
const snd_pcm_channel_area_t* snd_pcm_ioplug_mmap_areas | ( | snd_pcm_ioplug_t * | ioplug | ) |
Get mmap area of ioplug.
ioplug | the ioplug handle |
Returns the mmap channel areas if available. When mmap_rw field is not set, this function always returns NULL.
void snd_pcm_ioplug_params_reset | ( | snd_pcm_ioplug_t * | ioplug | ) |
Reset ioplug parameters.
ioplug | the ioplug handle |
Resets the all parameters for the given ioplug handle.
int snd_pcm_ioplug_reinit_status | ( | snd_pcm_ioplug_t * | ioplug | ) |
Reinitialize the poll and mmap status.
ioplug | the ioplug handle |
Reinitializes the poll and the mmap status of the PCM. Call this function to propagate the status change in the ioplug instance to its PCM internals.
int snd_pcm_ioplug_set_param_list | ( | snd_pcm_ioplug_t * | ioplug, |
int | type, | ||
unsigned int | num_list, | ||
const unsigned int * | list | ||
) |
Set parameter as the list.
ioplug | the ioplug handle |
type | parameter type |
num_list | number of available values |
list | the list of available values |
Sets the parameter as the list. The available values of the given parameter type is restricted to the ones of the given list.
int snd_pcm_ioplug_set_param_minmax | ( | snd_pcm_ioplug_t * | ioplug, |
int | type, | ||
unsigned int | min, | ||
unsigned int | max | ||
) |
Set parameter as the min/max values.
ioplug | the ioplug handle |
type | parameter type |
min | the minimum value |
max | the maximum value |
Sets the parameter as the min/max values. The available values of the given parameter type is restricted between the given minimum and maximum values.
int snd_pcm_ioplug_set_state | ( | snd_pcm_ioplug_t * | ioplug, |
snd_pcm_state_t | state | ||
) |
Change the ioplug PCM status.
ioplug | the ioplug handle |
state | the PCM status |
Changes the PCM status of the ioplug to the given value. This function can be used for external plugins to notify the status change, e.g. XRUN.