summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa/alsa-mixer.h
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2010-12-20 12:29:27 +0100
committerColin Guthrie <cguthrie@mandriva.org>2011-02-25 15:48:11 +0000
commitb0f72311cf49e25ea05279e3a978bb4db54dd332 (patch)
tree47c3bf5ad3d407da249a59776ead0784ad099cc9 /src/modules/alsa/alsa-mixer.h
parent0ce3017b7407ab1c4094f7ce271bb68319a7eba7 (diff)
alsa-mixer: add required-any and required-* for enum options
Now you can add required-any to elements in a path and the path will be valid as long as at least one of the elements are present. Also you can have required, required-any and required-absent in element options, causing a path to be unsupported if an option is (not) present (simplified example: to skip line in path if "Capture source" doesn't have a "Line In" option). Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Diffstat (limited to 'src/modules/alsa/alsa-mixer.h')
-rw-r--r--src/modules/alsa/alsa-mixer.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-mixer.h b/src/modules/alsa/alsa-mixer.h
index 7fb408a6..0fcfc0a4 100644
--- a/src/modules/alsa/alsa-mixer.h
+++ b/src/modules/alsa/alsa-mixer.h
@@ -112,6 +112,10 @@ struct pa_alsa_option {
char *name;
char *description;
unsigned priority;
+
+ pa_alsa_required_t required;
+ pa_alsa_required_t required_any;
+ pa_alsa_required_t required_absent;
};
/* And element wraps one specific ALSA element. A series of elements *
@@ -129,6 +133,7 @@ struct pa_alsa_element {
pa_alsa_enumeration_use_t enumeration_use;
pa_alsa_required_t required;
+ pa_alsa_required_t required_any;
pa_alsa_required_t required_absent;
pa_bool_t override_map:1;
@@ -164,6 +169,9 @@ struct pa_alsa_path {
pa_bool_t has_mute:1;
pa_bool_t has_volume:1;
pa_bool_t has_dB:1;
+ /* These two are used during probing only */
+ pa_bool_t has_req_any:1;
+ pa_bool_t req_any_present:1;
long min_volume, max_volume;
double min_dB, max_dB;