|
int | snd_pcm_ioplug_create (snd_pcm_ioplug_t *io, const char *name, snd_pcm_stream_t stream, int mode) |
| Create an ioplug instance. More...
|
|
int | snd_pcm_ioplug_delete (snd_pcm_ioplug_t *io) |
| Delete the ioplug instance. More...
|
|
int | snd_pcm_ioplug_reinit_status (snd_pcm_ioplug_t *ioplug) |
| Reinitialize the poll and mmap status. More...
|
|
const snd_pcm_channel_area_t * | snd_pcm_ioplug_mmap_areas (snd_pcm_ioplug_t *ioplug) |
| Get mmap area of ioplug. More...
|
|
void | snd_pcm_ioplug_params_reset (snd_pcm_ioplug_t *io) |
| Reset ioplug parameters. More...
|
|
int | snd_pcm_ioplug_set_param_minmax (snd_pcm_ioplug_t *io, int type, unsigned int min, unsigned int max) |
| Set parameter as the min/max values. More...
|
|
int | snd_pcm_ioplug_set_param_list (snd_pcm_ioplug_t *io, int type, unsigned int num_list, const unsigned int *list) |
| Set parameter as the list. More...
|
|
int | snd_pcm_ioplug_set_state (snd_pcm_ioplug_t *ioplug, snd_pcm_state_t state) |
| Change the ioplug PCM status. More...
|
|
snd_pcm_uframes_t | snd_pcm_ioplug_avail (const snd_pcm_ioplug_t *const ioplug, const snd_pcm_uframes_t hw_ptr, const snd_pcm_uframes_t appl_ptr) |
| Get the available frames. This function can be used to calculate the the available frames before calling snd_pcm_avail_update() More...
|
|
snd_pcm_uframes_t | snd_pcm_ioplug_hw_avail (const snd_pcm_ioplug_t *const ioplug, const snd_pcm_uframes_t hw_ptr, const snd_pcm_uframes_t appl_ptr) |
| Get the available frames. This function can be used to calculate the the available frames before calling snd_pcm_avail_update() More...
|
|
See the PCM (digital audio) interface page for more details.
#define SND_PCM_IOPLUG_FLAG_BOUNDARY_WA (1<<2) |
hw pointer wrap around at boundary instead of buffer_size
#define SND_PCM_IOPLUG_FLAG_LISTED (1<<0) |
#define SND_PCM_IOPLUG_FLAG_MONOTONIC (1<<1) |
#define SND_PCM_IOPLUG_VERSION |
Value:
#define SND_PCM_IOPLUG_VERSION_MINOR
Definition: pcm_ioplug.h:75
#define SND_PCM_IOPLUG_VERSION_TINY
Definition: pcm_ioplug.h:76
#define SND_PCM_IOPLUG_VERSION_MAJOR
Definition: pcm_ioplug.h:74
IO-plugin protocol version
#define SND_PCM_IOPLUG_VERSION_MAJOR 1 |
#define SND_PCM_IOPLUG_VERSION_MINOR 0 |
#define SND_PCM_IOPLUG_VERSION_TINY 2 |
hw constraints for ioplug
Enumerator |
---|
SND_PCM_IOPLUG_HW_ACCESS |
access type
|
SND_PCM_IOPLUG_HW_FORMAT |
format
|
SND_PCM_IOPLUG_HW_CHANNELS |
channels
|
SND_PCM_IOPLUG_HW_RATE |
rate
|
SND_PCM_IOPLUG_HW_PERIOD_BYTES |
period bytes
|
SND_PCM_IOPLUG_HW_BUFFER_BYTES |
buffer bytes
|
SND_PCM_IOPLUG_HW_PERIODS |
number of periods
|
SND_PCM_IOPLUG_HW_PARAMS |
max number of hw constraints
|
Get the available frames. This function can be used to calculate the the available frames before calling snd_pcm_avail_update()
- Parameters
-
ioplug | the ioplug handle |
hw_ptr | hardware pointer in frames |
appl_ptr | application pointer in frames |
- Returns
- available frames for the application
Create an ioplug instance.
- Parameters
-
ioplug | the ioplug handle |
name | name of PCM |
stream | stream direction |
mode | PCM open mode |
- Returns
- 0 if successful, or a negative error code
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.
Delete the ioplug instance.
- Parameters
-
- Returns
- 0 if successful, or a negative error code
Get the available frames. This function can be used to calculate the the available frames before calling snd_pcm_avail_update()
- Parameters
-
ioplug | the ioplug handle |
hw_ptr | hardware pointer in frames |
appl_ptr | application pointer in frames |
- Returns
- available frames for the hardware
Get mmap area of ioplug.
- Parameters
-
- Returns
- the mmap channel areas if available, or NULL
Returns the mmap channel areas if available. When mmap_rw field is not set, this function always returns NULL.
Reset ioplug parameters.
- Parameters
-
Resets the all parameters for the given ioplug handle.
Reinitialize the poll and mmap status.
- Parameters
-
- Returns
- 0 if successful, or a negative error code
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.
- Parameters
-
ioplug | the ioplug handle |
type | parameter type |
num_list | number of available values |
list | the list of available values |
- Returns
- 0 if successful, or a negative error code
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.
- Parameters
-
ioplug | the ioplug handle |
type | parameter type |
min | the minimum value |
max | the maximum value |
- Returns
- 0 if successful, or a negative error code
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.
Change the ioplug PCM status.
- Parameters
-
ioplug | the ioplug handle |
state | the PCM status |
- Returns
- zero if successful or a negative error code
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.