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

Commit aaee49c8 authored by Ravit Dennis's avatar Ravit Dennis Committed by Gerrit - the friendly Code Review server
Browse files

hal: dev_arbi: support more audio devices for arbitration

Add support for more audio devices for RX arbitration,
including speaker, headphones and the combo
speaker/headphones device.

Change-Id: I822fa0b70033ab067f50f7a019a21ef2e300a665
parent ca12e471
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -128,7 +128,13 @@ static audio_devices_t get_audio_device(snd_device_t snd_device)
{
    static snd_aud_dev_mapping_t snd_aud_dev_map[] = {
        {SND_DEVICE_OUT_HANDSET, AUDIO_DEVICE_OUT_EARPIECE},
        {SND_DEVICE_OUT_VOICE_HANDSET, AUDIO_DEVICE_OUT_EARPIECE}
        {SND_DEVICE_OUT_VOICE_HANDSET, AUDIO_DEVICE_OUT_EARPIECE},
        {SND_DEVICE_OUT_SPEAKER, AUDIO_DEVICE_OUT_SPEAKER},
        {SND_DEVICE_OUT_VOICE_SPEAKER, AUDIO_DEVICE_OUT_SPEAKER},
        {SND_DEVICE_OUT_HEADPHONES, AUDIO_DEVICE_OUT_WIRED_HEADPHONE},
        {SND_DEVICE_OUT_VOICE_HEADPHONES, AUDIO_DEVICE_OUT_WIRED_HEADPHONE},
        {SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES,
            AUDIO_DEVICE_OUT_SPEAKER | AUDIO_DEVICE_OUT_WIRED_HEADPHONE}
    };

    audio_devices_t aud_device = AUDIO_DEVICE_NONE;
+3 −1
Original line number Diff line number Diff line
@@ -465,8 +465,10 @@ int enable_snd_device(struct audio_device *adev,
           adev->snd_dev_ref_cnt[snd_device]--;
           return -EINVAL;
       }
       audio_extn_dev_arbi_acquire(snd_device);
        if (audio_extn_spkr_prot_start_processing(snd_device)) {
            ALOGE("%s: spkr_start_processing failed", __func__);
            audio_extn_dev_arbi_release(snd_device);
            return -EINVAL;
        }
    } else {
@@ -532,9 +534,9 @@ int disable_snd_device(struct audio_device *adev,
            audio_extn_spkr_prot_stop_processing(snd_device);
        } else {
            audio_route_reset_and_update_path(adev->audio_route, device_name);
            audio_extn_dev_arbi_release(snd_device);
        }

        audio_extn_dev_arbi_release(snd_device);
        audio_extn_sound_trigger_update_device_status(snd_device,
                                        ST_EVENT_SND_DEVICE_FREE);
        audio_extn_listen_update_device_status(snd_device,