Fix SVACE defects & coding rules 11/53511/4 accepted/tizen/mobile/20151214.134925 submit/tizen_mobile/20151214.085752
authorSeungbae Shin <seungbae.shin@samsung.com>
Mon, 7 Dec 2015 11:15:42 +0000 (20:15 +0900)
committerSeungbae Shin <seungbae.shin@samsung.com>
Mon, 14 Dec 2015 07:17:27 +0000 (16:17 +0900)
Change-Id: I86b75ecd7ca671762c5253470756429413766c73

tizen-audio-device.c
tizen-audio-internal.h
tizen-audio-ucm.c
tizen-audio-util.c
tizen-audio-volume.c
tizen-audio.c

index b907acc..1190964 100644 (file)
@@ -51,22 +51,22 @@ static uint32_t convert_device_string_to_enum(const char* device_str, uint32_t d
 {
     uint32_t device = 0;
 
-    if (!strncmp(device_str,"builtin-speaker", MAX_NAME_LEN)) {
+    if (!strncmp(device_str, "builtin-speaker", MAX_NAME_LEN)) {
         device = AUDIO_DEVICE_OUT_SPEAKER;
-    } else if (!strncmp(device_str,"builtin-receiver", MAX_NAME_LEN)) {
+    } else if (!strncmp(device_str, "builtin-receiver", MAX_NAME_LEN)) {
         device = AUDIO_DEVICE_OUT_RECEIVER;
-    } else if ((!strncmp(device_str,"audio-jack", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_OUT)) {
+    } else if ((!strncmp(device_str, "audio-jack", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_OUT)) {
         device = AUDIO_DEVICE_OUT_JACK;
-    } else if ((!strncmp(device_str,"bt", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_OUT)) {
+    } else if ((!strncmp(device_str, "bt", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_OUT)) {
         device = AUDIO_DEVICE_OUT_BT_SCO;
-    } else if (!strncmp(device_str,"hdmi", MAX_NAME_LEN)) {
+    } else if (!strncmp(device_str, "hdmi", MAX_NAME_LEN)) {
         device = AUDIO_DEVICE_OUT_HDMI;
-    } else if ((!strncmp(device_str,"builtin-mic", MAX_NAME_LEN))) {
+    } else if ((!strncmp(device_str, "builtin-mic", MAX_NAME_LEN))) {
         device = AUDIO_DEVICE_IN_MAIN_MIC;
     /* To Do : SUB_MIC */
-    } else if ((!strncmp(device_str,"audio-jack", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_IN)) {
+    } else if ((!strncmp(device_str, "audio-jack", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_IN)) {
         device = AUDIO_DEVICE_IN_JACK;
-    } else if ((!strncmp(device_str,"bt", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_IN)) {
+    } else if ((!strncmp(device_str, "bt", MAX_NAME_LEN)) && (direction == AUDIO_DIRECTION_IN)) {
         device = AUDIO_DEVICE_IN_BT_SCO;
     } else {
         device = AUDIO_DEVICE_NONE;
@@ -237,7 +237,6 @@ audio_return_t _do_route_voip(audio_hal_t *ah, device_info_t *devices, int32_t n
 {
     audio_return_t audio_ret = AUDIO_RET_OK;
     const char *verb = NULL;
-    const char *active_devices[MAX_DEVICES] = {NULL,};
     verb = AUDIO_USE_CASE_VERB_HIFI;
 
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
@@ -252,10 +251,6 @@ audio_return_t _do_route_voip(audio_hal_t *ah, device_info_t *devices, int32_t n
     }
     /* FIXME. If necessary, set VERB_VOIP */
     ah->device.mode = VERB_NORMAL;
-    if (active_devices == NULL) {
-        AUDIO_LOG_ERROR("Failed to set device: active device is NULL");
-        return AUDIO_ERR_PARAMETER;
-    }
 
     /* TO DO: Set modifiers */
     return audio_ret;
@@ -535,7 +530,7 @@ audio_return_t audio_pcm_open(void *audio_handle, void **pcm_handle, uint32_t di
     ah = (audio_hal_t *)audio_handle;
     mode =  SND_PCM_NONBLOCK | SND_PCM_NO_AUTO_RESAMPLE | SND_PCM_NO_AUTO_CHANNELS | SND_PCM_NO_AUTO_FORMAT;
 
-    if(direction == AUDIO_DIRECTION_OUT)
+    if (direction == AUDIO_DIRECTION_OUT)
         device_name = PLAYBACK_PCM_DEVICE;
     else if (direction == AUDIO_DIRECTION_IN)
         device_name = CAPTURE_PCM_DEVICE;
@@ -1039,7 +1034,7 @@ audio_return_t audio_pcm_set_params(void *audio_handle, void *pcm_handle, uint32
     }
 
     /* Set sw params */
-    if ((err = snd_pcm_sw_params_current(pcm_handle, swparams) < 0)) {
+    if ((err = snd_pcm_sw_params_current(pcm_handle, swparams)) < 0) {
         AUDIO_LOG_ERROR("Unable to determine current swparams : %d", err);
         return AUDIO_ERR_PARAMETER;
     }
index 092d09b..22cd7b0 100644 (file)
@@ -312,8 +312,8 @@ int _voice_pcm_open(audio_hal_t *ah);
 int _voice_pcm_close(audio_hal_t *ah, uint32_t direction);
 audio_return_t _audio_ucm_get_verb(audio_hal_t *ah, const char **value);
 audio_return_t _audio_ucm_reset_use_case(audio_hal_t *ah);
-audio_return_t _audio_util_init (audio_hal_t *ah);
-audio_return_t _audio_util_deinit (audio_hal_t *ah);
+audio_return_t _audio_util_init(audio_hal_t *ah);
+audio_return_t _audio_util_deinit(audio_hal_t *ah);
 audio_return_t _audio_mixer_control_set_param(audio_hal_t *ah, const char* ctl_name, snd_ctl_elem_value_t* value, int size);
 audio_return_t _audio_mixer_control_set_value(audio_hal_t *ah, const char *ctl_name, int val);
 audio_return_t _audio_mixer_control_set_value_string(audio_hal_t *ah, const char* ctl_name, const char* value);
@@ -322,4 +322,16 @@ audio_return_t _audio_mixer_control_get_element(audio_hal_t *ah, const char *ctl
 audio_return_t _audio_pcm_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min, uint8_t period_event);
 audio_return_t _audio_pcm_set_hw_params(snd_pcm_t *pcm, audio_pcm_sample_spec_t *sample_spec, uint8_t *use_mmap, snd_pcm_uframes_t *period_size, snd_pcm_uframes_t *buffer_size);
 uint32_t _convert_format(audio_sample_format_t format);
+
+typedef struct _dump_data {
+    char *strbuf;
+    int left;
+    char *p;
+} dump_data_t;
+
+dump_data_t* dump_new(int length);
+void dump_add_str(dump_data_t *dump, const char *fmt, ...);
+char* dump_get_str(dump_data_t *dump);
+void dump_free(dump_data_t *dump);
+
 #endif
index f8d053e..7161539 100644 (file)
 #define SND_USE_CASE_SET snd_use_case_set
 #endif
 
+#define UCM_PREFIX_CURRENT   ">>> UCM current"
+#define UCM_PREFIX_REQUESTED "> UCM requested"
+#define UCM_PREFIX_CHANGED   "<<< UCM changed"
+
 audio_return_t _audio_ucm_init(audio_hal_t *ah)
 {
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
@@ -63,16 +67,14 @@ audio_return_t _audio_ucm_deinit(audio_hal_t *ah)
 
 void _audio_ucm_get_device_name(audio_hal_t *ah, const char *use_case, audio_direction_t direction, const char **value)
 {
-    char identifier[70] = {0};
+    char identifier[70] = { 0, };
 
     AUDIO_RETURN_IF_FAIL(ah);
     AUDIO_RETURN_IF_FAIL(ah->ucm.uc_mgr);
 
-    if (direction == AUDIO_DIRECTION_IN) {
-        sprintf(identifier, "CapturePCM//%s", use_case);
-    } else {
-        sprintf(identifier, "PlaybackPCM//%s", use_case);
-    }
+    snprintf(identifier, sizeof(identifier), "%sPCM//%s",
+             (direction == AUDIO_DIRECTION_IN) ? "Capture" : "Playback", use_case);
+
     snd_use_case_get(ah->ucm.uc_mgr, identifier, value);
 }
 
@@ -126,7 +128,7 @@ int _audio_ucm_fill_device_info_list(audio_hal_t *ah, audio_device_info_t *devic
         if (strncmp(verb, AUDIO_USE_CASE_VERB_VOICECALL, strlen(AUDIO_USE_CASE_VERB_VOICECALL)) &&
             strncmp(verb, AUDIO_USE_CASE_VERB_LOOPBACK, strlen(AUDIO_USE_CASE_VERB_LOOPBACK))) {
             __add_ucm_device_info(ah, verb, AUDIO_DIRECTION_IN, device_info_list, &device_info_count);
-            if(strncmp(verb, AUDIO_USE_CASE_VERB_FMRADIO, strlen(AUDIO_USE_CASE_VERB_FMRADIO))) {
+            if (strncmp(verb, AUDIO_USE_CASE_VERB_FMRADIO, strlen(AUDIO_USE_CASE_VERB_FMRADIO))) {
                 __add_ucm_device_info(ah, verb, AUDIO_DIRECTION_OUT, device_info_list, &device_info_count);
             }
         }
@@ -139,43 +141,40 @@ int _audio_ucm_fill_device_info_list(audio_hal_t *ah, audio_device_info_t *devic
     return device_info_count;
 }
 
-static void __dump_use_case(const char *verb, const char *devices[], int dev_count, const char *modifiers[], int mod_count, char *dump)
+#define DUMP_LEN 512
+
+static void __dump_use_case(const char* prefix, const char *verb, const char *devices[], int dev_count, const char *modifiers[], int mod_count)
 {
-    int i, len;
+    int i;
+    dump_data_t* dump = NULL;
+
+    if (!(dump = dump_new(DUMP_LEN))) {
+        AUDIO_LOG_ERROR("Failed to create dump string...");
+        return;
+    }
 
-    len = sprintf(dump, "Verb [ %s ] Devices [ ", verb ? verb : AUDIO_USE_CASE_VERB_INACTIVE);
-    if (len > 0)
-        dump += len;
+    /* Verb */
+    dump_add_str(dump, "Verb [ %s ] Devices [ ", verb ? verb : AUDIO_USE_CASE_VERB_INACTIVE);
 
-    for (i = 0; i < dev_count; i++) {
-        if (i != dev_count - 1) {
-            len = sprintf(dump, "%s, ", devices[i]);
-        } else {
-            len = sprintf(dump, "%s", devices[i]);
+    /* Devices */
+    if (devices) {
+        for (i = 0; i < dev_count; i++) {
+            dump_add_str(dump, (i != dev_count - 1) ? "%s, " : "%s", devices[i]);
         }
-        if (len > 0)
-            dump += len;
     }
+    dump_add_str(dump, " ] Modifier [ ");
 
-    len = sprintf(dump, " ] Modifier [ ");
-    if (len > 0)
-        dump += len;
-
-    for (i = 0; i < mod_count; i++) {
-        if (i != mod_count - 1) {
-            len = sprintf(dump, "%s, ", modifiers[i]);
-        } else {
-            len = sprintf(dump, "%s", modifiers[i]);
+    /* Modifiers */
+    if (modifiers) {
+        for (i = 0; i < mod_count; i++) {
+            dump_add_str(dump, (i != mod_count - 1) ? "%s, " : "%s", modifiers[i]);
         }
-        if (len > 0)
-            dump += len;
     }
+    dump_add_str(dump, " ]");
 
-    len = sprintf(dump, " ]");
-    if (len > 0)
-        dump += len;
+    AUDIO_LOG_INFO("TEST %s : %s", prefix, dump_get_str(dump));
 
-    *dump = '\0';
+    dump_free(dump);
 }
 
 #ifdef ALSA_UCM_DEBUG_TIME
@@ -222,7 +221,6 @@ audio_return_t _audio_ucm_set_use_case(audio_hal_t *ah, const char *verb, const
     int dis_dev_count = 0, ena_dev_count = 0;
     int dis_mod_count = 0, ena_mod_count = 0;
     int i = 0, j = 0;
-    char dump_str[512];
 
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
     AUDIO_RETURN_VAL_IF_FAIL(ah->ucm.uc_mgr, AUDIO_ERR_PARAMETER);
@@ -231,8 +229,7 @@ audio_return_t _audio_ucm_set_use_case(audio_hal_t *ah, const char *verb, const
     snd_use_case_get(ah->ucm.uc_mgr, "_verb", &old_verb);
     old_dev_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enadevs", &old_dev_list);
     old_mod_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enamods", &old_mod_list);
-    __dump_use_case(old_verb, old_dev_list, old_dev_count, old_mod_list, old_mod_count, &dump_str[0]);
-    AUDIO_LOG_INFO(">>> UCM current %s", dump_str);
+    __dump_use_case(UCM_PREFIX_CURRENT, old_verb, old_dev_list, old_dev_count, old_mod_list, old_mod_count);
 
     if (devices) {
         for (dev_count = 0; devices[dev_count]; dev_count++);
@@ -241,8 +238,7 @@ audio_return_t _audio_ucm_set_use_case(audio_hal_t *ah, const char *verb, const
         for (mod_count = 0; modifiers[mod_count]; mod_count++);
     }
 
-    __dump_use_case(verb, devices, dev_count, modifiers, mod_count, &dump_str[0]);
-    AUDIO_LOG_INFO("> UCM requested %s", dump_str);
+    __dump_use_case(UCM_PREFIX_REQUESTED, verb, devices, dev_count, modifiers, mod_count);
 
     if (old_verb && streq(verb, old_verb)) {
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
@@ -380,13 +376,13 @@ audio_return_t _audio_ucm_set_use_case(audio_hal_t *ah, const char *verb, const
         /* enable devices */
         for (i = 0; i < dev_count; i++) {
             AUDIO_LOG_DEBUG("Enable device : %s", devices[i]);
-            if(snd_use_case_set(ah->ucm.uc_mgr, "_enadev", devices[i]) < 0)
+            if (snd_use_case_set(ah->ucm.uc_mgr, "_enadev", devices[i]) < 0)
                 AUDIO_LOG_ERROR("Enable %s device failed", devices[i]);
         }
         /* enable modifiers */
         for (i = 0; i < mod_count; i++) {
             AUDIO_LOG_DEBUG("Enable modifier : %s", modifiers[i]);
-            if(snd_use_case_set(ah->ucm.uc_mgr, "_enamod", modifiers[i]) < 0)
+            if (snd_use_case_set(ah->ucm.uc_mgr, "_enamod", modifiers[i]) < 0)
                 AUDIO_LOG_ERROR("Enable %s modifier failed", modifiers[i]);
         }
     }
@@ -414,8 +410,7 @@ exit:
         snd_use_case_get(ah->ucm.uc_mgr, "_verb", &new_verb);
         new_dev_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enadevs", &new_dev_list);
         new_mod_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enamods", &new_mod_list);
-        __dump_use_case(new_verb, new_dev_list, new_dev_count, new_mod_list, new_mod_count, &dump_str[0]);
-        AUDIO_LOG_INFO("<<< UCM changed %s", dump_str);
+        __dump_use_case(UCM_PREFIX_CHANGED, new_verb, new_dev_list, new_dev_count, new_mod_list, new_mod_count);
 
         if (new_verb)
             free((void *)new_verb);
@@ -437,7 +432,6 @@ audio_return_t _audio_ucm_set_devices(audio_hal_t *ah, const char *verb, const c
     const char **dis_dev_list = NULL, **ena_dev_list = NULL;
     int dis_dev_count = 0, ena_dev_count = 0;
     int i = 0, j = 0;
-    char dump_str[512];
 
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
     AUDIO_RETURN_VAL_IF_FAIL(ah->ucm.uc_mgr, AUDIO_ERR_PARAMETER);
@@ -446,15 +440,13 @@ audio_return_t _audio_ucm_set_devices(audio_hal_t *ah, const char *verb, const c
 
     snd_use_case_get(ah->ucm.uc_mgr, "_verb", &old_verb);
     old_dev_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enadevs", &old_dev_list);
-    __dump_use_case(old_verb, old_dev_list, old_dev_count, NULL, 0, &dump_str[0]);
-    AUDIO_LOG_INFO(">>> UCM current %s", dump_str);
+    __dump_use_case(UCM_PREFIX_CURRENT, old_verb, old_dev_list, old_dev_count, NULL, 0);
 
     if (devices) {
         for (dev_count = 0; devices[dev_count]; dev_count++);
     }
 
-    __dump_use_case(verb, devices, dev_count, NULL, 0, &dump_str[0]);
-    AUDIO_LOG_INFO("> UCM requested %s", dump_str);
+    __dump_use_case(UCM_PREFIX_REQUESTED, verb, devices, dev_count, NULL, 0);
 
     if (old_verb && streq(verb, old_verb)) {
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
@@ -533,7 +525,7 @@ audio_return_t _audio_ucm_set_devices(audio_hal_t *ah, const char *verb, const c
         /* enable devices */
         for (i = 0; i < dev_count; i++) {
             AUDIO_LOG_DEBUG("Enable device : %s", devices[i]);
-            if(snd_use_case_set(ah->ucm.uc_mgr, "_enadev", devices[i]) < 0)
+            if (snd_use_case_set(ah->ucm.uc_mgr, "_enadev", devices[i]) < 0)
                 AUDIO_LOG_ERROR("Enable %s device failed", devices[i]);
         }
     }
@@ -554,8 +546,7 @@ exit:
 
         snd_use_case_get(ah->ucm.uc_mgr, "_verb", &new_verb);
         new_dev_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enadevs", &new_dev_list);
-        __dump_use_case(new_verb, new_dev_list, new_dev_count, NULL, 0, &dump_str[0]);
-        AUDIO_LOG_INFO("<<< UCM changed %s", dump_str);
+        __dump_use_case(UCM_PREFIX_CHANGED, new_verb, new_dev_list, new_dev_count, NULL, 0);
 
         if (new_verb)
             free((void *)new_verb);
@@ -576,7 +567,6 @@ audio_return_t _audio_ucm_set_modifiers(audio_hal_t *ah, const char *verb, const
     const char **dis_mod_list = NULL, **ena_mod_list = NULL;
     int dis_mod_count = 0, ena_mod_count = 0;
     int i = 0, j = 0;
-    char dump_str[512];
 
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
     AUDIO_RETURN_VAL_IF_FAIL(ah->ucm.uc_mgr, AUDIO_ERR_PARAMETER);
@@ -585,15 +575,13 @@ audio_return_t _audio_ucm_set_modifiers(audio_hal_t *ah, const char *verb, const
 
     snd_use_case_get(ah->ucm.uc_mgr, "_verb", &old_verb);
     old_mod_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enamods", &old_mod_list);
-    __dump_use_case(old_verb, NULL, 0, old_mod_list, old_mod_count, &dump_str[0]);
-    AUDIO_LOG_INFO(">>> UCM current %s", dump_str);
+    __dump_use_case(UCM_PREFIX_CURRENT, old_verb, NULL, 0, old_mod_list, old_mod_count);
 
     if (modifiers) {
         for (mod_count = 0; modifiers[mod_count]; mod_count++);
     }
 
-    __dump_use_case(verb, NULL, 0, modifiers, mod_count, &dump_str[0]);
-    AUDIO_LOG_INFO("> UCM requested %s", dump_str);
+    __dump_use_case(UCM_PREFIX_REQUESTED, verb, NULL, 0, modifiers, mod_count);
 
     if (old_verb && streq(verb, old_verb)) {
         AUDIO_LOG_DEBUG("current verb and new verb is same. No need to change verb, disable devices explicitely");
@@ -671,7 +659,7 @@ audio_return_t _audio_ucm_set_modifiers(audio_hal_t *ah, const char *verb, const
         /* enable modifiers */
         for (i = 0; i < mod_count; i++) {
             AUDIO_LOG_DEBUG("Enable modifier : %s", modifiers[i]);
-            if(snd_use_case_set(ah->ucm.uc_mgr, "_enamod", modifiers[i]) < 0)
+            if (snd_use_case_set(ah->ucm.uc_mgr, "_enamod", modifiers[i]) < 0)
                 AUDIO_LOG_ERROR("Enable %s modifier failed", modifiers[i]);
         }
     }
@@ -692,8 +680,7 @@ exit:
 
         snd_use_case_get(ah->ucm.uc_mgr, "_verb", &new_verb);
         new_mod_count = snd_use_case_get_list(ah->ucm.uc_mgr, "_enamods", &new_mod_list);
-        __dump_use_case(new_verb, NULL, 0, new_mod_list, new_mod_count, &dump_str[0]);
-        AUDIO_LOG_INFO("<<< UCM changed %s", dump_str);
+        __dump_use_case(UCM_PREFIX_CHANGED, new_verb, NULL, 0, new_mod_list, new_mod_count);
 
         if (new_verb)
             free((void *)new_verb);
index 00b09ce..4e06923 100644 (file)
@@ -99,7 +99,7 @@ audio_return_t _audio_mixer_control_get_value(audio_hal_t *ah, const char *ctl_n
 
     ret = snd_ctl_open(&handle, ALSA_DEFAULT_CARD, 0);
     if (ret < 0) {
-        AUDIO_LOG_ERROR ("snd_ctl_open error, %s\n", snd_strerror(ret));
+        AUDIO_LOG_ERROR("snd_ctl_open error, %s\n", snd_strerror(ret));
         pthread_mutex_unlock(&(ah->mixer.mutex));
         return AUDIO_ERR_IOCTL;
     }
@@ -114,8 +114,8 @@ audio_return_t _audio_mixer_control_get_value(audio_hal_t *ah, const char *ctl_n
     snd_ctl_elem_id_set_name(id, ctl_name);
 
     snd_ctl_elem_info_set_id(info, id);
-    if(snd_ctl_elem_info(handle, info) < 0 ) {
-        AUDIO_LOG_ERROR ("Cannot find control element: %s\n", ctl_name);
+    if (snd_ctl_elem_info(handle, info) < 0) {
+        AUDIO_LOG_ERROR("Cannot find control element: %s\n", ctl_name);
         goto close;
     }
     snd_ctl_elem_info_get_id(info, id);
@@ -125,8 +125,8 @@ audio_return_t _audio_mixer_control_get_value(audio_hal_t *ah, const char *ctl_n
 
     snd_ctl_elem_value_set_id(control, id);
 
-    if(snd_ctl_elem_read(handle, control) < 0) {
-        AUDIO_LOG_ERROR ("snd_ctl_elem_read failed \n");
+    if (snd_ctl_elem_read(handle, control) < 0) {
+        AUDIO_LOG_ERROR("snd_ctl_elem_read failed \n");
         goto close;
 }
 
@@ -143,7 +143,7 @@ audio_return_t _audio_mixer_control_get_value(audio_hal_t *ah, const char *ctl_n
         *val = snd_ctl_elem_value_get_enumerated(control, i);
         break;
     default:
-        AUDIO_LOG_WARN ("unsupported control element type\n");
+        AUDIO_LOG_WARN("unsupported control element type\n");
         goto close;
     }
 
@@ -157,7 +157,7 @@ audio_return_t _audio_mixer_control_get_value(audio_hal_t *ah, const char *ctl_n
     return AUDIO_RET_OK;
 
 close:
-    AUDIO_LOG_ERROR ("Error\n");
+    AUDIO_LOG_ERROR("Error\n");
     snd_ctl_close(handle);
     pthread_mutex_unlock(&(ah->mixer.mutex));
     return AUDIO_ERR_UNDEFINED;
@@ -196,7 +196,7 @@ audio_return_t _audio_mixer_control_set_value(audio_hal_t *ah, const char *ctl_n
     snd_ctl_elem_id_set_name(id, ctl_name);
 
     snd_ctl_elem_info_set_id(info, id);
-    if(snd_ctl_elem_info(handle, info) < 0 ) {
+    if (snd_ctl_elem_info(handle, info) < 0) {
         AUDIO_LOG_ERROR("Cannot find control element: %s", ctl_name);
         goto close;
     }
@@ -216,11 +216,11 @@ audio_return_t _audio_mixer_control_set_value(audio_hal_t *ah, const char *ctl_n
         break;
     case SND_CTL_ELEM_TYPE_INTEGER:
         for (i = 0; i < count; i++)
-            snd_ctl_elem_value_set_integer(control, i,val);
+            snd_ctl_elem_value_set_integer(control, i, val);
         break;
     case SND_CTL_ELEM_TYPE_ENUMERATED:
         for (i = 0; i < count; i++)
-            snd_ctl_elem_value_set_enumerated(control, i,val);
+            snd_ctl_elem_value_set_enumerated(control, i, val);
         break;
 
     default:
@@ -321,7 +321,7 @@ audio_return_t _audio_pcm_set_hw_params(snd_pcm_t *pcm, audio_pcm_sample_spec_t
     snd_pcm_hw_params_alloca(&hwparams);
 
     /* Fill it in with default values. */
-    if(snd_pcm_hw_params_any(pcm, hwparams) < 0) {
+    if (snd_pcm_hw_params_any(pcm, hwparams) < 0) {
         AUDIO_LOG_ERROR("snd_pcm_hw_params_any() : failed! - %s\n", snd_strerror(err));
         goto error;
     }
@@ -413,7 +413,7 @@ audio_return_t _audio_pcm_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_
 
     snd_pcm_sw_params_alloca(&swparams);
 
-    if ((err = snd_pcm_sw_params_current(pcm, swparams) < 0)) {
+    if ((err = snd_pcm_sw_params_current(pcm, swparams)) < 0) {
         AUDIO_LOG_WARN("Unable to determine current swparams: %s\n", snd_strerror(err));
         goto error;
     }
@@ -449,3 +449,55 @@ audio_return_t _audio_pcm_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_
 error:
     return err;
 }
+
+/* ------ dump helper --------  */
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+
+dump_data_t* dump_new(int length)
+{
+    dump_data_t* dump = NULL;
+
+    if ((dump = malloc(sizeof(dump_data_t)))) {
+        memset(dump, 0, sizeof(dump_data_t));
+        if ((dump->strbuf = malloc(length))) {
+            dump->p = &dump->strbuf[0];
+            dump->left = length;
+        } else {
+            free(dump);
+            dump = NULL;
+        }
+    }
+
+    return dump;
+}
+
+void dump_add_str(dump_data_t *dump, const char *fmt, ...)
+{
+    int len;
+    va_list ap;
+
+    if (!dump)
+        return;
+
+    va_start(ap, fmt);
+    len = vsnprintf(dump->p, dump->left, fmt, ap);
+    va_end(ap);
+
+    dump->p += MAX(0, len);
+    dump->left -= MAX(0, len);
+}
+
+char* dump_get_str(dump_data_t *dump)
+{
+    return (dump) ? dump->strbuf : NULL;
+}
+
+void dump_free(dump_data_t *dump)
+{
+    if (dump) {
+        if (dump->strbuf)
+            free(dump->strbuf);
+        free(dump);
+    }
+}
+/* ------ dump helper --------  */
index 44c5730..c8f9a42 100644 (file)
@@ -46,7 +46,7 @@ static const char *g_volume_vconf[AUDIO_VOLUME_TYPE_MAX] = {
     "file/private/sound/volume/voice",          /* AUDIO_VOLUME_TYPE_VOICE */
 };
 
-static const char *__get_volume_type_string_by_idx (uint32_t vol_type_idx)
+static const char *__get_volume_type_string_by_idx(uint32_t vol_type_idx)
 {
     switch (vol_type_idx) {
     case AUDIO_VOLUME_TYPE_SYSTEM:          return "system";
@@ -61,7 +61,7 @@ static const char *__get_volume_type_string_by_idx (uint32_t vol_type_idx)
     }
 }
 
-static uint32_t __get_volume_idx_by_string_type (const char *vol_type)
+static uint32_t __get_volume_idx_by_string_type(const char *vol_type)
 {
     if (!strncmp(vol_type, "system", strlen(vol_type)) || !strncmp(vol_type, "0", strlen(vol_type)))
         return AUDIO_VOLUME_TYPE_SYSTEM;
@@ -83,7 +83,7 @@ static uint32_t __get_volume_idx_by_string_type (const char *vol_type)
         return AUDIO_VOLUME_TYPE_MEDIA;
 }
 
-static const char *__get_gain_type_string_by_idx (uint32_t gain_type_idx)
+static const char *__get_gain_type_string_by_idx(uint32_t gain_type_idx)
 {
     switch (gain_type_idx) {
     case AUDIO_GAIN_TYPE_DEFAULT:           return "default";
@@ -101,7 +101,7 @@ static const char *__get_gain_type_string_by_idx (uint32_t gain_type_idx)
     }
 }
 
-static void __dump_tb (audio_hal_t *ah)
+static void __dump_tb(audio_hal_t *ah)
 {
     audio_volume_value_table_t *volume_value_table = ah->volume.volume_value_table;
     uint32_t vol_type_idx, vol_level_idx, gain_type_idx;
@@ -173,7 +173,7 @@ static void __dump_tb (audio_hal_t *ah)
 
 }
 
-static audio_return_t __load_volume_value_table_from_ini (audio_hal_t *ah)
+static audio_return_t __load_volume_value_table_from_ini(audio_hal_t *ah)
 {
     dictionary * dict = NULL;
     uint32_t vol_type_idx, vol_level_idx, gain_type_idx;
@@ -209,7 +209,7 @@ static audio_return_t __load_volume_value_table_from_ini (audio_hal_t *ah)
                 while (token) {
                     /* convert dB volume to linear volume */
                     double vol_value = 0.0f;
-                    if(strncmp(token, "0", strlen(token)))
+                    if (strncmp(token, "0", strlen(token)))
                         vol_value = pow(10.0, (atof(token) - 100) / 20.0);
                     volume_value_table->volume[vol_type_idx][volume_value_table->volume_level_max[vol_type_idx]++] = vol_value;
                     token = strtok_r(NULL, delimiter, &ptr);
@@ -252,7 +252,7 @@ static audio_return_t __load_volume_value_table_from_ini (audio_hal_t *ah)
     return AUDIO_RET_OK;
 }
 
-audio_return_t _audio_volume_init (audio_hal_t *ah)
+audio_return_t _audio_volume_init(audio_hal_t *ah)
 {
     int i;
     int val = 0;
@@ -267,7 +267,7 @@ audio_return_t _audio_volume_init (audio_hal_t *ah)
 
     for (i = 0; i < AUDIO_VOLUME_TYPE_MAX; i++) {
         /* Get volume value string from VCONF */
-        if(vconf_get_int(g_volume_vconf[i], &val) < 0) {
+        if (vconf_get_int(g_volume_vconf[i], &val) < 0) {
             AUDIO_LOG_ERROR("vconf_get_int(%s) failed", g_volume_vconf[i]);
             continue;
         }
@@ -282,7 +282,7 @@ audio_return_t _audio_volume_init (audio_hal_t *ah)
     }
 
     audio_ret = __load_volume_value_table_from_ini(ah);
-    if(audio_ret != AUDIO_RET_OK) {
+    if (audio_ret != AUDIO_RET_OK) {
         AUDIO_LOG_ERROR("gain table load error");
         return AUDIO_ERR_UNDEFINED;
     }
@@ -290,7 +290,7 @@ audio_return_t _audio_volume_init (audio_hal_t *ah)
     return audio_ret;
 }
 
-audio_return_t _audio_volume_deinit (audio_hal_t *ah)
+audio_return_t _audio_volume_deinit(audio_hal_t *ah)
 {
     AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
 
index cad4284..882a9b4 100644 (file)
@@ -29,7 +29,7 @@ static const char* AUDIO_LATENCY_MID  = "mid";
 static const char* AUDIO_LATENCY_HIGH = "high";
 static const char* AUDIO_LATENCY_VOIP = "voip";
 
-audio_return_t audio_init (void **audio_handle)
+audio_return_t audio_init(void **audio_handle)
 {
     audio_hal_t *ah;
     audio_return_t ret = AUDIO_RET_OK;
@@ -67,7 +67,7 @@ error_exit:
     return ret;
 }
 
-audio_return_t audio_deinit (void *audio_handle)
+audio_return_t audio_deinit(void *audio_handle)
 {
     audio_hal_t *ah = (audio_hal_t *)audio_handle;