External PCM plugin SDK

Overview

// global functions

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

// macros

#define SND_PCM_PLUGIN_DEFINE_FUNC(plugin)
#define SND_PCM_PLUGIN_ENTRY(name)
#define SND_PCM_PLUGIN_SYMBOL(name)

Detailed Documentation

Global Functions

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.

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.

Parameters:

conf

the config tree to parse

ctl_id

the pointer to store the resultant control element id

cardp

the pointer to store the card index

cchannelsp

the pointer to store the number of channels (optional)

hwctlp

the pointer to store the h/w control flag (optional)

Returns:

0 if successful, or a negative error code

Macros

#define SND_PCM_PLUGIN_DEFINE_FUNC(plugin)

Define the plugin

#define SND_PCM_PLUGIN_ENTRY(name)

Define the object entry for external PCM plugins

#define SND_PCM_PLUGIN_SYMBOL(name)

Define the symbols of the given plugin with versions