From b88b89a676da1238972886f54780af62262a0043 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 20 Jan 2009 21:36:57 +0100 Subject: add new call pa_alsa_open_by_device_id_profile() --- src/modules/alsa/alsa-util.h | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) (limited to 'src/modules/alsa/alsa-util.h') diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h index 59656252..18b04028 100644 --- a/src/modules/alsa/alsa-util.h +++ b/src/modules/alsa/alsa-util.h @@ -54,7 +54,16 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min); int pa_alsa_prepare_mixer(snd_mixer_t *mixer, const char *dev); snd_mixer_elem_t *pa_alsa_find_elem(snd_mixer_t *mixer, const char *name, const char *fallback, pa_bool_t playback); -snd_pcm_t *pa_alsa_open_by_device_id( +typedef struct pa_alsa_profile_info { + pa_channel_map map; + const char *alsa_name; + const char *description; + const char *name; + unsigned priority; +} pa_alsa_profile_info; + +/* Picks a working profile based on the specified ss/map */ +snd_pcm_t *pa_alsa_open_by_device_id_auto( const char *dev_id, char **dev, pa_sample_spec *ss, @@ -65,9 +74,23 @@ snd_pcm_t *pa_alsa_open_by_device_id( snd_pcm_uframes_t tsched_size, pa_bool_t *use_mmap, pa_bool_t *use_tsched, - const char **config_name, - const char **config_description); + const pa_alsa_profile_info **profile); +/* Uses the specified profile */ +snd_pcm_t *pa_alsa_open_by_device_id_profile( + const char *dev_id, + char **dev, + pa_sample_spec *ss, + pa_channel_map* map, + int mode, + uint32_t *nfrags, + snd_pcm_uframes_t *period_size, + snd_pcm_uframes_t tsched_size, + pa_bool_t *use_mmap, + pa_bool_t *use_tsched, + const pa_alsa_profile_info *profile); + +/* Opens the explicit ALSA device */ snd_pcm_t *pa_alsa_open_by_device_string( const char *device, char **dev, @@ -81,14 +104,6 @@ snd_pcm_t *pa_alsa_open_by_device_string( pa_bool_t *use_tsched, pa_bool_t require_exact_channel_number); -typedef struct pa_alsa_profile_info { - pa_channel_map map; - const char *alsa_name; - const char *description; - const char *name; - unsigned priority; -} pa_alsa_profile_info; - int pa_alsa_probe_profiles( const char *dev_id, const pa_sample_spec *ss, -- cgit