"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/modules/alsa/alsa-mixer.h" between
pulseaudio-14.0.tar.xz and pulseaudio-14.2.tar.xz

About: PulseAudio is a networked sound server (for POSIX OSes), a proxy for your sound applications.

alsa-mixer.h  (pulseaudio-14.0.tar.xz):alsa-mixer.h  (pulseaudio-14.2.tar.xz)
skipping to change at line 53 skipping to change at line 53
typedef struct pa_alsa_path_set pa_alsa_path_set; typedef struct pa_alsa_path_set pa_alsa_path_set;
typedef struct pa_alsa_mapping pa_alsa_mapping; typedef struct pa_alsa_mapping pa_alsa_mapping;
typedef struct pa_alsa_profile pa_alsa_profile; typedef struct pa_alsa_profile pa_alsa_profile;
typedef struct pa_alsa_decibel_fix pa_alsa_decibel_fix; typedef struct pa_alsa_decibel_fix pa_alsa_decibel_fix;
typedef struct pa_alsa_profile_set pa_alsa_profile_set; typedef struct pa_alsa_profile_set pa_alsa_profile_set;
typedef struct pa_alsa_port_data pa_alsa_port_data; typedef struct pa_alsa_port_data pa_alsa_port_data;
#include "alsa-util.h" #include "alsa-util.h"
#include "alsa-ucm.h" #include "alsa-ucm.h"
#define POSITION_MASK_CHANNELS 8
typedef enum pa_alsa_switch_use { typedef enum pa_alsa_switch_use {
PA_ALSA_SWITCH_IGNORE, PA_ALSA_SWITCH_IGNORE,
PA_ALSA_SWITCH_MUTE, /* make this switch follow mute status */ PA_ALSA_SWITCH_MUTE, /* make this switch follow mute status */
PA_ALSA_SWITCH_OFF, /* set this switch to 'off' unconditionally */ PA_ALSA_SWITCH_OFF, /* set this switch to 'off' unconditionally */
PA_ALSA_SWITCH_ON, /* set this switch to 'on' unconditionally */ PA_ALSA_SWITCH_ON, /* set this switch to 'on' unconditionally */
PA_ALSA_SWITCH_SELECT /* allow the user to select switch status through a s etting */ PA_ALSA_SWITCH_SELECT /* allow the user to select switch status through a s etting */
} pa_alsa_switch_use_t; } pa_alsa_switch_use_t;
typedef enum pa_alsa_volume_use { typedef enum pa_alsa_volume_use {
PA_ALSA_VOLUME_IGNORE, PA_ALSA_VOLUME_IGNORE,
skipping to change at line 116 skipping to change at line 118
pa_alsa_fdlist *fdl; pa_alsa_fdlist *fdl;
bool used_for_probe_only:1; bool used_for_probe_only:1;
}; };
/* ALSA mixer element identifier */ /* ALSA mixer element identifier */
struct pa_alsa_mixer_id { struct pa_alsa_mixer_id {
char *name; char *name;
int index; int index;
}; };
char *pa_alsa_mixer_id_to_string(char *dst, size_t dst_len, pa_alsa_mixer_id *id
);
/* An option belongs to an element and refers to one enumeration item /* An option belongs to an element and refers to one enumeration item
* of the element is an enumeration item, or a switch status if the * of the element is an enumeration item, or a switch status if the
* element is a switch item. */ * element is a switch item. */
struct pa_alsa_option { struct pa_alsa_option {
pa_alsa_element *element; pa_alsa_element *element;
PA_LLIST_FIELDS(pa_alsa_option); PA_LLIST_FIELDS(pa_alsa_option);
char *alsa_name; char *alsa_name;
int alsa_idx; int alsa_idx;
skipping to change at line 155 skipping to change at line 159
pa_alsa_switch_use_t switch_use; pa_alsa_switch_use_t switch_use;
pa_alsa_volume_use_t volume_use; pa_alsa_volume_use_t volume_use;
pa_alsa_enumeration_use_t enumeration_use; pa_alsa_enumeration_use_t enumeration_use;
pa_alsa_required_t required; pa_alsa_required_t required;
pa_alsa_required_t required_any; pa_alsa_required_t required_any;
pa_alsa_required_t required_absent; pa_alsa_required_t required_absent;
long constant_volume; long constant_volume;
bool override_map:1; unsigned int override_map;
bool direction_try_other:1; bool direction_try_other:1;
bool has_dB:1; bool has_dB:1;
long min_volume, max_volume; long min_volume, max_volume;
long volume_limit; /* -1 for no configured limit */ long volume_limit; /* -1 for no configured limit */
double min_dB, max_dB; double min_dB, max_dB;
pa_channel_position_mask_t masks[SND_MIXER_SCHN_LAST + 1][2]; pa_channel_position_mask_t masks[SND_MIXER_SCHN_LAST + 1][POSITION_MASK_CHAN NELS];
unsigned n_channels; unsigned n_channels;
pa_channel_position_mask_t merged_mask; pa_channel_position_mask_t merged_mask;
PA_LLIST_HEAD(pa_alsa_option, options); PA_LLIST_HEAD(pa_alsa_option, options);
pa_alsa_decibel_fix *db_fix; pa_alsa_decibel_fix *db_fix;
}; };
struct pa_alsa_jack { struct pa_alsa_jack {
pa_alsa_path *path; pa_alsa_path *path;
PA_LLIST_FIELDS(pa_alsa_jack); PA_LLIST_FIELDS(pa_alsa_jack);
snd_mixer_t *mixer_handle; snd_mixer_t *mixer_handle;
char *mixer_device_name; char *mixer_device_name;
struct pa_alsa_mixer_id alsa_id;
char *name; /* E g "Headphone" */ char *name; /* E g "Headphone" */
char *alsa_name; /* E g "Headphone Jack" */
bool has_control; /* is the jack itself present? */ bool has_control; /* is the jack itself present? */
bool plugged_in; /* is this jack currently plugged in? */ bool plugged_in; /* is this jack currently plugged in? */
snd_mixer_elem_t *melem; /* Jack detection handle */ snd_mixer_elem_t *melem; /* Jack detection handle */
pa_available_t state_unplugged, state_plugged; pa_available_t state_unplugged, state_plugged;
pa_alsa_required_t required; pa_alsa_required_t required;
pa_alsa_required_t required_any; pa_alsa_required_t required_any;
pa_alsa_required_t required_absent; pa_alsa_required_t required_absent;
pa_dynarray *ucm_devices; /* pa_alsa_ucm_device */ pa_dynarray *ucm_devices; /* pa_alsa_ucm_device */
pa_dynarray *ucm_hw_mute_devices; /* pa_alsa_ucm_device */ pa_dynarray *ucm_hw_mute_devices; /* pa_alsa_ucm_device */
bool append_pcm_to_name; bool append_pcm_to_name;
}; };
pa_alsa_jack *pa_alsa_jack_new(pa_alsa_path *path, const char *mixer_device_name , const char *name); pa_alsa_jack *pa_alsa_jack_new(pa_alsa_path *path, const char *mixer_device_name , const char *name, int index);
void pa_alsa_jack_free(pa_alsa_jack *jack); void pa_alsa_jack_free(pa_alsa_jack *jack);
void pa_alsa_jack_set_has_control(pa_alsa_jack *jack, bool has_control); void pa_alsa_jack_set_has_control(pa_alsa_jack *jack, bool has_control);
void pa_alsa_jack_set_plugged_in(pa_alsa_jack *jack, bool plugged_in); void pa_alsa_jack_set_plugged_in(pa_alsa_jack *jack, bool plugged_in);
void pa_alsa_jack_add_ucm_device(pa_alsa_jack *jack, pa_alsa_ucm_device *device) ; void pa_alsa_jack_add_ucm_device(pa_alsa_jack *jack, pa_alsa_ucm_device *device) ;
void pa_alsa_jack_add_ucm_hw_mute_device(pa_alsa_jack *jack, pa_alsa_ucm_device *device); void pa_alsa_jack_add_ucm_hw_mute_device(pa_alsa_jack *jack, pa_alsa_ucm_device *device);
/* A path wraps a series of elements into a single entity which can be /* A path wraps a series of elements into a single entity which can be
* used to control it as if it had a single volume slider, a single * used to control it as if it had a single volume slider, a single
* mute switch and a single list of selectable options. */ * mute switch and a single list of selectable options. */
struct pa_alsa_path { struct pa_alsa_path {
 End of changes. 7 change blocks. 
4 lines changed or deleted 9 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)