source: roaraudio/libroarpulse/channelmap.c @ 3419:9e791c7ba5c3

Last change on this file since 3419:9e791c7ba5c3 was 3419:9e791c7ba5c3, checked in by phi, 14 years ago

prototypes

File size: 3.1 KB
Line 
1//channelmap.c:
2
3/*
4 *      Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2010
5 *  The code (may) include prototypes and comments (and maybe
6 *  other code fragements) from libpulse*. They are mostly copyrighted by:
7 *  Lennart Poettering <poettering@users.sourceforge.net> and
8 *  Pierre Ossman <drzeus@drzeus.cx>
9 *
10 *  This file is part of libroarpulse a part of RoarAudio,
11 *  a cross-platform sound system for both, home and professional use.
12 *  See README for details.
13 *
14 *  This file is free software; you can redistribute it and/or modify
15 *  it under the terms of the GNU General Public License version 3
16 *  as published by the Free Software Foundation.
17 *
18 *  RoarAudio is distributed in the hope that it will be useful,
19 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
20 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 *  GNU General Public License for more details.
22 *
23 *  You should have received a copy of the GNU General Public License
24 *  along with this software; see the file COPYING.  If not, write to
25 *  the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
26 *
27 *  NOTE for everyone want's to change something and send patches:
28 *  read README and HACKING! There a addition information on
29 *  the license of this document you need to read before you send
30 *  any patches.
31 *
32 *  NOTE for uses of non-GPL (LGPL,...) software using libesd, libartsc
33 *  or libpulse*:
34 *  The libs libroaresd, libroararts and libroarpulse link this libroar
35 *  and are therefore GPL. Because of this it may be illigal to use
36 *  them with any software that uses libesd, libartsc or libpulse*.
37 */
38
39#include <libroarpulse/libroarpulse.h>
40
41/** Initialize the specified channel map and return a pointer to it */
42pa_channel_map* pa_channel_map_init(pa_channel_map *m);
43
44/** Initialize the specified channel map for monoaural audio and return a pointer to it */
45pa_channel_map* pa_channel_map_init_mono(pa_channel_map *m);
46
47/** Initialize the specified channel map for stereophonic audio and return a pointer to it */
48pa_channel_map* pa_channel_map_init_stereo(pa_channel_map *m);
49
50/** Initialize the specified channel map for the specified number
51 * of channels using default labels and return a pointer to it. */
52pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, pa_channel_map_def_t def);
53
54/** Return a text label for the specified channel position */
55const char* pa_channel_position_to_string(pa_channel_position_t pos);
56
57/** The maximum length of strings returned by pa_channel_map_snprint() */
58#define PA_CHANNEL_MAP_SNPRINT_MAX 336
59
60/** Make a humand readable string from the specified channel map */
61char* pa_channel_map_snprint(char *s, size_t l, const pa_channel_map *map);
62
63/** Parse a channel position list into a channel map structure. \since 0.8.1 */
64pa_channel_map *pa_channel_map_parse(pa_channel_map *map, const char *s);
65
66/** Compare two channel maps. Return 1 if both match. */
67int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b);
68
69/** Return non-zero of the specified channel map is considered valid */
70int pa_channel_map_valid(const pa_channel_map *map);
71
72//ll
Note: See TracBrowser for help on using the repository browser.