Loading hal/audio_extn/utils.c +17 −11 Original line number Diff line number Diff line Loading @@ -134,14 +134,15 @@ 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); Loading @@ -151,7 +152,8 @@ 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; Loading @@ -169,7 +171,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); } } Loading @@ -177,7 +179,8 @@ 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; Loading @@ -188,20 +191,22 @@ static void parse_sample_rate_names(char *name, struct streams_output_cfg *so_in ALOGV("%s: sample_rate - %d", __func__, sample_rate); if (0 != sample_rate) { ss_info = (struct stream_sample_rate *)calloc(1, sizeof(struct stream_sample_rate)); if (ss_info == NULL) break; /* return whatever was parsed */ if (!ss_info) { ALOGE("%s: memory allocation failure", __func__); return; } 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); Loading @@ -213,7 +218,8 @@ 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); Loading hal/audio_hw.c +5 −5 Original line number Diff line number Diff line Loading @@ -420,7 +420,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); ALOGV("%s: apply mixer and update path: %s", __func__, mixer_path); audio_route_apply_and_update_path(adev->audio_route, mixer_path); Loading @@ -442,7 +442,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); ALOGV("%s: reset and update mixer path: %s", __func__, mixer_path); audio_route_reset_and_update_path(adev->audio_route, mixer_path); Loading Loading @@ -1954,9 +1954,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; } Loading @@ -1983,7 +1983,7 @@ static char* out_get_parameters(const struct audio_stream *stream, const char *k for (j = 0; j < ARRAY_SIZE(out_formats_name_to_enum_table); j++) { if (out_formats_name_to_enum_table[j].value == out->supported_formats[i]) { if (!first) { strcat(value, "|"); strlcat(value, "|", sizeof(value)); } strlcat(value, out_formats_name_to_enum_table[j].name, sizeof(value)); first = false; Loading hal/msm8916/platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -1421,7 +1421,7 @@ void *platform_init(struct audio_device *adev) DIR *dir; struct dirent *dirent; char file_name[10] = "wsa"; strcat(CodecPeek, snd_card_name); strlcat(CodecPeek, snd_card_name, sizeof(CodecPeek)); dir = opendir(CodecPeek); if (dir != NULL) { Loading Loading @@ -3810,7 +3810,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(device_num)); } ALOGD("%s mixer_ctl_name:%s", __func__, mixer_ctl_name); Loading hal/msm8974/platform.c +6 −1 Original line number Diff line number Diff line Loading @@ -2647,6 +2647,11 @@ int platform_set_parameters(void *platform, struct str_parms *parms) bool status = false; str_parms_del(parms, AUDIO_PARAMETER_KEY_EXT_AUDIO_DEVICE); event_name = strtok_r(value, ",", &status_str); if (!event_name) { ret = -EINVAL; ALOGE("%s: event_name is NULL", __func__); goto done; } ALOGV("%s: recieved update of external audio device %s %s", __func__, event_name, status_str); Loading Loading @@ -3456,7 +3461,7 @@ int platform_set_channel_allocation(void *platform, int channel_alloc) int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd_id) { struct mixer_ctl *ctl; char mixer_ctl_name[44]; // max length of name is 44 as defined char mixer_ctl_name[44] = {0}; // max length of name is 44 as defined int ret; unsigned int i; int set_values[8] = {0}; Loading post_proc/effect_api.c +2 −2 Original line number Diff line number Diff line Loading @@ -110,11 +110,11 @@ int offload_update_mixer_and_effects_ctl(int card, int device_id, *mixer = mixer_open(card); if (!(*mixer)) { ALOGE("Failed to open mixer"); ctl = NULL; *ctl = NULL; return -EINVAL; } else { *ctl = mixer_get_ctl_by_name(*mixer, mixer_string); if (!(*ctl)) { if (!*ctl) { ALOGE("mixer_get_ctl_by_name failed"); mixer_close(*mixer); *mixer = NULL; Loading Loading
hal/audio_extn/utils.c +17 −11 Original line number Diff line number Diff line Loading @@ -134,14 +134,15 @@ 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); Loading @@ -151,7 +152,8 @@ 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; Loading @@ -169,7 +171,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); } } Loading @@ -177,7 +179,8 @@ 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; Loading @@ -188,20 +191,22 @@ static void parse_sample_rate_names(char *name, struct streams_output_cfg *so_in ALOGV("%s: sample_rate - %d", __func__, sample_rate); if (0 != sample_rate) { ss_info = (struct stream_sample_rate *)calloc(1, sizeof(struct stream_sample_rate)); if (ss_info == NULL) break; /* return whatever was parsed */ if (!ss_info) { ALOGE("%s: memory allocation failure", __func__); return; } 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); Loading @@ -213,7 +218,8 @@ 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); Loading
hal/audio_hw.c +5 −5 Original line number Diff line number Diff line Loading @@ -420,7 +420,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); ALOGV("%s: apply mixer and update path: %s", __func__, mixer_path); audio_route_apply_and_update_path(adev->audio_route, mixer_path); Loading @@ -442,7 +442,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); ALOGV("%s: reset and update mixer path: %s", __func__, mixer_path); audio_route_reset_and_update_path(adev->audio_route, mixer_path); Loading Loading @@ -1954,9 +1954,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; } Loading @@ -1983,7 +1983,7 @@ static char* out_get_parameters(const struct audio_stream *stream, const char *k for (j = 0; j < ARRAY_SIZE(out_formats_name_to_enum_table); j++) { if (out_formats_name_to_enum_table[j].value == out->supported_formats[i]) { if (!first) { strcat(value, "|"); strlcat(value, "|", sizeof(value)); } strlcat(value, out_formats_name_to_enum_table[j].name, sizeof(value)); first = false; Loading
hal/msm8916/platform.c +2 −2 Original line number Diff line number Diff line Loading @@ -1421,7 +1421,7 @@ void *platform_init(struct audio_device *adev) DIR *dir; struct dirent *dirent; char file_name[10] = "wsa"; strcat(CodecPeek, snd_card_name); strlcat(CodecPeek, snd_card_name, sizeof(CodecPeek)); dir = opendir(CodecPeek); if (dir != NULL) { Loading Loading @@ -3810,7 +3810,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(device_num)); } ALOGD("%s mixer_ctl_name:%s", __func__, mixer_ctl_name); Loading
hal/msm8974/platform.c +6 −1 Original line number Diff line number Diff line Loading @@ -2647,6 +2647,11 @@ int platform_set_parameters(void *platform, struct str_parms *parms) bool status = false; str_parms_del(parms, AUDIO_PARAMETER_KEY_EXT_AUDIO_DEVICE); event_name = strtok_r(value, ",", &status_str); if (!event_name) { ret = -EINVAL; ALOGE("%s: event_name is NULL", __func__); goto done; } ALOGV("%s: recieved update of external audio device %s %s", __func__, event_name, status_str); Loading Loading @@ -3456,7 +3461,7 @@ int platform_set_channel_allocation(void *platform, int channel_alloc) int platform_set_channel_map(void *platform, int ch_count, char *ch_map, int snd_id) { struct mixer_ctl *ctl; char mixer_ctl_name[44]; // max length of name is 44 as defined char mixer_ctl_name[44] = {0}; // max length of name is 44 as defined int ret; unsigned int i; int set_values[8] = {0}; Loading
post_proc/effect_api.c +2 −2 Original line number Diff line number Diff line Loading @@ -110,11 +110,11 @@ int offload_update_mixer_and_effects_ctl(int card, int device_id, *mixer = mixer_open(card); if (!(*mixer)) { ALOGE("Failed to open mixer"); ctl = NULL; *ctl = NULL; return -EINVAL; } else { *ctl = mixer_get_ctl_by_name(*mixer, mixer_string); if (!(*ctl)) { if (!*ctl) { ALOGE("mixer_get_ctl_by_name failed"); mixer_close(*mixer); *mixer = NULL; Loading