ALSA project - the C library reference
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
pcm_route.c File Reference

PCM Route & Volume Plugin Interface. More...

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

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

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