channelmap.h File Reference

Constants and routines for channel mapping handling. More...

Go to the source code of this file.

Data Structures

struct  pa_channel_map
 A channel map which can be used to attach labels to specific channels of a stream. More...

Defines

#define PA_CHANNEL_MAP_SNPRINT_MAX   336
 The maximum length of strings returned by pa_channel_map_snprint().

Typedefs

typedef enum pa_channel_position pa_channel_position_t
 A list of channel labels.
typedef enum pa_channel_map_def pa_channel_map_def_t
 A list of channel mapping definitions for pa_channel_map_init_auto().

Enumerations

enum  pa_channel_position {
  PA_CHANNEL_POSITION_INVALID = -1,
  PA_CHANNEL_POSITION_MONO = 0,
  PA_CHANNEL_POSITION_LEFT,
  PA_CHANNEL_POSITION_RIGHT,
  PA_CHANNEL_POSITION_CENTER,
  PA_CHANNEL_POSITION_FRONT_LEFT = PA_CHANNEL_POSITION_LEFT,
  PA_CHANNEL_POSITION_FRONT_RIGHT = PA_CHANNEL_POSITION_RIGHT,
  PA_CHANNEL_POSITION_FRONT_CENTER = PA_CHANNEL_POSITION_CENTER,
  PA_CHANNEL_POSITION_REAR_CENTER,
  PA_CHANNEL_POSITION_REAR_LEFT,
  PA_CHANNEL_POSITION_REAR_RIGHT,
  PA_CHANNEL_POSITION_LFE,
  PA_CHANNEL_POSITION_SUBWOOFER = PA_CHANNEL_POSITION_LFE,
  PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
  PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
  PA_CHANNEL_POSITION_SIDE_LEFT,
  PA_CHANNEL_POSITION_SIDE_RIGHT,
  PA_CHANNEL_POSITION_AUX0,
  PA_CHANNEL_POSITION_AUX1,
  PA_CHANNEL_POSITION_AUX2,
  PA_CHANNEL_POSITION_AUX3,
  PA_CHANNEL_POSITION_AUX4,
  PA_CHANNEL_POSITION_AUX5,
  PA_CHANNEL_POSITION_AUX6,
  PA_CHANNEL_POSITION_AUX7,
  PA_CHANNEL_POSITION_AUX8,
  PA_CHANNEL_POSITION_AUX9,
  PA_CHANNEL_POSITION_AUX10,
  PA_CHANNEL_POSITION_AUX11,
  PA_CHANNEL_POSITION_AUX12,
  PA_CHANNEL_POSITION_AUX13,
  PA_CHANNEL_POSITION_AUX14,
  PA_CHANNEL_POSITION_AUX15,
  PA_CHANNEL_POSITION_AUX16,
  PA_CHANNEL_POSITION_AUX17,
  PA_CHANNEL_POSITION_AUX18,
  PA_CHANNEL_POSITION_AUX19,
  PA_CHANNEL_POSITION_AUX20,
  PA_CHANNEL_POSITION_AUX21,
  PA_CHANNEL_POSITION_AUX22,
  PA_CHANNEL_POSITION_AUX23,
  PA_CHANNEL_POSITION_AUX24,
  PA_CHANNEL_POSITION_AUX25,
  PA_CHANNEL_POSITION_AUX26,
  PA_CHANNEL_POSITION_AUX27,
  PA_CHANNEL_POSITION_AUX28,
  PA_CHANNEL_POSITION_AUX29,
  PA_CHANNEL_POSITION_AUX30,
  PA_CHANNEL_POSITION_AUX31,
  PA_CHANNEL_POSITION_TOP_CENTER,
  PA_CHANNEL_POSITION_TOP_FRONT_LEFT,
  PA_CHANNEL_POSITION_TOP_FRONT_RIGHT,
  PA_CHANNEL_POSITION_TOP_FRONT_CENTER,
  PA_CHANNEL_POSITION_TOP_REAR_LEFT,
  PA_CHANNEL_POSITION_TOP_REAR_RIGHT,
  PA_CHANNEL_POSITION_TOP_REAR_CENTER,
  PA_CHANNEL_POSITION_MAX
}
 A list of channel labels. More...
