diff options
author | David Henningsson <david.henningsson@canonical.com> | 2012-02-23 07:17:02 +0100 |
---|---|---|
committer | Arun Raghavan <arun.raghavan@collabora.co.uk> | 2012-03-11 12:23:46 +0530 |
commit | dedf1340c611c3d9b17a08e0ee18ae22afac623c (patch) | |
tree | 3a3d53638115b32a5e7155fb55cbe6e34e8046e8 /src/modules/alsa/alsa-util.h | |
parent | 74e01ad6164060ac1dc9aa98239b2d435f2d4bda (diff) |
alsa: Jack detection kcontrol implementation
Support the new jack detection interface implemented in Linux 3.3
(and Ubuntu's 3.2 kernel).
Jacks are probed and detected using the snd_hctl_* commands, which
means we need to listen to them using fdlists. As this detection
needs to be active even if there is currently no sink for the jack,
so this polling is done on the card level.
Also add configuration support in paths, like this:
[Jack Headphone]
required-any = any
...where 'Jack Headphone' should match 'Headphone Jack' as given by
ALSA (as seen in e g 'amixer controls').
"Required", "required-any" and "required-absent" is supported. Using
required-any, one can have several ports even though there is no
other indication in the mixer that this path exists.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Diffstat (limited to 'src/modules/alsa/alsa-util.h')
-rw-r--r-- | src/modules/alsa/alsa-util.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h index f8d05183..a4beed2b 100644 --- a/src/modules/alsa/alsa-util.h +++ b/src/modules/alsa/alsa-util.h @@ -142,4 +142,8 @@ const char* pa_alsa_strerror(int errnum); pa_bool_t pa_alsa_may_tsched(pa_bool_t want); +snd_hctl_elem_t* pa_alsa_find_jack(snd_hctl_t *hctl, const char* jack_name); + +snd_mixer_t *pa_alsa_open_mixer(int alsa_card_index, char **ctl_device, snd_hctl_t **hctl); + #endif |