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 foodiscoverfoo
21 #define foodiscoverfoo
23 #include <sys/types.h>
29 #define PA_BIT(a) (1UL << (a))
40 pa_form_factor_unknown,
59 * cirteria for filtering sinks and sources
61 unsigned chmin; /**< minimum of max channels */
62 unsigned chmax; /**< maximum of max channels */
63 pa_bool_t selected; /**< for alsa cards: whether to consider the
64 selected profile alone.
65 for bluetooth cards: no effect */
73 struct pa_discover *pa_discover_init(struct userdata *);
74 void pa_discover_done(struct userdata *);
76 void pa_discover_domain_up(struct userdata *);
77 void pa_discover_domain_down(struct userdata *);
79 void pa_discover_add_card(struct userdata *, pa_card *);
80 void pa_discover_remove_card(struct userdata *, pa_card *);
81 void pa_discover_profile_changed(struct userdata *, pa_card *);
83 void pa_discover_add_sink(struct userdata *, pa_sink *, pa_bool_t);
84 void pa_discover_remove_sink(struct userdata *, pa_sink *);
86 void pa_discover_add_source(struct userdata *, pa_source *);
87 void pa_discover_remove_source(struct userdata *, pa_source *);
89 void pa_discover_register_sink_input(struct userdata *, pa_sink_input *);
90 void pa_discover_preroute_sink_input(struct userdata *,
91 pa_sink_input_new_data *);
92 void pa_discover_add_sink_input(struct userdata *, pa_sink_input *);
93 void pa_discover_remove_sink_input(struct userdata *, pa_sink_input *);
96 mir_node *pa_discover_find_node_by_key(struct userdata *, const char *);
97 mir_node *pa_discover_find_node_by_ptr(struct userdata *, void *);
105 * indent-tabs-mode: nil