]>
code.delx.au - pulseaudio/blob - src/pulsecore/card.h
1 #ifndef foopulsecardhfoo
2 #define foopulsecardhfoo
5 This file is part of PulseAudio.
7 Copyright 2009 Lennart Poettering
9 PulseAudio is free software; you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as published
11 by the Free Software Foundation; either version 2 of the License,
12 or (at your option) any later version.
14 PulseAudio is distributed in the hope that it will be useful, but
15 WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 General Public License for more details.
19 You should have received a copy of the GNU Lesser General Public License
20 along with PulseAudio; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
25 typedef struct pa_card pa_card
;
27 #include <pulse/proplist.h>
28 #include <pulsecore/core.h>
29 #include <pulsecore/module.h>
30 #include <pulsecore/idxset.h>
32 typedef struct pa_card_profile
{
35 pa_bool_t optical_sink
:1;
36 pa_bool_t optical_source
:1;
41 unsigned max_sink_channels
;
42 unsigned max_source_channels
;
51 pa_proplist
*proplist
;
59 pa_card_profile
*active_profile
;
63 int (*set_profile
)(pa_card
*c
, pa_card_profile
*profile
);
66 typedef struct pa_card_new_data
{
69 pa_proplist
*proplist
;
74 pa_card_profile
*active_profile
;
76 pa_bool_t namereg_fail
:1;
79 pa_card_profile
*pa_card_profile_new(const char *name
);
80 void pa_card_profile_free(pa_card_profile
*c
);
82 pa_card_new_data
*pa_card_new_data_init(pa_card_new_data
*data
);
83 void pa_card_new_data_set_name(pa_card_new_data
*data
, const char *name
);
84 void pa_card_new_data_done(pa_card_new_data
*data
);
86 pa_card
*pa_card_new(pa_core
*c
, pa_card_new_data
*data
);
87 void pa_card_free(pa_card
*c
);
89 int pa_card_set_profile(pa_card
*c
, const char *name
);