diff options
author | Ashok Sidipotu <ashok.sidipotu@collabora.com> | 2023-12-14 16:19:21 +0530 |
---|---|---|
committer | Ashok Sidipotu <ashok.sidipotu@collabora.com> | 2023-12-15 08:09:40 +0100 |
commit | 5567e12699dcc6584a620d2682430e3882dc0907 (patch) | |
tree | a2378a5199b94566d2cf5311d6f394ad5569cfb9 /src/audiomixer.h | |
parent | f6eb75678f6c08c4eb3fe232f814834319611ff7 (diff) |
audiomixer: add new channel volume API
- Add API to control left and right channel volumes.
- Fix a bug in treble gain update. The changed gain value of Treble is
not updated in the audiomixer as the gain changed
callback(on_eq_params_changed) doesnt look beyond bass for gain
controls. Fix this issue by continuing to look beyond bass control.
- Adjust the floating point comparision epsilon value from 0.000001 to
0.00001.
Bug-AGL: SPEC-4931
Change-Id: I2a242d08f194b66abd84bb31a97364884e8d2a1d
Signed-off-by: Ashok Sidipotu <ashok.sidipotu@collabora.com>
Diffstat (limited to 'src/audiomixer.h')
-rw-r--r-- | src/audiomixer.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/audiomixer.h b/src/audiomixer.h index 2e50420..1f089d1 100644 --- a/src/audiomixer.h +++ b/src/audiomixer.h @@ -20,6 +20,8 @@ struct mixer_control { char name[32]; double volume; + double lvolume; /* left channel volume */ + double rvolume; /* right channel volume */ float gain; bool mute; }; @@ -30,6 +32,7 @@ struct audiomixer_events void (*value_changed) (void *data, #define MIXER_CONTROL_CHANGE_FLAG_VOLUME (1<<0) +#define MIXER_CONTROL_CHANGE_FLAG_CHANNEL_VOLUME (1<<0) #define MIXER_CONTROL_CHANGE_FLAG_MUTE (1<<1) #define MIXER_CONTROL_CHANGE_FLAG_GAIN (1<<2) unsigned int change_mask, @@ -62,6 +65,10 @@ void audiomixer_change_volume(struct audiomixer *self, const struct mixer_control *control, double volume); +void audiomixer_change_channel_volume (struct audiomixer *self, + const struct mixer_control *control, + double left_channel_volume, double right_channel_volume); + void audiomixer_change_gain(struct audiomixer *self, const struct mixer_control *control, float gain); |