ALSA project - the C library reference
Macros | Functions
pcm_route.c File Reference

PCM Route & Volume Plugin Interface. More...

Include dependency graph for pcm_route.c:

Macros

#define MAX_CHMAP_CHANNELS   256
 

Functions

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. More...
 
int snd_pcm_route_determine_ttable (snd_config_t *tt, unsigned int *tt_csize, unsigned int *tt_ssize)
 Determine route matrix sizes. More...
 
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. More...
 
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. More...
 

Detailed Description

PCM Route & Volume Plugin Interface.

Author
Abramo Bagnara abram.nosp@m.o@al.nosp@m.sa-pr.nosp@m.ojec.nosp@m.t.org
Date
2000-2001

Function Documentation

◆ _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_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.