Loading hal/audio_extn/utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -581,7 +581,7 @@ int audio_extn_utils_get_snd_card_num() } /* Initialize snd card name specific ids and/or backends*/ if (snd_card_info_init(platform_info_file, my_data, if (platform_info_init(platform_info_file, my_data, false, &acdb_set_parameters) < 0) { ALOGE("Failed to find platform_info_file"); goto cleanup; Loading hal/msm8916/platform.c +2 −1 Original line number Diff line number Diff line Loading @@ -1132,7 +1132,8 @@ void *platform_init(struct audio_device *adev) /* Initialize ACDB and PCM ID's */ strlcpy(platform_info_path, PLATFORM_INFO_XML_PATH, MAX_MIXER_XML_PATH); resolve_config_file(platform_info_path); platform_info_init(platform_info_path, my_data); platform_info_init(platform_info_path, my_data, true, &platform_set_parameters); my_data->acdb_handle = dlopen(LIB_ACDB_LOADER, RTLD_NOW); if (my_data->acdb_handle == NULL) { Loading hal/msm8974/platform.c +2 −1 Original line number Diff line number Diff line Loading @@ -1653,7 +1653,8 @@ void *platform_init(struct audio_device *adev) my_data->declared_mic_count = 0; /* Initialize platform specific ids and/or backends*/ platform_info_init(platform_info_file, my_data); platform_info_init(platform_info_file, my_data, true, &platform_set_parameters); ALOGD("%s: Loading mixer file: %s", __func__, mixer_xml_file); adev->audio_route = audio_route_init(snd_card_num, mixer_xml_file); Loading hal/platform_api.h +4 −4 Original line number Diff line number Diff line Loading @@ -117,11 +117,11 @@ int platform_set_snd_device_backend(snd_device_t snd_device, const char * backen bool platform_sound_trigger_usecase_needs_event(audio_usecase_t uc_id); /* From platform_info.c */ int platform_info_init(const char *filename, void *); typedef int (*set_parameters_fn)(void *platform, struct str_parms *parms); int snd_card_info_init(const char *filename, void *, set_parameters_fn); /* From platform_info.c */ int platform_info_init(const char *filename, void *, bool do_full_parse, set_parameters_fn); int platform_get_usecase_index(const char * usecase); int platform_set_usecase_pcm_id(audio_usecase_t usecase, int32_t type, int32_t pcm_id); Loading hal/platform_info.c +18 −16 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include "platform_api.h" #include <platform.h> #include <math.h> #include <pthread.h> /* * Mandatory microphone characteristics include: device_id, type, address, location, group, Loading Loading @@ -82,17 +83,19 @@ static section_process_fn section_table[] = { [ACDB_METAINFO_KEY] = process_acdb_metainfo_key, }; static set_parameters_fn set_parameters = &platform_set_parameters; static section_t section; struct platform_info { pthread_mutex_t lock; bool do_full_parse; void *platform; struct str_parms *kvpairs; set_parameters_fn set_parameters; }; static struct platform_info my_data = {true, NULL, NULL}; static struct platform_info my_data = {PTHREAD_MUTEX_INITIALIZER, true, NULL, NULL, &platform_set_parameters}; struct audio_string_to_enum { const char* name; Loading Loading @@ -415,7 +418,7 @@ static void process_config_params(const XML_Char **attr) } str_parms_add_str(my_data.kvpairs, (char*)attr[1], (char*)attr[3]); set_parameters(my_data.platform, my_data.kvpairs); my_data.set_parameters(my_data.platform, my_data.kvpairs); done: return; } Loading Loading @@ -857,14 +860,8 @@ static void end_tag(void *userdata __unused, const XML_Char *tag_name) } } int snd_card_info_init(const char *filename, void *platform, set_parameters_fn fn) { set_parameters = fn; my_data.do_full_parse = false; return platform_info_init(filename, platform); } int platform_info_init(const char *filename, void *platform) int platform_info_init(const char *filename, void *platform, bool do_full_parse, set_parameters_fn fn) { XML_Parser parser; FILE *file; Loading @@ -873,7 +870,6 @@ int platform_info_init(const char *filename, void *platform) void *buf; static const uint32_t kBufSize = 1024; char platform_info_file_name[MIXER_PATH_MAX_LENGTH]= {0}; section = ROOT; if (filename == NULL) { strlcpy(platform_info_file_name, PLATFORM_INFO_XML_PATH, MIXER_PATH_MAX_LENGTH); Loading @@ -899,8 +895,12 @@ int platform_info_init(const char *filename, void *platform) goto err_close_file; } pthread_mutex_lock(&my_data.lock); section = ROOT; my_data.do_full_parse = do_full_parse; my_data.platform = platform; my_data.kvpairs = str_parms_create(); my_data.set_parameters = fn; XML_SetElementHandler(parser, start_tag, end_tag); Loading Loading @@ -931,10 +931,12 @@ int platform_info_init(const char *filename, void *platform) break; } set_parameters = &platform_set_parameters; my_data.do_full_parse = true; err_free_parser: if (my_data.kvpairs != NULL) { str_parms_destroy(my_data.kvpairs); my_data.kvpairs = NULL; } pthread_mutex_unlock(&my_data.lock); XML_ParserFree(parser); err_close_file: fclose(file); Loading Loading
hal/audio_extn/utils.c +1 −1 Original line number Diff line number Diff line Loading @@ -581,7 +581,7 @@ int audio_extn_utils_get_snd_card_num() } /* Initialize snd card name specific ids and/or backends*/ if (snd_card_info_init(platform_info_file, my_data, if (platform_info_init(platform_info_file, my_data, false, &acdb_set_parameters) < 0) { ALOGE("Failed to find platform_info_file"); goto cleanup; Loading
hal/msm8916/platform.c +2 −1 Original line number Diff line number Diff line Loading @@ -1132,7 +1132,8 @@ void *platform_init(struct audio_device *adev) /* Initialize ACDB and PCM ID's */ strlcpy(platform_info_path, PLATFORM_INFO_XML_PATH, MAX_MIXER_XML_PATH); resolve_config_file(platform_info_path); platform_info_init(platform_info_path, my_data); platform_info_init(platform_info_path, my_data, true, &platform_set_parameters); my_data->acdb_handle = dlopen(LIB_ACDB_LOADER, RTLD_NOW); if (my_data->acdb_handle == NULL) { Loading
hal/msm8974/platform.c +2 −1 Original line number Diff line number Diff line Loading @@ -1653,7 +1653,8 @@ void *platform_init(struct audio_device *adev) my_data->declared_mic_count = 0; /* Initialize platform specific ids and/or backends*/ platform_info_init(platform_info_file, my_data); platform_info_init(platform_info_file, my_data, true, &platform_set_parameters); ALOGD("%s: Loading mixer file: %s", __func__, mixer_xml_file); adev->audio_route = audio_route_init(snd_card_num, mixer_xml_file); Loading
hal/platform_api.h +4 −4 Original line number Diff line number Diff line Loading @@ -117,11 +117,11 @@ int platform_set_snd_device_backend(snd_device_t snd_device, const char * backen bool platform_sound_trigger_usecase_needs_event(audio_usecase_t uc_id); /* From platform_info.c */ int platform_info_init(const char *filename, void *); typedef int (*set_parameters_fn)(void *platform, struct str_parms *parms); int snd_card_info_init(const char *filename, void *, set_parameters_fn); /* From platform_info.c */ int platform_info_init(const char *filename, void *, bool do_full_parse, set_parameters_fn); int platform_get_usecase_index(const char * usecase); int platform_set_usecase_pcm_id(audio_usecase_t usecase, int32_t type, int32_t pcm_id); Loading
hal/platform_info.c +18 −16 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ #include "platform_api.h" #include <platform.h> #include <math.h> #include <pthread.h> /* * Mandatory microphone characteristics include: device_id, type, address, location, group, Loading Loading @@ -82,17 +83,19 @@ static section_process_fn section_table[] = { [ACDB_METAINFO_KEY] = process_acdb_metainfo_key, }; static set_parameters_fn set_parameters = &platform_set_parameters; static section_t section; struct platform_info { pthread_mutex_t lock; bool do_full_parse; void *platform; struct str_parms *kvpairs; set_parameters_fn set_parameters; }; static struct platform_info my_data = {true, NULL, NULL}; static struct platform_info my_data = {PTHREAD_MUTEX_INITIALIZER, true, NULL, NULL, &platform_set_parameters}; struct audio_string_to_enum { const char* name; Loading Loading @@ -415,7 +418,7 @@ static void process_config_params(const XML_Char **attr) } str_parms_add_str(my_data.kvpairs, (char*)attr[1], (char*)attr[3]); set_parameters(my_data.platform, my_data.kvpairs); my_data.set_parameters(my_data.platform, my_data.kvpairs); done: return; } Loading Loading @@ -857,14 +860,8 @@ static void end_tag(void *userdata __unused, const XML_Char *tag_name) } } int snd_card_info_init(const char *filename, void *platform, set_parameters_fn fn) { set_parameters = fn; my_data.do_full_parse = false; return platform_info_init(filename, platform); } int platform_info_init(const char *filename, void *platform) int platform_info_init(const char *filename, void *platform, bool do_full_parse, set_parameters_fn fn) { XML_Parser parser; FILE *file; Loading @@ -873,7 +870,6 @@ int platform_info_init(const char *filename, void *platform) void *buf; static const uint32_t kBufSize = 1024; char platform_info_file_name[MIXER_PATH_MAX_LENGTH]= {0}; section = ROOT; if (filename == NULL) { strlcpy(platform_info_file_name, PLATFORM_INFO_XML_PATH, MIXER_PATH_MAX_LENGTH); Loading @@ -899,8 +895,12 @@ int platform_info_init(const char *filename, void *platform) goto err_close_file; } pthread_mutex_lock(&my_data.lock); section = ROOT; my_data.do_full_parse = do_full_parse; my_data.platform = platform; my_data.kvpairs = str_parms_create(); my_data.set_parameters = fn; XML_SetElementHandler(parser, start_tag, end_tag); Loading Loading @@ -931,10 +931,12 @@ int platform_info_init(const char *filename, void *platform) break; } set_parameters = &platform_set_parameters; my_data.do_full_parse = true; err_free_parser: if (my_data.kvpairs != NULL) { str_parms_destroy(my_data.kvpairs); my_data.kvpairs = NULL; } pthread_mutex_unlock(&my_data.lock); XML_ParserFree(parser); err_close_file: fclose(file); Loading