ALSA project - the C library reference
Loading...
Searching...
No Matches
PCM Plugins

Files

file  pcm_hw.c
 PCM HW Plugin Interface.
 
file  pcm_mmap_emul.c
 PCM Mmap-Emulation Plugin Interface.
 
file  pcm_shm.c
 PCM Shared Memory Plugin Interface.
 
file  pcm_null.c
 PCM Null Plugin Interface.
 
file  pcm_copy.c
 PCM Copy Plugin Interface.
 
file  pcm_linear.c
 PCM Linear Conversion Plugin Interface.
 
file  pcm_lfloat.c
 PCM Linear<->Float Conversion Plugin Interface.
 
file  pcm_mulaw.c
 PCM Mu-Law Conversion Plugin Interface.
 
file  pcm_alaw.c
 PCM A-Law Conversion Plugin Interface.
 
file  pcm_adpcm.c
 PCM Ima-ADPCM Conversion Plugin Interface.
 
file  pcm_route.c
 PCM Route & Volume Plugin Interface.
 
file  pcm_rate.c
 PCM Rate Plugin Interface.
 
file  pcm_file.c
 PCM File Plugin Interface.
 
file  pcm_multi.c
 PCM Multi Streams to One Conversion Plugin Interface.
 
file  pcm_share.c
 
file  pcm_dmix.c
 PCM Direct Stream Mixing (dmix) Plugin Interface.
 
file  pcm_dshare.c
 PCM Direct Sharing of Channels Plugin Interface.
 
file  pcm_dsnoop.c
 PCM Capture Stream Snooping (dsnoop) Plugin Interface.
 
file  pcm_ladspa.c
 ALSA Plugin <-> LADSPA Plugin Interface.
 
file  pcm_asym.c
 PCM Asymmetrical Plugin Interface.
 
file  pcm_iec958.c
 PCM IEC958 Subframe Conversion Plugin Interface.
 
file  pcm_softvol.c
 PCM Soft Volume Plugin Interface.
 
file  pcm_empty.c
 PCM Empty Plugin Interface.
 

Macros

#define SND_PCM_PLUGIN_RATE_MIN   4000
 
#define SND_PCM_PLUGIN_RATE_MAX   768000
 
#define SND_PCM_PLUGIN_ROUTE_FLOAT   1
 
#define SND_PCM_PLUGIN_ROUTE_RESOLUTION   16
 
#define SND_PCM_PLUGIN_ROUTE_HALF   (SND_PCM_PLUGIN_ROUTE_RESOLUTION / 2)
 
#define SND_PCM_PLUGIN_ROUTE_FULL   SND_PCM_PLUGIN_ROUTE_RESOLUTION
 

Typedefs

typedef int snd_pcm_route_ttable_entry_t
 

Functions

int snd_pcm_hw_open (snd_pcm_t **pcmp, const char *name, int card, int device, int subdevice, snd_pcm_stream_t stream, int mode, int mmap_emulation, int sync_ptr_ioctl)
 Creates a new hw PCM.
 
int _snd_pcm_hw_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new hw PCM.
 
int snd_pcm_copy_open (snd_pcm_t **pcmp, const char *name, snd_pcm_t *slave, int close_slave)
 Creates a new copy PCM.
 
int _snd_pcm_copy_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new copy PCM.
 
int snd_pcm_linear_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
 Creates a new linear conversion PCM.
 
int _snd_pcm_linear_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new linear conversion PCM.
 
int snd_pcm_lfloat_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
 Creates a new linear conversion PCM.
 
int _snd_pcm_lfloat_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new linear<->float conversion PCM.
 
int snd_pcm_mulaw_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
 Creates a new Mu-Law conversion PCM.
 
int _snd_pcm_mulaw_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new Mu-Law conversion PCM.
 
int snd_pcm_alaw_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
 Creates a new A-Law conversion PCM.
 
int _snd_pcm_alaw_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new A-Law conversion PCM.
 
int snd_pcm_adpcm_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave)
 Creates a new Ima-ADPCM conversion PCM.
 
int _snd_pcm_adpcm_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new Ima-ADPCM conversion PCM.
 
int snd_pcm_iec958_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, snd_pcm_t *slave, int close_slave, const unsigned char *status_bits, const unsigned char *preamble_vals, int hdmi_mode)
 Creates a new IEC958 subframe conversion PCM.
 
int _snd_pcm_iec958_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new IEC958 subframe conversion PCM.
 
int snd_pcm_route_load_ttable (snd_config_t *tt, snd_pcm_route_ttable_entry_t *ttable, unsigned int tt_csize, unsigned int tt_ssize, unsigned int *tt_cused, unsigned int *tt_sused, int schannels)
 Load route matrix.
 
int snd_pcm_route_determine_ttable (snd_config_t *tt, unsigned int *tt_csize, unsigned int *tt_ssize)
 Determine route matrix sizes.
 