enum  pa_channel_map_def {
  PA_CHANNEL_MAP_AIFF,
  PA_CHANNEL_MAP_ALSA,
  PA_CHANNEL_MAP_AUX,
  PA_CHANNEL_MAP_WAVEEX,
  PA_CHANNEL_MAP_OSS,
  PA_CHANNEL_MAP_DEF_MAX,
  PA_CHANNEL_MAP_DEFAULT = PA_CHANNEL_MAP_AIFF
}
 A list of channel mapping definitions for pa_channel_map_init_auto(). More...

Functions

pa_channel_mappa_channel_map_init (pa_channel_map *m)
 Initialize the specified channel map and return a pointer to it.
pa_channel_mappa_channel_map_init_mono (pa_channel_map *m)
 Initialize the specified channel map for monaural audio and return a pointer to it.
pa_channel_mappa_channel_map_init_stereo (pa_channel_map *m)
 Initialize the specified channel map for stereophonic audio and return a pointer to it.
pa_channel_mappa_channel_map_init_auto (pa_channel_map *m, unsigned channels, pa_channel_map_def_t def)
 Initialize the specified channel map for the specified number of channels using default labels and return a pointer to it.
pa_channel_mappa_channel_map_init_extend (pa_channel_map *m, unsigned channels, pa_channel_map_def_t def)
 Similar to pa_channel_map_init_auto() but instead of failing if no default mapping is known with the specified parameters it will synthesize a mapping based on a known mapping with fewer channels and fill up the rest with AUX0.
const char * pa_channel_position_to_string (pa_channel_position_t pos) PA_GCC_PURE
 Return a text label for the specified channel position.
const char * pa_channel_position_to_pretty_string (pa_channel_position_t pos)
 Return a human readable text label for the specified channel position.
char * pa_channel_map_snprint (char *s, size_t l, const pa_channel_map *map)
 Make a human readable string from the specified channel map.
pa_channel_mappa_channel_map_parse (pa_channel_map *map, const char *s)
 Parse a channel position list or well-known mapping name into a channel map structure.
int pa_channel_map_equal (const pa_channel_map *a, const pa_channel_map *b) PA_GCC_PURE
 Compare two channel maps.
int pa_channel_map_valid (const pa_channel_map *map) PA_GCC_PURE
 Return non-zero if the specified channel map is considered valid.
int pa_channel_map_compatible (const pa_channel_map *map, const pa_sample_spec *ss) PA_GCC_PURE
 Return non-zero if the specified channel map is compatible with the specified sample spec.
int pa_channel_map_superset (const pa_channel_map *a, const pa_channel_map *b) PA_GCC_PURE
 Returns non-zero if every channel defined in b is also defined in a.
int pa_channel_map_can_balance (const pa_channel_map *map) PA_GCC_PURE
 Returns non-zero if it makes sense to apply a volume 'balance' with this mapping, i.e.
