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

Commit 3e5c260f authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "hal: Restore fm volume whenever enable fm usecase"

parents 4e12feb9 e7651c43
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ static int32_t fm_start(struct audio_device *adev)
    int32_t pcm_dev_rx_id, pcm_dev_tx_id;

    ALOGD("%s: enter", __func__);
    fmmod.is_fm_running = true;

    uc_info = (struct audio_usecase *)calloc(1, sizeof(struct audio_usecase));

@@ -220,9 +221,6 @@ static int32_t fm_start(struct audio_device *adev)
    pcm_start(fmmod.fm_pcm_rx);
    pcm_start(fmmod.fm_pcm_tx);

    fmmod.is_fm_running = true;
    fm_set_volume(adev, fmmod.fm_volume, false);

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

+9 −6
Original line number Diff line number Diff line
@@ -966,6 +966,7 @@ int enable_audio_route(struct audio_device *adev,
    snd_device_t snd_device;
    char mixer_path[MIXER_PATH_MAX_LENGTH];
    struct stream_out *out = NULL;
    int ret = 0;

    if (usecase == NULL)
        return -EINVAL;
@@ -995,7 +996,14 @@ int enable_audio_route(struct audio_device *adev,
    strlcpy(mixer_path, use_case_table[usecase->id], MIXER_PATH_MAX_LENGTH);
    platform_add_backend_name(mixer_path, snd_device, usecase);
    ALOGD("%s: apply mixer and update path: %s", __func__, mixer_path);
    audio_route_apply_and_update_path(adev->audio_route, mixer_path);
    ret = audio_route_apply_and_update_path(adev->audio_route, mixer_path);
    if (!ret && usecase->id == USECASE_AUDIO_PLAYBACK_FM) {
        struct str_parms *parms = str_parms_create_str("fm_restore_volume=1");
        if (parms) {
            audio_extn_fm_set_parameters(adev, parms);
            str_parms_destroy(parms);
        }
    }
    ALOGV("%s: exit", __func__);
    return 0;
}
@@ -1477,11 +1485,6 @@ static void check_usecases_codec_backend(struct audio_device *adev,
                                            usecase->stream.out->volume_l,
                                            usecase->stream.out->volume_r);
                    }
                    if (usecase->id == USECASE_AUDIO_PLAYBACK_FM) {
                        struct str_parms *parms = str_parms_create_str("fm_restore_volume=1");
                        if (parms)
                            audio_extn_fm_set_parameters(adev, parms);
                    }
                }
            }
        }