int snd_pcm_route_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, int schannels, snd_pcm_route_ttable_entry_t *ttable, unsigned int tt_ssize, unsigned int tt_cused, unsigned int tt_sused, snd_pcm_t *slave, int close_slave)
 Creates a new Route & Volume PCM.
 
int _snd_pcm_route_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new Route & Volume PCM.
 
int snd_pcm_rate_open (snd_pcm_t **pcmp, const char *name, snd_pcm_format_t sformat, unsigned int srate, const snd_config_t *converter, snd_pcm_t *slave, int close_slave)
 Creates a new rate PCM.
 
int _snd_pcm_rate_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new rate PCM.
 
int snd_pcm_hooks_open (snd_pcm_t **pcmp, const char *name, snd_pcm_t *slave, int close_slave)
 Creates a new hooks PCM.
 
int _snd_pcm_hooks_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new hooks PCM.
 
int snd_pcm_ladspa_open (snd_pcm_t **pcmp, const char *name, const char *ladspa_path, unsigned int channels, snd_config_t *ladspa_pplugins, snd_config_t *ladspa_cplugins, snd_pcm_t *slave, int close_slave)
 Creates a new LADSPA<->ALSA Plugin.
 
int _snd_pcm_ladspa_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new LADSPA<->ALSA PCM.
 
int snd_pcm_jack_open (snd_pcm_t **pcmp, const char *name, snd_config_t *playback_conf, snd_config_t *capture_conf, snd_pcm_stream_t stream, int mode)
 Creates a new Jack PCM.
 
int _snd_pcm_jack_open (snd_pcm_t **pcmp, const char *name, snd_config_t *root, snd_config_t *conf, snd_pcm_stream_t stream, int mode)
 Creates a new Jack PCM (internal)
 

Detailed Description

See the PCM (digital audio) plugins page for more details.

Macro Definition Documentation

◆ SND_PCM_PLUGIN_RATE_MAX

#define SND_PCM_PLUGIN_RATE_MAX   768000

maximal rate for the rate plugin

◆ SND_PCM_PLUGIN_RATE_MIN

#define SND_PCM_PLUGIN_RATE_MIN   4000

minimal rate for the rate plugin

◆ SND_PCM_PLUGIN_ROUTE_FLOAT

#define SND_PCM_PLUGIN_ROUTE_FLOAT   1

use floats for route plugin

◆ SND_PCM_PLUGIN_ROUTE_FULL

#define SND_PCM_PLUGIN_ROUTE_FULL   SND_PCM_PLUGIN_ROUTE_RESOLUTION

full value

◆ SND_PCM_PLUGIN_ROUTE_HALF

#define SND_PCM_PLUGIN_ROUTE_HALF   (SND_PCM_PLUGIN_ROUTE_RESOLUTION / 2)

half value

◆ SND_PCM_PLUGIN_ROUTE_RESOLUTION

#define SND_PCM_PLUGIN_ROUTE_RESOLUTION   16

integer resolution for route plugin

Typedef Documentation

◆ snd_pcm_route_ttable_entry_t

route ttable entry type

Function Documentation

◆ _snd_pcm_adpcm_open()

int _snd_pcm_adpcm_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new Ima-ADPCM conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_alaw_open()

int _snd_pcm_alaw_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new A-Law conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_copy_open()

int _snd_pcm_copy_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new copy PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_hooks_open()

int _snd_pcm_hooks_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new hooks PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with hooks PCM description
streamPCM Stream
modePCM Mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_hw_open()

int _snd_pcm_hw_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new hw PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with hw PCM description
streamPCM Stream
modePCM Mode
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_iec958_open()

int _snd_pcm_iec958_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new IEC958 subframe conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_jack_open()

int _snd_pcm_jack_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new Jack PCM (internal)

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration for this PCM
streamStream direction
modePCM open mode
Return values
zeroon success otherwise a negative error code
Warning
alsa-lib must be compiled against the JACK library for this plugin to be available

◆ _snd_pcm_ladspa_open()

int _snd_pcm_ladspa_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new LADSPA<->ALSA PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with LADSPA<->ALSA PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_lfloat_open()

int _snd_pcm_lfloat_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new linear<->float conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_linear_open()

int _snd_pcm_linear_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new linear conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_mulaw_open()

int _snd_pcm_mulaw_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new Mu-Law conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with copy PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_rate_open()

int _snd_pcm_rate_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new rate PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with rate PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ _snd_pcm_route_open()

int _snd_pcm_route_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * root,
snd_config_t * conf,
snd_pcm_stream_t stream,
int mode )

Creates a new Route & Volume PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
rootRoot configuration node
confConfiguration node with Route & Volume PCM description
streamStream type
modeStream mode
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_adpcm_open()

int snd_pcm_adpcm_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave )

Creates a new Ima-ADPCM conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_alaw_open()

int snd_pcm_alaw_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave )

Creates a new A-Law conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_copy_open()

