Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 997e6f66 authored by Eric Laurent's avatar Eric Laurent Committed by Bruno Martins
Browse files

hal: pass voice volumes to ext speaker driver

Bug: 17203285

Conflicts:
	hal/audio_extn/audio_extn.h
	hal/audio_hw.c

Change-Id: I4995b3366cc31c522170cae4bc2aac18b7234acf
parent 753fe099
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -227,11 +227,13 @@ void audio_extn_dolby_send_ddp_endp_params(struct audio_device *adev);
#define audio_extn_extspk_deinit(extn) 0
#define audio_extn_extspk_update(extn) 0
#define audio_extn_extspk_set_mode(extn, mode) 0
#define audio_extn_extspk_set_voice_vol(extn, vol) 0
#else
void *audio_extn_extspk_init(struct audio_device *adev);
void audio_extn_extspk_deinit(void *extn);
void audio_extn_extspk_update(void* extn);
void audio_extn_extspk_set_mode(void* extn, audio_mode_t mode);
void audio_extn_extspk_set_voice_vol(void* extn, float vol);
#endif

#ifndef HFP_ENABLED
+9 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@
typedef void (*set_mode_t)(int);
typedef void (*set_speaker_on_t)(bool);
typedef void (*set_earpiece_on_t)(bool);
typedef void (*set_voice_vol_t)(int);
typedef void (*set_voice_vol_t)(float);

struct speaker_data {
    struct audio_device *adev;
@@ -147,3 +147,11 @@ void audio_extn_extspk_set_mode(void* extn, audio_mode_t mode)
    if (data)
        data->set_mode(mode);
}

void audio_extn_extspk_set_voice_vol(void* extn, float vol)
{
    struct speaker_data *data = (struct speaker_data*)extn;

    if (data)
        data->set_voice_vol(vol);
}
+3 −0
Original line number Diff line number Diff line
@@ -3114,6 +3114,9 @@ static int adev_set_voice_volume(struct audio_hw_device *dev, float volume)
{
    int ret;
    struct audio_device *adev = (struct audio_device *)dev;

    audio_extn_extspk_set_voice_vol(adev->extspk, volume);

    pthread_mutex_lock(&adev->lock);
    /* cache volume */
    ret = voice_set_volume(adev, volume);