2 * module-murphy-ivi -- PulseAudio module for providing audio routing support
3 * Copyright (c) 2012, Intel Corporation.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU Lesser General Public License,
7 * version 2.1, as published by the Free Software Foundation.
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.
12 * See the GNU Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with this program; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston,
20 #ifndef foouserdatafoo
21 #define foouserdatafoo
24 #include <pulsecore/core.h>
26 #include "multiplex.h"
29 #define DIM(a) (sizeof(a)/sizeof((a)[0]))
31 #define PA_PROP_ROUTING_CLASS_NAME "routing.class.name"
32 #define PA_PROP_ROUTING_CLASS_ID "routing.class.id"
33 #define PA_PROP_ROUTING_METHOD "routing.method"
34 #define PA_PROP_ROUTING_TABLE "routing.table"
35 #define PA_PROP_NODE_INDEX "node.index"
37 #define PA_ROUTING_DEFAULT "default"
38 #define PA_ROUTING_EXPLICIT "explicit"
40 typedef struct pa_card pa_card;
41 typedef struct pa_sink pa_sink;
43 typedef struct pa_null_sink pa_null_sink;
44 typedef struct pa_tracker pa_tracker;
45 typedef struct pa_audiomgr pa_audiomgr;
46 typedef struct pa_routerif pa_routerif;
47 typedef struct pa_discover pa_discover;
48 typedef struct pa_router pa_router;
49 typedef struct pa_constrain pa_constrain;
50 typedef struct pa_mir_volume pa_mir_volume;
51 typedef struct pa_mir_config pa_mir_config;
52 typedef struct pa_nodeset pa_nodeset;
53 typedef struct pa_node_card pa_node_card;
54 typedef struct pa_card_hooks pa_card_hooks;
55 typedef struct pa_port_hooks pa_port_hooks;
56 typedef struct pa_sink_hooks pa_sink_hooks;
57 typedef struct pa_source_hooks pa_source_hooks;
58 typedef struct pa_sink_input_hooks pa_sink_input_hooks;
59 typedef struct pa_source_output_hooks pa_source_output_hooks;
62 typedef enum mir_direction mir_direction;
63 typedef enum mir_implement mir_implement;
64 typedef enum mir_location mir_location;
65 typedef enum mir_node_type mir_node_type;
66 typedef enum mir_privacy mir_privacy;
67 typedef struct mir_node mir_node;
68 typedef struct mir_rtgroup mir_rtgroup;
69 typedef struct mir_rtentry mir_rtentry;
70 typedef struct mir_connection mir_connection;
71 typedef struct mir_constr_link mir_constr_link;
72 typedef struct mir_constr_def mir_constr_def;
73 typedef struct mir_vlim mir_vlim;
74 typedef struct mir_volume_suppress_arg mir_volume_suppress_arg;
76 typedef enum am_method am_method;
77 typedef struct am_domainreg_data am_domainreg_data;
78 typedef struct am_nodereg_data am_nodereg_data;
79 typedef struct am_nodeunreg_data am_nodeunreg_data;
80 typedef struct am_ack_data am_ack_data;
81 typedef struct am_connect_data am_connect_data;
86 char *profile; /**< During profile change it contains the new profile
87 name. Otherwise it is NULL. When sink tracking
88 hooks called the card's active_profile still
89 points to the old profile */
98 pa_null_sink *nullsink;
100 pa_audiomgr *audiomgr;
101 pa_routerif *routerif;
102 pa_discover *discover;
105 pa_constrain *constrain;
106 pa_multiplex *multiplex;
107 pa_loopback *loopback;
108 pa_mir_volume *volume;
109 pa_mir_config *config;
118 * indent-tabs-mode: nil