int pa_channel_map_can_fade (const pa_channel_map *map) PA_GCC_PURE
 Returns non-zero if it makes sense to apply a volume 'fade' (i.e.
const char * pa_channel_map_to_name (const pa_channel_map *map) PA_GCC_PURE
 Tries to find a well-known channel mapping name for this channel mapping.
const char * pa_channel_map_to_pretty_name (const pa_channel_map *map) PA_GCC_PURE
 Tries to find a human readable text label for this channel mapping.


Detailed Description

Constants and routines for channel mapping handling.


Define Documentation

#define PA_CHANNEL_MAP_SNPRINT_MAX   336

The maximum length of strings returned by pa_channel_map_snprint().

Please note that this value can change with any release without warning and without being considered API or ABI breakage. You should not use this definition anywhere where it might become part of an ABI.

Examples:
pacat.c.


Typedef Documentation

A list of channel mapping definitions for pa_channel_map_init_auto().

A list of channel labels.


Enumeration Type Documentation

A list of channel mapping definitions for pa_channel_map_init_auto().

Enumerator:
PA_CHANNEL_MAP_AIFF  The mapping from RFC3551, which is based on AIFF-C.
PA_CHANNEL_MAP_ALSA  The default mapping used by ALSA.
PA_CHANNEL_MAP_AUX  Only aux channels.
PA_CHANNEL_MAP_WAVEEX  Microsoft's WAVEFORMATEXTENSIBLE mapping.
PA_CHANNEL_MAP_OSS  The default channel mapping used by OSS as defined in the OSS 4.0 API specs.

Upper limit of valid channel mapping definitions

PA_CHANNEL_MAP_DEF_MAX 
PA_CHANNEL_MAP_DEFAULT  The default channel map.

A list of channel labels.

Enumerator:
PA_CHANNEL_POSITION_INVALID 
PA_CHANNEL_POSITION_MONO 
PA_CHANNEL_POSITION_LEFT 
PA_CHANNEL_POSITION_RIGHT 
PA_CHANNEL_POSITION_CENTER 
PA_CHANNEL_POSITION_FRONT_LEFT 
PA_CHANNEL_POSITION_FRONT_RIGHT 
PA_CHANNEL_POSITION_FRONT_CENTER 
PA_CHANNEL_POSITION_REAR_CENTER 
PA_CHANNEL_POSITION_REAR_LEFT 
PA_CHANNEL_POSITION_REAR_RIGHT 
PA_CHANNEL_POSITION_LFE 
PA_CHANNEL_POSITION_SUBWOOFER 
PA_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER 
PA_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER 
PA_CHANNEL_POSITION_SIDE_LEFT 
PA_CHANNEL_POSITION_SIDE_RIGHT 
PA_CHANNEL_POSITION_AUX0 
PA_CHANNEL_POSITION_AUX1 
PA_CHANNEL_POSITION_AUX2 
PA_CHANNEL_POSITION_AUX3 
PA_CHANNEL_POSITION_AUX4 
PA_CHANNEL_POSITION_AUX5 
PA_CHANNEL_POSITION_AUX6 
PA_CHANNEL_POSITION_AUX7 
PA_CHANNEL_POSITION_AUX8 
PA_CHANNEL_POSITION_AUX9 
PA_CHANNEL_POSITION_AUX10 
PA_CHANNEL_POSITION_AUX11 
PA_CHANNEL_POSITION_AUX12 
PA_CHANNEL_POSITION_AUX13 
PA_CHANNEL_POSITION_AUX14 
PA_CHANNEL_POSITION_AUX15 
PA_CHANNEL_POSITION_AUX16 
PA_CHANNEL_POSITION_AUX17 
PA_CHANNEL_POSITION_AUX18 
PA_CHANNEL_POSITION_AUX19 
PA_CHANNEL_POSITION_AUX20 
PA_CHANNEL_POSITION_AUX21 
PA_CHANNEL_POSITION_AUX22 
PA_CHANNEL_POSITION_AUX23 
PA_CHANNEL_POSITION_AUX24 
PA_CHANNEL_POSITION_AUX25 
PA_CHANNEL_POSITION_AUX26 
PA_CHANNEL_POSITION_AUX27 
PA_CHANNEL_POSITION_AUX28 
PA_CHANNEL_POSITION_AUX29 
PA_CHANNEL_POSITION_AUX30 
PA_CHANNEL_POSITION_AUX31 
PA_CHANNEL_POSITION_TOP_CENTER 
PA_CHANNEL_POSITION_TOP_FRONT_LEFT 
PA_CHANNEL_POSITION_TOP_FRONT_RIGHT 
PA_CHANNEL_POSITION_TOP_FRONT_CENTER 
PA_CHANNEL_POSITION_TOP_REAR_LEFT 
PA_CHANNEL_POSITION_TOP_REAR_RIGHT 
PA_CHANNEL_POSITION_TOP_REAR_CENTER 
PA_CHANNEL_POSITION_MAX 


Function Documentation

int pa_channel_map_can_balance ( const pa_channel_map map  ) 

Returns non-zero if it makes sense to apply a volume 'balance' with this mapping, i.e.

if there are left/right channels available.

Since:
0.9.15

int pa_channel_map_can_fade ( const pa_channel_map map  ) 

Returns non-zero if it makes sense to apply a volume 'fade' (i.e.

'balance' between front and rear) with this mapping, i.e. if there are front/rear channels available.

Since:
0.9.15

int pa_channel_map_compatible ( const pa_channel_map map,
const pa_sample_spec ss 
)

Return non-zero if the specified channel map is compatible with the specified sample spec.

Since:
0.9.12
Examples:
pacat.c.

int pa_channel_map_equal ( const pa_channel_map a,
const pa_channel_map b 
)

Compare two channel maps.

Return 1 if both match.

pa_channel_map* pa_channel_map_init ( pa_channel_map m  ) 

Initialize the specified channel map and return a pointer to it.

The channel map will have a defined state but pa_channel_map_valid() will fail for it.

pa_channel_map* pa_channel_map_init_auto ( pa_channel_map m,
unsigned  channels,
pa_channel_map_def_t  def 
)

Initialize the specified channel map for the specified number of channels using default labels and return a pointer to it.

This call will fail (return NULL) if there is no default channel map known for this specific number of channels and mapping.

pa_channel_map* pa_channel_map_init_extend ( pa_channel_map m,
unsigned  channels,
pa_channel_map_def_t  def 
)

Similar to pa_channel_map_init_auto() but instead of failing if no default mapping is known with the specified parameters it will synthesize a mapping based on a known mapping with fewer channels and fill up the rest with AUX0.

..AUX31 channels

Since:
0.9.11

pa_channel_map* pa_channel_map_init_mono ( pa_channel_map m  ) 

Initialize the specified channel map for monaural audio and return a pointer to it.

pa_channel_map* pa_channel_map_init_stereo ( pa_channel_map m  ) 

Initialize the specified channel map for stereophonic audio and return a pointer to it.

pa_channel_map* pa_channel_map_parse ( pa_channel_map map,
const char *  s 
)

Parse a channel position list or well-known mapping name into a channel map structure.

This turns the output of pa_channel_map_snprint() and pa_channel_map_to_name() back into a pa_channel_map

Examples:
pacat.c, and paplay.c.

char* pa_channel_map_snprint ( char *  s,
size_t  l,
const pa_channel_map map 
)

Make a human readable string from the specified channel map.

Examples:
pacat.c.

int pa_channel_map_superset ( const pa_channel_map a,
const pa_channel_map b 
)

Returns non-zero if every channel defined in b is also defined in a.

Since:
0.9.15

const char* pa_channel_map_to_name ( const pa_channel_map map  ) 

Tries to find a well-known channel mapping name for this channel mapping.

I.e. "stereo", "surround-71" and so on. If the channel mapping is unknown NULL will be returned. This name can be parsed with pa_channel_map_parse()

Since:
0.9.15

const char* pa_channel_map_to_pretty_name ( const pa_channel_map map  ) 

Tries to find a human readable text label for this channel mapping.

I.e. "Stereo", "Surround 7.1" and so on. If the channel mapping is unknown NULL will be returned.

Since:
0.9.15

int pa_channel_map_valid ( const pa_channel_map map  ) 

Return non-zero if the specified channel map is considered valid.

const char* pa_channel_position_to_pretty_string ( pa_channel_position_t  pos  ) 

Return a human readable text label for the specified channel position.

Since:
0.9.7

const char* pa_channel_position_to_string ( pa_channel_position_t  pos  ) 

Return a text label for the specified channel position.


Generated on Mon Jun 14 16:31:37 2010 for PulseAudio by  doxygen 1.5.6