audio-hal: 64 bit hal porting changes
-Use long for mixer control with integer type to match with
kernel snd_ctl_elem_value definition.
-Use packed structure for mixer controls with byte type
Change-Id: I9fbb1d10c5ee212348b58fc4b27a3d74403d8bda
diff --git a/hal/audio_hw.c b/hal/audio_hw.c
index 3ba3f77..bbbc1d6 100644
--- a/hal/audio_hw.c
+++ b/hal/audio_hw.c
@@ -4037,7 +4037,7 @@
float right)
{
struct stream_out *out = (struct stream_out *)stream;
- int volume[2];
+ long volume[2];
char mixer_ctl_name[128];
struct audio_device *adev = out->dev;
struct mixer_ctl *ctl;
@@ -4068,7 +4068,7 @@
char mixer_ctl_name[] = "App Type Gain";
struct audio_device *adev = out->dev;
struct mixer_ctl *ctl;
- uint32_t set_values[4];
+ long set_values[4];
ctl = mixer_get_ctl_by_name(adev->mixer, mixer_ctl_name);
if (!ctl) {
@@ -4079,8 +4079,8 @@
set_values[0] = 0; //0: Rx Session 1:Tx Session
set_values[1] = out->app_type_cfg.app_type;
- set_values[2] = (int)(left * VOIP_PLAYBACK_VOLUME_MAX);
- set_values[3] = (int)(right * VOIP_PLAYBACK_VOLUME_MAX);
+ set_values[2] = (long)(left * VOIP_PLAYBACK_VOLUME_MAX);
+ set_values[3] = (long)(right * VOIP_PLAYBACK_VOLUME_MAX);
mixer_ctl_set_array(ctl, set_values, ARRAY_SIZE(set_values));
return 0;
@@ -4115,8 +4115,8 @@
__func__, mixer_ctl_name);
return -EINVAL;
}
- volume[0] = (int)(AmpToDb(left));
- volume[1] = (int)(AmpToDb(right));
+ volume[0] = (long)(AmpToDb(left));
+ volume[1] = (long)(AmpToDb(right));
mixer_ctl_set_array(ctl, volume, sizeof(volume)/sizeof(volume[0]));
return 0;
} else {