int snd_pcm_copy_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_t * slave,
int close_slave )

Creates a new copy PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_hooks_open()

int snd_pcm_hooks_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_t * slave,
int close_slave )

Creates a new hooks PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
slaveSlave PCM
close_slaveIf set, slave PCM handle is closed when hooks PCM is closed
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_hw_open()

int snd_pcm_hw_open ( snd_pcm_t ** pcmp,
const char * name,
int card,
int device,
int subdevice,
snd_pcm_stream_t stream,
int mode,
int mmap_emulation,
int sync_ptr_ioctl )

Creates a new hw PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
cardNumber of card
deviceNumber of device
subdeviceNumber of subdevice
streamPCM Stream
modePCM Mode
mmap_emulationObsoleted parameter
sync_ptr_ioctlUse SYNC_PTR ioctl rather than mmap for control structures
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_iec958_open()

int snd_pcm_iec958_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave,
const unsigned char * status_bits,
const unsigned char * preamble_vals,
int hdmi_mode )

Creates a new IEC958 subframe conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
status_bitsThe IEC958 status bits
preamble_valsThe preamble byte values
hdmi_modeWhen set, enable HDMI compliant formatting
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_jack_open()

int snd_pcm_jack_open ( snd_pcm_t ** pcmp,
const char * name,
snd_config_t * playback_conf,
snd_config_t * capture_conf,
snd_pcm_stream_t stream,
int mode )

Creates a new Jack PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
playback_confPlayback configuration
capture_confCapture configuration
streamStream direction
modePCM open mode
Return values
zeroon success otherwise a negative error code
Warning
alsa-lib must be compiled against the JACK library for this plugin to be available

◆ snd_pcm_ladspa_open()

int snd_pcm_ladspa_open ( snd_pcm_t ** pcmp,
const char * name,
const char * ladspa_path,
unsigned int channels,
snd_config_t * ladspa_pplugins,
snd_config_t * ladspa_cplugins,
snd_pcm_t * slave,
int close_slave )

Creates a new LADSPA<->ALSA Plugin.

Parameters
pcmpReturns created PCM handle
nameName of PCM
ladspa_pathThe path for LADSPA plugins
channelsForce input channel count to LADSPA plugin chain, 0 = no force (auto)
ladspa_ppluginsThe playback configuration
ladspa_cpluginsThe capture configuration
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_lfloat_open()

int snd_pcm_lfloat_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave )

Creates a new linear conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_linear_open()

int snd_pcm_linear_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave )

Creates a new linear conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_mulaw_open()

int snd_pcm_mulaw_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
snd_pcm_t * slave,
int close_slave )

Creates a new Mu-Law conversion PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave (destination) format
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_rate_open()

int snd_pcm_rate_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
unsigned int srate,
const snd_config_t * converter,
snd_pcm_t * slave,
int close_slave )

Creates a new rate PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave format
srateSlave rate
converterSRC type string node
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.

◆ snd_pcm_route_determine_ttable()

int snd_pcm_route_determine_ttable ( snd_config_t * tt,
unsigned int * tt_csize,
unsigned int * tt_ssize )

Determine route matrix sizes.

Parameters
ttConfiguration root describing route matrix
tt_csizeReturned client size in elements
tt_ssizeReturned slave size in elements
Return values
zeroon success otherwise a negative error code

◆ snd_pcm_route_load_ttable()

int snd_pcm_route_load_ttable ( snd_config_t * tt,
snd_pcm_route_ttable_entry_t * ttable,
unsigned int tt_csize,
unsigned int tt_ssize,
unsigned int * tt_cused,
unsigned int * tt_sused,
int schannels )

Load route matrix.

Parameters
ttConfiguration root describing route matrix
ttableReturned route matrix
tt_csizeClient size in elements
tt_ssizeSlave size in elements
tt_cusedUsed client elements
tt_susedUsed slave elements
schannelsSlave channels
Return values
zeroon success otherwise a negative error code

◆ snd_pcm_route_open()

int snd_pcm_route_open ( snd_pcm_t ** pcmp,
const char * name,
snd_pcm_format_t sformat,
int schannels,
snd_pcm_route_ttable_entry_t * ttable,
unsigned int tt_ssize,
unsigned int tt_cused,
unsigned int tt_sused,
snd_pcm_t * slave,
int close_slave )

Creates a new Route & Volume PCM.

Parameters
pcmpReturns created PCM handle
nameName of PCM
sformatSlave format
schannelsSlave channels
ttableAttenuation table
tt_ssizeAttenuation table - slave size
tt_cusedAttenuation table - client used count
tt_susedAttenuation table - slave used count
slaveSlave PCM handle
close_slaveWhen set, the slave PCM handle is closed with copy PCM
Return values
zeroon success otherwise a negative error code
Warning
Using of this function might be dangerous in the sense of compatibility reasons. The prototype might be freely changed in future.