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

Commit 322bbfb6 authored by Ramjee's avatar Ramjee Committed by Divya Narayanan Poojary
Browse files

hal:KW fixes

Change-Id: Ifb53608c7c18a357eadd61596de023c6164e67f1
parent 4c114612
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
/*
 * Copyright (c) 2014, 2016 The Linux Foundation. All rights reserved.
 * Copyright (c) 2014, 2016-2017 The Linux Foundation. All rights reserved.
 * Not a Contribution.
 *
 * Copyright (C) 2014 The Android Open Source Project
@@ -115,14 +115,16 @@ static uint32_t string_to_enum(const struct string_to_enum *table, size_t size,
static audio_output_flags_t parse_flag_names(char *name)
{
    uint32_t flag = 0;
    char *flag_name = strtok(name, "|");
    char *last_r;
    char *flag_name = strtok_r(name, "|", &last_r);

    while (flag_name != NULL) {
        if (strlen(flag_name) != 0) {
            flag |= string_to_enum(s_flag_name_to_enum_table,
                               ARRAY_SIZE(s_flag_name_to_enum_table),
                               flag_name);
        }
        flag_name = strtok(NULL, "|");
        flag_name = strtok_r(NULL, "|", &last_r);
    }

    ALOGV("parse_flag_names: flag - %d", flag);
@@ -132,7 +134,9 @@ static audio_output_flags_t parse_flag_names(char *name)
static void parse_format_names(char *name, struct streams_output_cfg *so_info)
{
    struct stream_format *sf_info = NULL;
    char *str = strtok(name, "|");
    char *last_r;
    char *str = strtok_r(name, "|", &last_r);


    if (str != NULL && strcmp(str, DYNAMIC_VALUE_TAG) == 0)
        return;
@@ -150,7 +154,7 @@ static void parse_format_names(char *name, struct streams_output_cfg *so_info)
            sf_info->format = format;
            list_add_tail(&so_info->format_list, &sf_info->list);
        }
        str = strtok(NULL, "|");
        str = strtok_r(NULL, "|", &last_r);
    }
}

@@ -158,7 +162,9 @@ static void parse_sample_rate_names(char *name, struct streams_output_cfg *so_in
{
    struct stream_sample_rate *ss_info = NULL;
    uint32_t sample_rate = 48000;
    char *str = strtok(name, "|");
    char *last_r;
    char *str = strtok_r(name, "|", &last_r);


    if (str != NULL && 0 == strcmp(str, DYNAMIC_VALUE_TAG))
        return;
@@ -175,14 +181,16 @@ static void parse_sample_rate_names(char *name, struct streams_output_cfg *so_in
            ss_info->sample_rate = sample_rate;
            list_add_tail(&so_info->sample_rate_list, &ss_info->list);
        }
        str = strtok(NULL, "|");
        str = strtok_r(NULL, "|", &last_r);
    }
}

static int parse_bit_width_names(char *name)
{
    int bit_width = 16;
    char *str = strtok(name, "|");
    char *last_r;
    char *str = strtok_r(name, "|", &last_r);


    if (str != NULL && strcmp(str, DYNAMIC_VALUE_TAG))
        bit_width = (int)strtol(str, (char **)NULL, 10);
@@ -194,7 +202,9 @@ static int parse_bit_width_names(char *name)
static int parse_app_type_names(void *platform, char *name)
{
    int app_type = platform_get_default_app_type(platform);
    char *str = strtok(name, "|");
    char *last_r;
    char *str = strtok_r(name, "|", &last_r);


    if (str != NULL && strcmp(str, DYNAMIC_VALUE_TAG))
        app_type = (int)strtol(str, (char **)NULL, 10);
+5 −5
Original line number Diff line number Diff line
/*
 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
 * Not a Contribution.
 *
 * Copyright (C) 2013 The Android Open Source Project
@@ -392,7 +392,7 @@ int enable_audio_route(struct audio_device *adev,
    audio_extn_listen_update_stream_status(usecase, LISTEN_EVENT_STREAM_BUSY);
    audio_extn_utils_send_audio_calibration(adev, usecase);
    audio_extn_utils_send_app_type_cfg(usecase);
    strcpy(mixer_path, use_case_table[usecase->id]);
    strlcpy(mixer_path, use_case_table[usecase->id], MIXER_PATH_MAX_LENGTH);
    platform_add_backend_name(mixer_path, snd_device);
    ALOGD("%s: apply mixer and update path: %s", __func__, mixer_path);
    audio_route_apply_and_update_path(adev->audio_route, mixer_path);
@@ -414,7 +414,7 @@ int disable_audio_route(struct audio_device *adev,
        snd_device = usecase->in_snd_device;
    else
        snd_device = usecase->out_snd_device;
    strcpy(mixer_path, use_case_table[usecase->id]);
    strlcpy(mixer_path, use_case_table[usecase->id], MIXER_PATH_MAX_LENGTH);
    platform_add_backend_name(mixer_path, snd_device);
    ALOGD("%s: reset and update mixer path: %s", __func__, mixer_path);
    audio_route_reset_and_update_path(adev->audio_route, mixer_path);
@@ -1890,9 +1890,9 @@ static char* out_get_parameters(const struct audio_stream *stream, const char *k
            for (j = 0; j < ARRAY_SIZE(out_channels_name_to_enum_table); j++) {
                if (out_channels_name_to_enum_table[j].value == out->supported_channel_masks[i]) {
                    if (!first) {
                        strcat(value, "|");
                        strlcat(value, "|", sizeof(value));
                    }
                    strcat(value, out_channels_name_to_enum_table[j].name);
                    strlcat(value, out_channels_name_to_enum_table[j].name, sizeof(value));
                    first = false;
                    break;
                }
+2 −2
Original line number Diff line number Diff line
/*
 * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
 * Copyright (c) 2013-2017, The Linux Foundation. All rights reserved.
 * Not a Contribution.
 *
 * Copyright (C) 2013 The Android Open Source Project
@@ -3206,7 +3206,7 @@ int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd
    strlcpy(mixer_ctl_name, "Playback Channel Map", sizeof(mixer_ctl_name));
    if (snd_id >= 0) {
        snprintf(device_num, sizeof(device_num), "%d", snd_id);
        strncat(mixer_ctl_name, device_num, 13);
        strlcat(mixer_ctl_name, device_num, sizeof(mixer_ctl_name));
    }

    ALOGD("%s mixer_ctl_name:%s", __func__, mixer_ctl_name);