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

Commit e1816960 authored by Haynes Mathew George's avatar Haynes Mathew George Committed by android-build-merger
Browse files

Merge "hal: add sound card notifications to sound trigger" into oc-dr1-dev

am: c3b3d636

Change-Id: I181614c77ecbe4832a15b795117921d1264e7b8b
parents 50cdcc2f c3b3d636
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -68,6 +68,15 @@ get_sound_trigger_info(int capture_handle)
    return NULL;
}

static void stdev_snd_mon_cb(void * stream __unused, struct str_parms * parms)
{
    if (!parms)
        return;

    audio_extn_sound_trigger_set_parameters(NULL, parms);
    return;
}

int audio_hw_call_back(sound_trigger_event_type_t event,
                       sound_trigger_event_info_t* config)
{
@@ -333,6 +342,7 @@ int audio_extn_sound_trigger_init(struct audio_device *adev)

    st_dev->adev = adev;
    list_init(&st_dev->st_ses_list);
    audio_extn_snd_mon_register_listener(st_dev, stdev_snd_mon_cb);

    return 0;

@@ -349,6 +359,7 @@ void audio_extn_sound_trigger_deinit(struct audio_device *adev)
{
    ALOGV("%s: Enter", __func__);
    if (st_dev && (st_dev->adev == adev) && st_dev->lib_handle) {
        audio_extn_snd_mon_unregister_listener(st_dev);
        dlclose(st_dev->lib_handle);
        free(st_dev);
        st_dev = NULL;
+4 −6
Original line number Diff line number Diff line
@@ -4483,19 +4483,17 @@ static int adev_close(hw_device_t *device)
    if (!adev)
        return 0;

    audio_extn_snd_mon_unregister_listener(adev);
    audio_extn_snd_mon_deinit();

    audio_extn_tfa_98xx_deinit();

    pthread_mutex_lock(&adev_init_lock);

    if ((--audio_device_ref_count) == 0) {
        audio_extn_snd_mon_unregister_listener(adev);
        audio_extn_tfa_98xx_deinit();
        audio_route_free(adev->audio_route);
        free(adev->snd_dev_ref_cnt);
        platform_deinit(adev->platform);
        audio_extn_extspk_deinit(adev->extspk);
        audio_extn_sound_trigger_deinit(adev);
        audio_extn_snd_mon_deinit();
        for (i = 0; i < ARRAY_SIZE(adev->use_case_table); ++i) {
            pcm_params_free(adev->use_case_table[i]);
        }
@@ -4621,7 +4619,6 @@ static int adev_open(const hw_module_t *module, const char *name,
        return -EINVAL;
    }
    adev->extspk = audio_extn_extspk_init(adev);
    audio_extn_sound_trigger_init(adev);

    adev->visualizer_lib = dlopen(VISUALIZER_LIBRARY_PATH, RTLD_NOW);
    if (adev->visualizer_lib == NULL) {
@@ -4733,6 +4730,7 @@ static int adev_open(const hw_module_t *module, const char *name,
    audio_extn_snd_mon_register_listener(NULL, adev_snd_mon_cb);
    adev->card_status = CARD_STATUS_ONLINE;
    pthread_mutex_unlock(&adev->lock);
    audio_extn_sound_trigger_init(adev);/* dependent on snd_mon_init() */

    ALOGD("%s: exit", __func__);
    return 0;