ALSA project - the C library reference
Loading...
Searching...
No Matches
pcm_extplug.c File Reference

External Filter Plugin SDK. More...

Functions

int snd_pcm_extplug_create (snd_pcm_extplug_t *extplug, const char *name, snd_config_t *root, snd_config_t *slave_conf, snd_pcm_stream_t stream, int mode)
 Create an extplug instance.
 
int snd_pcm_extplug_delete (snd_pcm_extplug_t *extplug)
 Delete the extplug instance.
 
void snd_pcm_extplug_params_reset (snd_pcm_extplug_t *extplug)
 Reset extplug parameters.
 
int snd_pcm_extplug_set_slave_param_list (snd_pcm_extplug_t *extplug, int type, unsigned int num_list, const unsigned int *list)
 Set slave parameter as the list.
 
int snd_pcm_extplug_set_slave_param_minmax (snd_pcm_extplug_t *extplug, int type, unsigned int min, unsigned int max)
 Set slave parameter as the min/max values.
 
int snd_pcm_extplug_set_param_list (snd_pcm_extplug_t *extplug, int type, unsigned int num_list, const unsigned int *list)
 Set master parameter as the list.
 
int snd_pcm_extplug_set_param_minmax (snd_pcm_extplug_t *extplug, int type, unsigned int min, unsigned int max)
 Set master parameter as the min/max values.
 
int snd_pcm_extplug_set_param_link (snd_pcm_extplug_t *extplug, int type, int keep_link)
 Keep the client and slave format/channels the same if requested. This is for example useful if this extplug does not support any channel conversion.
 

Detailed Description

External Filter Plugin SDK.

Author
Takashi Iwai tiwai.nosp@m.@sus.nosp@m.e.de
Date
2005

Function Documentation

◆ snd_pcm_extplug_create()

int snd_pcm_extplug_create ( snd_pcm_extplug_t * extplug,
const char * name,
snd_config_t * root,
snd_config_t * slave_conf,
snd_pcm_stream_t stream,
int mode )

Create an extplug instance.

Parameters
extplugthe extplug handle
namename of the PCM
rootconfiguration tree root
slave_confslave configuration root
streamstream direction
modePCM open mode
Returns
0 if successful, or a negative error code

Creates the extplug instance based on the given handle. The slave_conf argument is mandatory, and usually taken from the config tree of the PCM plugin as "slave" config value. name, root, stream and mode arguments are the values used for opening the PCM.

The callback is the mandatory field of extplug handle. At least, start, stop and pointer callbacks must be set before calling this function.

◆ snd_pcm_extplug_delete()

int snd_pcm_extplug_delete ( snd_pcm_extplug_t * extplug)

Delete the extplug instance.

Parameters
extplugthe extplug handle to delete
Returns
0 if successful, or a negative error code

The destructor of extplug instance. Closes the PCM and deletes the associated resources.

◆ snd_pcm_extplug_params_reset()

void snd_pcm_extplug_params_reset ( snd_pcm_extplug_t * extplug)

Reset extplug parameters.

Parameters
extplugthe extplug handle

Resets the all parameters for the given extplug handle.

◆ snd_pcm_extplug_set_param_link()

int snd_pcm_extplug_set_param_link ( snd_pcm_extplug_t * extplug,
int type,
int keep_link )

Keep the client and slave format/channels the same if requested. This is for example useful if this extplug does not support any channel conversion.

Parameters
extplugthe extplug handle
typeparameter type
keep_linkif 1 the parameter identified by type will be kept the same for the client and slave PCM of this extplug
Returns
0 if successful, or a negative error code

◆ snd_pcm_extplug_set_param_list()

int snd_pcm_extplug_set_param_list ( snd_pcm_extplug_t * extplug,
int type,
unsigned int num_list,
const unsigned int * list )

Set master parameter as the list.

Parameters
extplugthe extplug handle
typeparameter type
num_listnumber of available values
listthe list of available values
Returns
0 if successful, or a negative error code

Sets the master parameter as the list. The available values of the given parameter type of this PCM (as input) is restricted to the ones of the given list.

◆ snd_pcm_extplug_set_param_minmax()

int snd_pcm_extplug_set_param_minmax ( snd_pcm_extplug_t * extplug,
int type,
unsigned int min,
unsigned int max )

Set master parameter as the min/max values.

Parameters
extplugthe extplug handle
typeparameter type
minthe minimum value
maxthe maximum value
Returns
0 if successful, or a negative error code

Sets the master parameter as the min/max values. The available values of the given parameter type of this PCM (as input) is restricted between the given minimum and maximum values.

◆ snd_pcm_extplug_set_slave_param_list()

int snd_pcm_extplug_set_slave_param_list ( snd_pcm_extplug_t * extplug,
int type,
unsigned int num_list,
const unsigned int * list )

Set slave parameter as the list.

Parameters
extplugthe extplug handle
typeparameter type
num_listnumber of available values
listthe list of available values
Returns
0 if successful, or a negative error code

Sets the slave parameter as the list. The available values of the given parameter type of the slave PCM is restricted to the ones of the given list.

◆ snd_pcm_extplug_set_slave_param_minmax()

int snd_pcm_extplug_set_slave_param_minmax ( snd_pcm_extplug_t * extplug,
int type,
unsigned int min,
unsigned int max )

Set slave parameter as the min/max values.

Parameters
extplugthe extplug handle
typeparameter type
minthe minimum value
maxthe maximum value
Returns
0 if successful, or a negative error code

Sets the slave parameter as the min/max values. The available values of the given parameter type of the slave PCM is restricted between the given minimum and maximum values.