diff options
author | David Henningsson <david.henningsson@canonical.com> | 2010-12-20 12:29:27 +0100 |
---|---|---|
committer | Colin Guthrie <cguthrie@mandriva.org> | 2011-02-25 15:48:11 +0000 |
commit | b0f72311cf49e25ea05279e3a978bb4db54dd332 (patch) | |
tree | 47c3bf5ad3d407da249a59776ead0784ad099cc9 /src/modules/alsa/alsa-mixer.h | |
parent | 0ce3017b7407ab1c4094f7ce271bb68319a7eba7 (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.h | 8 |
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; |