diff options
author | Paul Kocialkowski <contact@paulk.fr> | 2012-10-26 15:47:01 +0200 |
---|---|---|
committer | Paul Kocialkowski <contact@paulk.fr> | 2012-10-26 15:47:01 +0200 |
commit | f6e1b0eae63dfd937213e0b0fdb01f106621421c (patch) | |
tree | 8c8b018a2461c7096f203f0ea6ba091fda1ab22c /mixer.h | |
parent | 7751e9ab8b411d69fab1e455ef4ff75b883ab4d6 (diff) | |
download | hardware_tinyalsa-audio-f6e1b0eae63dfd937213e0b0fdb01f106621421c.zip hardware_tinyalsa-audio-f6e1b0eae63dfd937213e0b0fdb01f106621421c.tar.gz hardware_tinyalsa-audio-f6e1b0eae63dfd937213e0b0fdb01f106621421c.tar.bz2 |
Mixer: Avoid mode and use directions logic instead, introducing modem support
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
Diffstat (limited to 'mixer.h')
-rw-r--r-- | mixer.h | 45 |
1 files changed, 29 insertions, 16 deletions
@@ -47,7 +47,6 @@ struct tinyalsa_mixer_data { struct tinyalsa_mixer_device_props { audio_devices_t type; - audio_mode_t mode; }; struct tinyalsa_mixer_device { @@ -72,42 +71,56 @@ struct tinyalsa_mixer_io { struct tinyalsa_mixer_io_props props; struct tinyalsa_mixer_device *device_current; struct list_head *devices; + int state; }; struct tinyalsa_mixer { struct tinyalsa_mixer_io output; struct tinyalsa_mixer_io input; + struct tinyalsa_mixer_io modem; struct mixer *mixer; }; +enum tinyalsa_mixer_direction { + TINYALSA_MIXER_DIRECTION_OUTPUT, + TINYALSA_MIXER_DIRECTION_INPUT, + TINYALSA_MIXER_DIRECTION_MODEM, + TINYALSA_MIXER_DIRECTION_MAX +}; + struct tinyalsa_mixer_config_data { struct tinyalsa_mixer *mixer; struct tinyalsa_mixer_io_props io_props; struct tinyalsa_mixer_device_props device_props; - int direction; + enum tinyalsa_mixer_direction direction; struct tinyalsa_mixer_device *device; struct list_head **list_start; struct list_head *list; }; -int tinyalsa_mixer_open(struct tinyalsa_mixer **mixer_p, char *config_file); -void tinyalsa_mixer_close(struct tinyalsa_mixer *mixer); +int tinyalsa_mixer_set_output_state(struct tinyalsa_mixer *mixer, int state); +int tinyalsa_mixer_set_input_state(struct tinyalsa_mixer *mixer, int state); +int tinyalsa_mixer_set_modem_state(struct tinyalsa_mixer *mixer, int state); -struct tinyalsa_mixer_io_props *tinyalsa_mixer_get_input_props(struct tinyalsa_mixer *mixer); -struct tinyalsa_mixer_io_props *tinyalsa_mixer_get_output_props(struct tinyalsa_mixer *mixer); -audio_devices_t tinyalsa_mixer_get_supported_devices(struct tinyalsa_mixer *mixer); +int tinyalsa_mixer_set_device(struct tinyalsa_mixer *mixer, audio_devices_t device); -int tinyalsa_mixer_set_voice_volume(struct tinyalsa_mixer *mixer, - audio_devices_t device, audio_mode_t mode, float volume); -int tinyalsa_mixer_set_input_gain(struct tinyalsa_mixer *mixer, - audio_devices_t device, audio_mode_t mode, float gain); -int tinyalsa_mixer_set_mic_mute(struct tinyalsa_mixer *mixer, - audio_devices_t device, audio_mode_t mode, int mute); -int tinyalsa_mixer_set_master_volume(struct tinyalsa_mixer *mixer, float volume); int tinyalsa_mixer_set_output_volume(struct tinyalsa_mixer *mixer, - audio_devices_t device, audio_mode_t mode, float volume); + audio_devices_t device, float volume); +int tinyalsa_mixer_set_master_volume(struct tinyalsa_mixer *mixer, float volume); +int tinyalsa_mixer_set_mic_mute(struct tinyalsa_mixer *mixer, + audio_devices_t device, int mute); +int tinyalsa_mixer_set_input_gain(struct tinyalsa_mixer *mixer, + audio_devices_t device, float gain); +int tinyalsa_mixer_set_voice_volume(struct tinyalsa_mixer *mixer, + audio_devices_t device, float volume); + +audio_devices_t tinyalsa_mixer_get_supported_devices(struct tinyalsa_mixer *mixer); +struct tinyalsa_mixer_io_props *tinyalsa_mixer_get_output_props(struct tinyalsa_mixer *mixer); +struct tinyalsa_mixer_io_props *tinyalsa_mixer_get_input_props(struct tinyalsa_mixer *mixer); +struct tinyalsa_mixer_io_props *tinyalsa_mixer_get_modem_props(struct tinyalsa_mixer *mixer); -int tinyalsa_mixer_set_route(struct tinyalsa_mixer *mixer, audio_devices_t device, audio_mode_t mode); +void tinyalsa_mixer_close(struct tinyalsa_mixer *mixer); +int tinyalsa_mixer_open(struct tinyalsa_mixer **mixer_p, char *config_file); #endif |