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

Commit 4cc4ce1a authored by Eric Laurent's avatar Eric Laurent Committed by Vineeta Srivastava
Browse files

hal: pass voice volumes to ext speaker driver

Bug: 17203285
Change-Id: I1b9bdc3a49fa162ac85b7b1c1b8de027a20983d2
parent 1b0d8ce4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ 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);

#ifndef HFP_ENABLED
#define audio_extn_hfp_is_active(adev)                  (0)
+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);
}
+2 −0
Original line number Diff line number Diff line
@@ -2249,6 +2249,8 @@ 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);
    ret = voice_set_volume(adev, volume);
    pthread_mutex_unlock(&adev->lock);