summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa-util.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-11-13 17:37:44 +0000
committerLennart Poettering <lennart@poettering.net>2007-11-13 17:37:44 +0000
commitd17bb53d3ebfbd7046719400264bd87830c140d8 (patch)
tree1109700c79559f391d0edfb2f9db82252f5010f4 /src/modules/alsa-util.h
parentf7528825257d5d4b056268da3c82181f520a8ff6 (diff)
Completely rework ALSA device selection code: choose the device to open depending on the requested number of channels and channel map. In most cases it will now suffice to set default-channels=6 to enable 5.1 sound for all devices that support it
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2050 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/alsa-util.h')
-rw-r--r--src/modules/alsa-util.h29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/modules/alsa-util.h b/src/modules/alsa-util.h
index 6f1f927e..36720b03 100644
--- a/src/modules/alsa-util.h
+++ b/src/modules/alsa-util.h
@@ -38,10 +38,37 @@ struct pa_alsa_fdlist *pa_alsa_fdlist_new(void);
void pa_alsa_fdlist_free(struct pa_alsa_fdlist *fdl);
int pa_alsa_fdlist_set_mixer(struct pa_alsa_fdlist *fdl, snd_mixer_t *mixer_handle, pa_mainloop_api* m);
-int pa_alsa_set_hw_params(snd_pcm_t *pcm_handle, pa_sample_spec *ss, uint32_t *periods, snd_pcm_uframes_t *period_size, int *use_mmap);
+int pa_alsa_set_hw_params(
+ snd_pcm_t *pcm_handle,
+ pa_sample_spec *ss,
+ uint32_t *periods,
+ snd_pcm_uframes_t *period_size,
+ pa_bool_t *use_mmap,
+ pa_bool_t require_exact_channel_number);
+
int pa_alsa_set_sw_params(snd_pcm_t *pcm);
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);
+snd_pcm_t *pa_alsa_open_by_device_id(
+ 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,
+ pa_bool_t *use_mmap);
+
+snd_pcm_t *pa_alsa_open_by_device_string(
+ const char *device,
+ char **dev,
+ pa_sample_spec *ss,
+ pa_channel_map* map,
+ int mode,
+ uint32_t *nfrags,
+ snd_pcm_uframes_t *period_size,
+ pa_bool_t *use_mmap);
+
#endif