mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
alsa: store mixer controls to use in profile data
This allows us to easily use different mixer controls for analog and spdif output.
This commit is contained in:
parent
89f74cb858
commit
6fd8fd18c2
4 changed files with 48 additions and 19 deletions
|
|
@ -53,18 +53,20 @@ int pa_alsa_set_hw_params(
|
|||
|
||||
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);
|
||||
int pa_alsa_find_mixer_and_elem(snd_pcm_t *pcm, snd_mixer_t **_m, snd_mixer_elem_t **_e, const char *control_name);
|
||||
|
||||
typedef struct pa_alsa_profile_info {
|
||||
pa_channel_map map;
|
||||
const char *alsa_name;
|
||||
const char *description; /* internationalized */
|
||||
const char *name;
|
||||
unsigned priority;
|
||||
const char *playback_control_name, *playback_control_fallback;
|
||||
const char *record_control_name, *record_control_fallback;
|
||||
} pa_alsa_profile_info;
|
||||
|
||||
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);
|
||||
int pa_alsa_find_mixer_and_elem(snd_pcm_t *pcm, snd_mixer_t **_m, snd_mixer_elem_t **_e, const char *control_name, const pa_alsa_profile_info*profile);
|
||||
|
||||
/* Picks a working profile based on the specified ss/map */
|
||||
snd_pcm_t *pa_alsa_open_by_device_id_auto(
|
||||
const char *dev_id,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue