ALSA project - the C library reference
Modules | Files | Macros | Functions
External PCM plugin SDK
Collaboration diagram for External PCM plugin SDK:

Modules

 External Filter plugin SDK
 
 External I/O plugin SDK
 

Files

file  pcm_extplug.c
 External Filter Plugin SDK.
 
file  pcm_ioplug.c
 I/O Plugin SDK.
 

Macros

#define SND_PCM_PLUGIN_ENTRY(name)   _snd_pcm_##name##_open
 
#define SND_PCM_PLUGIN_SYMBOL(name)   SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);
 
#define SND_PCM_PLUGIN_DEFINE_FUNC(plugin)
 

Functions

int snd_pcm_parse_control_id (snd_config_t *conf, snd_ctl_elem_id_t *ctl_id, int *cardp, int *cchannelsp, int *hwctlp) __attribute__((deprecated))
 Parse control element id from the config. More...
 

Detailed Description

Macro Definition Documentation

◆ SND_PCM_PLUGIN_DEFINE_FUNC

#define SND_PCM_PLUGIN_DEFINE_FUNC (   plugin)
Value:
int SND_PCM_PLUGIN_ENTRY(plugin) (snd_pcm_t **pcmp, const char *name,\
snd_config_t *root, snd_config_t *conf, \
snd_pcm_stream_t stream, int mode)
struct _snd_config snd_config_t
Internal structure for a configuration node object.
Definition: conf.h:69
struct _snd_pcm snd_pcm_t
Definition: pcm.h:408
#define SND_PCM_PLUGIN_ENTRY(name)
Definition: pcm_external.h:43

Define the plugin

◆ SND_PCM_PLUGIN_ENTRY

#define SND_PCM_PLUGIN_ENTRY (   name)    _snd_pcm_##name##_open

Define the object entry for external PCM plugins

◆ SND_PCM_PLUGIN_SYMBOL

#define SND_PCM_PLUGIN_SYMBOL (   name)    SND_DLSYM_BUILD_VERSION(SND_PCM_PLUGIN_ENTRY(name), SND_PCM_DLSYM_VERSION);

Define the symbols of the given plugin with versions

Function Documentation

◆ snd_pcm_parse_control_id()

int snd_pcm_parse_control_id ( snd_config_t conf,
snd_ctl_elem_id_t ctl_id,
int *  cardp,
int *  cchannelsp,
int *  hwctlp 
)

Parse control element id from the config.

Parameters
confthe config tree to parse
ctl_idthe pointer to store the resultant control element id
cardpthe pointer to store the card index
cchannelspthe pointer to store the number of channels (optional)
hwctlpthe pointer to store the h/w control flag (optional)
Returns
0 if successful, or a negative error code
Deprecated:
Since 1.2.5 This function parses the given config tree to retrieve the control element id and the card index. It's used by softvol. External PCM plugins can use this function for creating or assigining their controls.

cchannelsp and hwctlp arguments are optional. Set NULL if not necessary.