# /builddir/build/BUILD/alsa-lib-1.1.0/src/pcm/pcm_route.c File Reference

PCM Route & Volume Plugin Interface. More...

## Defines

#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 <abramo@alsa-project.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:

  | pcmp | Returns created PCM handle
  | name | Name of PCM
  | root | Root configuration node
  | conf | Configuration node with Route & Volume PCM description
  | stream | Stream type
  | mode | Stream mode

Return values:

  | zero | on 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:

  | tt | Configuration root describing route matrix
  | tt_csize | Returned client size in elements
  | tt_ssize | Returned slave size in elements

Return values:

  | zero | on 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:

  | tt | Configuration root describing route matrix
  | ttable | Returned route matrix
  | tt_csize | Client size in elements
  | tt_ssize | Slave size in elements
  | tt_cused | Used client elements
  | tt_sused | Used slave elements
  | schannels | Slave channels

Return values:

  | zero | on 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:

  | pcmp | Returns created PCM handle
  | name | Name of PCM
  | sformat | Slave format
  | schannels | Slave channels
  | ttable | Attenuation table
  | tt_ssize | Attenuation table - slave size
  | tt_cused | Attenuation table - client used count
  | tt_sused | Attenuation table - slave used count
  | slave | Slave PCM handle
  | close_slave | When set, the slave PCM handle is closed with copy PCM

Return values:

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

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines