Add version of so files
[platform/core/multimedia/libmm-camcorder.git] / src / mm_camcorder_platform.c
index 5c5df8c..10dc4fa 100644 (file)
@@ -22,7 +22,7 @@
 /*===========================================================================================
 |                                                                                                                                                                                      |
 |  INCLUDE FILES                                                                                                                                                       |
-|                                                                                                                                                                                      |
+|                                                                                                                                                                                      |
 ========================================================================================== */
 #include "mm_camcorder_internal.h"
 #include "mm_camcorder_platform.h"
 /*---------------------------------------------------------------------------
 |    LOCAL VARIABLE DEFINITIONS for internal                                                           |
 ---------------------------------------------------------------------------*/
-#define        MM_CAMCORDER_ATTR_NONE  -1
-
 
-// Rule 1. 1:1 match except NONE.
-// Rule 2. MSL should be Superset.
-// Rule 3. sensor value should not be same as _MMCAMCORDER_SENSOR_ENUM_NONE.
+/*
+ * Rule 1. 1:1 match except NONE.
+ * Rule 2. MSL should be Superset.
+ * Rule 3. sensor value should not be same as _MMCAMCORDER_SENSOR_ENUM_NONE.
+*/
 
 static int __enum_conv_whitebalance[MM_CAMCORDER_WHITE_BALANCE_NUM] ;
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_whitebalance =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_whitebalance = {
        MM_CAMCORDER_WHITE_BALANCE_NUM,
        __enum_conv_whitebalance,
        CONFIGURE_CATEGORY_CTRL_EFFECT,
@@ -55,8 +54,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_whitebalance =
 
 static int __enum_conv_colortone[MM_CAMCORDER_COLOR_TONE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_colortone =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_colortone = {
        MM_CAMCORDER_COLOR_TONE_NUM,
        __enum_conv_colortone,
        CONFIGURE_CATEGORY_CTRL_EFFECT,
@@ -66,8 +64,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_colortone =
 
 static int __enum_conv_iso[MM_CAMCORDER_ISO_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_iso =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_iso = {
        MM_CAMCORDER_ISO_NUM,
        __enum_conv_iso,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -77,8 +74,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_iso =
 
 static int __enum_conv_prgrm[MM_CAMCORDER_SCENE_MODE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_prgrm =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_prgrm = {
        MM_CAMCORDER_SCENE_MODE_NUM,
        __enum_conv_prgrm,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -88,8 +84,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_prgrm =
 
 static int __enum_conv_focus_mode[MM_CAMCORDER_FOCUS_MODE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_mode =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_mode = {
        MM_CAMCORDER_FOCUS_MODE_NUM,
        __enum_conv_focus_mode,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -99,8 +94,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_mode =
 
 static int __enum_conv_focus_type[MM_CAMCORDER_AUTO_FOCUS_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_type =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_type = {
        MM_CAMCORDER_AUTO_FOCUS_NUM,
        __enum_conv_focus_type,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -110,8 +104,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_focus_type =
 
 static int __enum_conv_ae_type[MM_CAMCORDER_AUTO_EXPOSURE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_ae_type =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_ae_type = {
        MM_CAMCORDER_AUTO_EXPOSURE_NUM,
        __enum_conv_ae_type,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -121,8 +114,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_ae_type =
 
 static int __enum_conv_strobe_ctrl[MM_CAMCORDER_STROBE_CONTROL_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_ctrl =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_ctrl = {
        MM_CAMCORDER_STROBE_CONTROL_NUM,
        __enum_conv_strobe_ctrl,
        CONFIGURE_CATEGORY_CTRL_STROBE,
@@ -132,8 +124,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_ctrl =
 
 static int __enum_conv_strobe_mode[MM_CAMCORDER_STROBE_MODE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_mode =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_mode = {
        MM_CAMCORDER_STROBE_MODE_NUM,
        __enum_conv_strobe_mode,
        CONFIGURE_CATEGORY_CTRL_STROBE,
@@ -143,8 +134,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_mode =
 
 static int __enum_conv_wdr_ctrl[MM_CAMCORDER_WDR_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_wdr_ctrl =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_wdr_ctrl = {
        MM_CAMCORDER_WDR_NUM,
        __enum_conv_wdr_ctrl,
        CONFIGURE_CATEGORY_CTRL_EFFECT,
@@ -153,8 +143,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_wdr_ctrl =
 
 static int __enum_conv_flip_ctrl[MM_CAMCORDER_FLIP_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_flip_ctrl =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_flip_ctrl = {
        MM_CAMCORDER_FLIP_NUM,
        __enum_conv_flip_ctrl,
        CONFIGURE_CATEGORY_CTRL_EFFECT,
@@ -163,8 +152,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_flip_ctrl =
 
 static int __enum_conv_rotation_ctrl[MM_CAMCORDER_ROTATION_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_rotation_ctrl =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_rotation_ctrl = {
        MM_CAMCORDER_ROTATION_NUM,
        __enum_conv_rotation_ctrl,
        CONFIGURE_CATEGORY_CTRL_EFFECT,
@@ -174,8 +162,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_rotation_ctrl =
 
 static int __enum_conv_ahs[MM_CAMCORDER_AHS_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_ahs =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_ahs = {
        MM_CAMCORDER_AHS_NUM,
        __enum_conv_ahs,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -185,8 +172,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_ahs =
 
 static int __enum_conv_video_stabilization[MM_CAMCORDER_VIDEO_STABILIZATION_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_video_stabilization =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_video_stabilization = {
        MM_CAMCORDER_VIDEO_STABILIZATION_NUM,
        __enum_conv_video_stabilization,
        CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
@@ -196,8 +182,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_video_stabilization =
 
 static int __enum_conv_hdr_capture[MM_CAMCORDER_HDR_CAPTURE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_hdr_capture =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_hdr_capture = {
        MM_CAMCORDER_HDR_CAPTURE_NUM,
        __enum_conv_hdr_capture,
        CONFIGURE_CATEGORY_CTRL_CAPTURE,
@@ -206,8 +191,7 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_hdr_capture =
 
 static int __enum_conv_detect_mode[MM_CAMCORDER_DETECT_MODE_NUM];
 
-_MMCamcorderEnumConvert _mmcamcorder_enum_conv_detect_mode =
-{
+static _MMCamcorderEnumConvert _mmcamcorder_enum_conv_detect_mode = {
        MM_CAMCORDER_DETECT_MODE_NUM,
        __enum_conv_detect_mode,
        CONFIGURE_CATEGORY_CTRL_DETECT,
@@ -221,6 +205,18 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_detect_mode =
  * For detail information, refer below documents.
  *
  */
+static _MMCamcorderInfoConverting      g_audio_info[] = {
+       {
+               CONFIGURE_TYPE_MAIN,
+               CONFIGURE_CATEGORY_MAIN_AUDIO_INPUT,
+               MM_CAM_AUDIO_DEVICE,
+               MM_CAMCORDER_ATTR_NONE,
+               "AudioDevice",
+               MM_CAMCONVERT_TYPE_INT_ARRAY,
+               NULL,
+       }
+};
+
 static _MMCamcorderInfoConverting      g_display_info[] = {
        {
                CONFIGURE_TYPE_MAIN,
@@ -282,15 +278,6 @@ static _MMCamcorderInfoConverting  g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
        {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_CAMERA,
-               MM_CAM_CAMERA_FPS,
-               MM_CAMCORDER_ATTR_NONE,
-               "FPS",
-               MM_CAMCONVERT_TYPE_INT_ARRAY,
-               NULL,
-       },
-       { /* 5 */
-               CONFIGURE_TYPE_CTRL,
-               CONFIGURE_CATEGORY_CTRL_CAMERA,
                MM_CAM_CAMERA_FORMAT,
                MM_CAMCORDER_ATTR_NONE,
                "PictureFormat",
@@ -333,7 +320,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_RANGE,
                NULL,
        },
-       { /* 10 */
+       {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_EFFECT,
                MM_CAM_FILTER_CONTRAST,
@@ -342,7 +329,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_RANGE,
                NULL,
        },
-       {
+       {/* 10 */
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_EFFECT,
                MM_CAM_FILTER_SATURATION,
@@ -378,7 +365,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_ARRAY,
                &_mmcamcorder_enum_conv_whitebalance,
        },
-       { /* 15 */
+       {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_EFFECT,
                MM_CAM_FILTER_COLOR_TONE,
@@ -423,7 +410,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_RANGE,
                NULL,
        },
-       { /* 20 */
+       {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
                MM_CAM_CAMERA_OPTICAL_ZOOM,
@@ -432,7 +419,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_RANGE,
                NULL,
        },
-       {
+       {/* 20 */
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
                MM_CAM_CAMERA_FOCUS_MODE,
@@ -513,7 +500,52 @@ static _MMCamcorderInfoConverting  g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_ARRAY,
                &_mmcamcorder_enum_conv_ahs,
        },
-       { /* 30 */
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_PAN_MECHA,
+               MM_CAMCORDER_ATTR_NONE,
+               "PanMecha",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {/* 30 */
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_PAN_ELEC,
+               MM_CAMCORDER_ATTR_NONE,
+               "PanElec",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_TILT_MECHA,
+               MM_CAMCORDER_ATTR_NONE,
+               "TiltMecha",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_TILT_ELEC,
+               MM_CAMCORDER_ATTR_NONE,
+               "TiltElec",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_PTZ_TYPE,
+               MM_CAMCORDER_ATTR_NONE,
+               "PtzType",
+               MM_CAMCONVERT_TYPE_INT_ARRAY,
+               NULL,
+       },
+       {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_CAPTURE,
                MM_CAM_CAPTURE_FORMAT,
@@ -567,7 +599,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_RANGE,
                NULL,
        },
-       {
+       {/* 40 */
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_DETECT,
                MM_CAM_DETECT_FOCUS_SELECT,
@@ -603,7 +635,7 @@ static _MMCamcorderInfoConverting   g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY,
                NULL,
        },
-       { /* 40 */
+       {
                CONFIGURE_TYPE_CTRL,
                CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
                MM_CAM_CAMERA_VIDEO_STABILIZATION,
@@ -620,6 +652,42 @@ static _MMCamcorderInfoConverting  g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
                "VideoResolution",
                MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY,
                NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_STROBE,
+               MM_CAM_STROBE_BRIGHTNESS,
+               MM_CAMCORDER_ATTR_NONE,
+               "StrobeBrightness",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_FOCUS_LEVEL,
+               MM_CAMCORDER_ATTR_NONE,
+               "FocusLevel",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_EFFECT,
+               MM_CAM_FILTER_WB_TEMPERATURE,
+               MM_CAMCORDER_ATTR_NONE,
+               "WhiteBalanceTemperature",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
+       },
+       {
+               CONFIGURE_TYPE_CTRL,
+               CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
+               MM_CAM_CAMERA_GAIN,
+               MM_CAMCORDER_ATTR_NONE,
+               "Gain",
+               MM_CAMCONVERT_TYPE_INT_RANGE,
+               NULL,
        }
 };
 
@@ -627,69 +695,129 @@ static _MMCamcorderInfoConverting        g_caminfo_convert[CAMINFO_CONVERT_NUM] = {
 |    LOCAL FUNCTION PROTOTYPES:                                                                                                |
 ---------------------------------------------------------------------------*/
 /* STATIC INTERNAL FUNCTION */
-static int  __mmcamcorder_set_info_to_attr( MMHandleType handle, _MMCamcorderInfoConverting *info, int table_size );
-static int  __mmcamcorder_get_valid_array(int * original_array, int original_count, int ** valid_array, int * valid_default );
+static int  __mmcamcorder_get_valid_array(int * original_array, int original_count, int ** valid_array, int * valid_default);
 
 /*===========================================================================================
 |                                                                                                                                                                                      |
 |  FUNCTION DEFINITIONS                                                                                                                                                |
-|                                                                                                                                                                                      |
+|                                                                                                                                                                                      |
 ========================================================================================== */
 /*---------------------------------------------------------------------------
 |    GLOBAL FUNCTION DEFINITIONS:                                                                                      |
 ---------------------------------------------------------------------------*/
-//convert MSL value to sensor value
+/* convert MSL value to sensor value */
 int _mmcamcorder_convert_msl_to_sensor(MMHandleType handle, int attr_idx, int mslval)
 {
        mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
        _MMCamcorderInfoConverting *info = NULL;
-       int i =0;
+       int i = 0;
        int size = sizeof(g_caminfo_convert) / sizeof(_MMCamcorderInfoConverting);
 
        mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
 
-       //_mmcam_dbg_log("attr_idx(%d), mslval(%d)", attr_idx, mslval);
-
        info = hcamcorder->caminfo_convert;
 
-       for (i = 0; i < size; i++)
-       {
-               if (info[i].attr_idx == attr_idx)
-               {
+       for (i = 0; i < size; i++) {
+               if (info[i].attr_idx == attr_idx) {
                        _MMCamcorderEnumConvert * enum_convert = NULL;
                        enum_convert = info[i].enum_convert;
 
-                       if (enum_convert == NULL)
-                       {
-                               //_mmcam_dbg_log("enum_convert is NULL. Just return the original value.");
+                       if (enum_convert == NULL) {
+                               MMCAM_LOG_VERBOSE("[attr:%d] NULL enum_convert, just return original[%d]",
+                                       attr_idx, mslval);
                                return mslval;
                        }
 
-                       if (enum_convert->enum_arr == NULL)
-                       {
-                               _mmcam_dbg_warn("Unexpected error. Array pointer of enum_convert is NULL. Just return the original value.");
+                       if (enum_convert->enum_arr == NULL) {
+                               MMCAM_LOG_WARNING("[attr:%d] NULL array pointer, just return original[%d]",
+                                       attr_idx, mslval);
                                return mslval;
                        }
 
-                       if( enum_convert->total_enum_num > mslval && mslval >= 0 )
-                       {
-                               //_mmcam_dbg_log("original value(%d) -> converted value(%d)", mslval, enum_convert->enum_arr[mslval]);
+                       if (enum_convert->total_enum_num > mslval && mslval >= 0) {
+                               MMCAM_LOG_VERBOSE("[attr:%d] original[%d] -> converted[%d]",
+                                       attr_idx, mslval, enum_convert->enum_arr[mslval]);
                                return enum_convert->enum_arr[mslval];
-                       }
-                       else
-                       {
-                               _mmcam_dbg_warn( "Input mslval[%d] is invalid(out of array[idx:%d,size:%d]), so can not convert. Just return the original value.", mslval, attr_idx, enum_convert->total_enum_num );
+                       } else {
+                               MMCAM_LOG_WARNING("[attr:%d] invalid input mslval[%d][size:%d], just return original.",
+                                       attr_idx, mslval, enum_convert->total_enum_num);
                                return mslval;
                        }
                }
        }
 
-       _mmcam_dbg_warn("There is no category to match. Just return the original value.");
+       MMCAM_LOG_WARNING("[attr:%d] no category to match, just return original[%d]",
+               attr_idx, mslval);
 
        return mslval;
 }
 
-//convert sensor value to MSL value
+int _mmcamcorder_get_fps_array_by_resolution(MMHandleType handle, int width, int height,  MMCamAttrsInfo* fps_info)
+{
+       MMCamAttrsInfo *infoW = NULL;
+       MMCamAttrsInfo *infoH = NULL;
+       int i = 0;
+       char nameFps[16] = {0,};
+       bool valid_check = false;
+
+       type_int_array *fps_array;
+
+       mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
+
+       MMCAM_LOG_DEBUG("resolution %dx%d", width, height);
+
+       infoW = (MMCamAttrsInfo*)calloc(1, sizeof(MMCamAttrsInfo));
+       if (infoW == NULL) {
+               MMCAM_LOG_ERROR("failed to alloc infoW");
+               return MM_ERROR_CAMCORDER_LOW_MEMORY;
+       }
+
+       infoH = (MMCamAttrsInfo*)calloc(1, sizeof(MMCamAttrsInfo));
+       if (infoH == NULL) {
+               MMCAM_LOG_ERROR("failed to alloc infoH");
+
+               free(infoW);
+               infoW = NULL;
+
+               return MM_ERROR_CAMCORDER_LOW_MEMORY;
+       }
+
+       mm_camcorder_get_attribute_info(handle, MMCAM_CAMERA_WIDTH, infoW);
+       mm_camcorder_get_attribute_info(handle, MMCAM_CAMERA_HEIGHT, infoH);
+
+       for (i = 0; i < infoW->int_array.count; i++) {
+               MMCAM_LOG_VERBOSE("check resolution %dx%d", infoW->int_array.array[i], infoH->int_array.array[i]);
+               if (infoW->int_array.array[i] == width && infoH->int_array.array[i] == height) {
+                       valid_check = true;
+                       snprintf(nameFps, sizeof(nameFps), "FPS%d", i);
+                       MMCAM_LOG_INFO("nameFps[%s]", nameFps);
+                       break;
+               }
+       }
+
+       free(infoW);
+       infoW = NULL;
+       free(infoH);
+       infoH = NULL;
+
+       if (!valid_check) {
+               MMCAM_LOG_ERROR("FAILED : Can't find the valid resolution from attribute.");
+               return MM_ERROR_CAMCORDER_NOT_SUPPORTED;
+       }
+
+       if (!_mmcamcorder_conf_get_value_int_array(hcamcorder->conf_ctrl, CONFIGURE_CATEGORY_CTRL_CAMERA, nameFps, &fps_array)) {
+               MMCAM_LOG_ERROR("FAILED : Can't find the valid FPS array.");
+               return MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
+       }
+
+       fps_info->int_array.count = fps_array->count;
+       fps_info->int_array.array = fps_array->value;
+       fps_info->int_array.def = fps_array->default_value;
+
+       return MM_ERROR_NONE;
+}
+
+/* convert sensor value to MSL value */
 int _mmcamcorder_convert_sensor_to_msl(MMHandleType handle, int attr_idx, int sensval)
 {
        mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
@@ -701,84 +829,86 @@ int _mmcamcorder_convert_sensor_to_msl(MMHandleType handle, int attr_idx, int se
 
        info = hcamcorder->caminfo_convert;
 
-       for( i = 0 ; i < size ; i++ )
-       {
-               if( info[i].attr_idx == attr_idx )
-               {
+       for (i = 0 ; i < size ; i++) {
+               if (info[i].attr_idx == attr_idx) {
                        _MMCamcorderEnumConvert * enum_convert = NULL;
                        enum_convert = info[i].enum_convert;
 
-                       if( enum_convert == NULL )
-                       {
-                               //_mmcam_dbg_log("enum_convert is NULL. Just return the original value.");
+                       if (enum_convert == NULL) {
+                               MMCAM_LOG_VERBOSE("[attr:%d] NULL enum_convert, just return original[%d]",
+                                       attr_idx, sensval);
                                return sensval;
                        }
 
-                       if( enum_convert->enum_arr == NULL )
-                       {
-                               _mmcam_dbg_warn("Unexpected error. Array pointer of enum_convert is NULL. Just return the original value.");
+                       if (enum_convert->enum_arr == NULL) {
+                               MMCAM_LOG_WARNING("[attr:%d] NULL array pointer, just return original[%d]",
+                                       attr_idx, sensval);
                                return sensval;
                        }
 
-                       for( j = 0 ; j < enum_convert->total_enum_num ; j++ )
-                       {
-                               if( sensval == enum_convert->enum_arr[j] )
-                               {
-                                       //_mmcam_dbg_log("original value(%d) -> converted value(%d)", sensval, j);
+                       for (j = 0 ; j < enum_convert->total_enum_num ; j++) {
+                               if (sensval == enum_convert->enum_arr[j]) {
+                                       MMCAM_LOG_VERBOSE("[attr:%d] original[%d] -> converted[%d]",
+                                               attr_idx, sensval, j);
                                        return j;
                                }
                        }
 
-                       _mmcam_dbg_warn("There is no sensor value matched with input param. Just return the original value.");
+                       MMCAM_LOG_WARNING("[attr:%d] no sensor value matched, just return original[%d]",
+                               attr_idx, sensval);
+
                        return sensval;
 
                }
        }
 
-       _mmcam_dbg_log("There is no category to match. Just return the original value.");
+       MMCAM_LOG_INFO("[attr:%d] no category to match, just return original[%d]",
+               attr_idx, sensval);
+
        return sensval;
 }
 
-static int
-__mmcamcorder_get_valid_array(int * original_array, int original_count, int ** valid_array, int * valid_default )
+static int __mmcamcorder_get_valid_array(int *original_array, int original_count, int **valid_array, int *valid_default)
 {
        int i = 0;
        int valid_count = 0;
        int new_default = _MMCAMCORDER_SENSOR_ENUM_NONE;
 
        for (i = 0; i < original_count; i++) {
-               if (original_array[i] != _MMCAMCORDER_SENSOR_ENUM_NONE) {
+               if (original_array[i] != _MMCAMCORDER_SENSOR_ENUM_NONE)
                        valid_count++;
-               }
        }
 
        if (valid_count > 0) {
                *valid_array = (int*)malloc(sizeof(int) * valid_count);
 
-               valid_count = 0;
-               for (i = 0; i < original_count; i++) {
-                       if (original_array[i] != _MMCAMCORDER_SENSOR_ENUM_NONE) {
-                               (*valid_array)[valid_count++] = i;
-                               //_mmcam_dbg_log( "valid_array[%d] = %d", valid_count-1, (*valid_array)[valid_count-1] );
-
-                               if (original_array[i] == *valid_default &&
-                                   new_default == _MMCAMCORDER_SENSOR_ENUM_NONE) {
-                                       new_default = i;
-                                       //_mmcam_dbg_log( "converted MSL default[%d]", new_default );
+               if (*valid_array) {
+                       valid_count = 0;
+                       for (i = 0; i < original_count; i++) {
+                               if (original_array[i] != _MMCAMCORDER_SENSOR_ENUM_NONE) {
+                                       (*valid_array)[valid_count++] = i;
+                                       MMCAM_LOG_VERBOSE("valid_array[%d] = %d", valid_count-1, (*valid_array)[valid_count-1]);
+
+                                       if (original_array[i] == *valid_default &&
+                                           new_default == _MMCAMCORDER_SENSOR_ENUM_NONE) {
+                                               new_default = i;
+                                               MMCAM_LOG_VERBOSE("converted MSL default[%d]", new_default);
+                                       }
                                }
                        }
+               } else {
+                       valid_count = 0;
                }
        }
 
-       if (new_default != _MMCAMCORDER_SENSOR_ENUM_NONE) {
+       if (new_default != _MMCAMCORDER_SENSOR_ENUM_NONE)
                *valid_default = new_default;
-       }
 
        return valid_count;
 }
 
 
-int _mmcamcorder_init_attr_from_configure(MMHandleType handle)
+int _mmcamcorder_init_attr_from_configure(MMHandleType handle, MMCamConvertingCategory category)
 {
        mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
        _MMCamcorderInfoConverting *info = NULL;
@@ -788,30 +918,48 @@ int _mmcamcorder_init_attr_from_configure(MMHandleType handle)
 
        mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
 
-       _mmcam_dbg_log("");
+       MMCAM_LOG_INFO("category : %d", category);
 
-       /* Initialize attribute related to camera control */
-       info = hcamcorder->caminfo_convert;
-       table_size = sizeof(g_caminfo_convert) / sizeof(_MMCamcorderInfoConverting);
-       ret = __mmcamcorder_set_info_to_attr( handle, info, table_size );
-       if( ret != MM_ERROR_NONE )
-       {
-               _mmcam_dbg_err( "ret : %x", ret );
-               return ret;
+       if (category & MM_CAMCONVERT_CATEGORY_CAMERA) {
+               /* Initialize attribute related to camera control */
+               info = hcamcorder->caminfo_convert;
+               table_size = sizeof(g_caminfo_convert) / sizeof(_MMCamcorderInfoConverting);
+               ret = __mmcamcorder_set_info_to_attr(handle, info, table_size);
+               if (ret != MM_ERROR_NONE) {
+                       MMCAM_LOG_ERROR("camera info set error : 0x%x", ret);
+                       return ret;
+               }
        }
 
-       /* Initialize attribute related to display */
-       info = g_display_info;
-       table_size = sizeof(g_display_info) / sizeof(_MMCamcorderInfoConverting);
-       ret = __mmcamcorder_set_info_to_attr( handle, info, table_size );
+       if (category & MM_CAMCONVERT_CATEGORY_DISPLAY) {
+               /* Initialize attribute related to display */
+               info = g_display_info;
+               table_size = sizeof(g_display_info) / sizeof(_MMCamcorderInfoConverting);
+               ret = __mmcamcorder_set_info_to_attr(handle, info, table_size);
+               if (ret != MM_ERROR_NONE) {
+                       MMCAM_LOG_ERROR("display info set error : 0x%x", ret);
+                       return ret;
+               }
+       }
+
+       if (category & MM_CAMCONVERT_CATEGORY_AUDIO) {
+               /* Initialize attribute related to audio */
+               info = g_audio_info;
+               table_size = sizeof(g_audio_info) / sizeof(_MMCamcorderInfoConverting);
+               ret = __mmcamcorder_set_info_to_attr(handle, info, table_size);
+               if (ret != MM_ERROR_NONE) {
+                       MMCAM_LOG_ERROR("audio info set error : 0x%x", ret);
+                       return ret;
+               }
+       }
 
-       _mmcam_dbg_log( "result: %x", ret );
+       MMCAM_LOG_INFO("done");
 
        return ret;
 }
 
-static int
-__mmcamcorder_set_info_to_attr( MMHandleType handle, _MMCamcorderInfoConverting *info, int table_size )
+
+int __mmcamcorder_set_info_to_attr(MMHandleType handle, _MMCamcorderInfoConverting *info, int table_size)
 {
        mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
        MMHandleType     attrs      = 0;
@@ -821,180 +969,139 @@ __mmcamcorder_set_info_to_attr( MMHandleType handle, _MMCamcorderInfoConverting
 
        mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
 
-       attrs = MMF_CAMCORDER_ATTRS (handle);
+       attrs = MMF_CAMCORDER_ATTRS(handle);
        mmf_return_val_if_fail(attrs, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
 
        camera_conf *conf_info = NULL;
 
-       for (i = 0; i < table_size ; i++ )
-       {
-               /*
-               _mmcam_dbg_log( "%d,%d,%d,%d,%s,%d",
-                               info[i].type,
-                               info[i].category,
-                               info[i].attr_idx,
-                               info[i].attr_idx_sub,
-                               info[i].keyword,
-                               info[i].conv_type );
-               */
-
-               if( info[i].type == CONFIGURE_TYPE_MAIN )
-               {
+       for (i = 0; i < table_size; i++) {
+               MMCAM_LOG_VERBOSE("[type:%d][cat:%d][attr:%d][attr_pair:%d][key:%s][ctype:%d]",
+                       info[i].type,
+                       info[i].category,
+                       info[i].attr_idx,
+                       info[i].attr_idx_pair,
+                       info[i].keyword,
+                       info[i].conv_type);
+
+               if (ret != MM_ERROR_NONE)
+                       break;
+
+               if (info[i].type == CONFIGURE_TYPE_MAIN)
                        conf_info = hcamcorder->conf_main;
-                       /*_mmcam_dbg_log( "MAIN configure [%s]", info[i].keyword );*/
-               }
                else
-               {
                        conf_info = hcamcorder->conf_ctrl;
-                       /*_mmcam_dbg_log( "CTRL configure [%s]", info[i].keyword );*/
-               }
 
-               switch(info[i].conv_type)
+               switch (info[i].conv_type) {
+               case MM_CAMCONVERT_TYPE_INT:
                {
-                       case MM_CAMCONVERT_TYPE_INT:
-                       {
-                               int ivalue = 0;
-
-                               if (!_mmcamcorder_conf_get_value_int(handle, conf_info, info[i].category, info[i].keyword, &ivalue))
-                               {
-                                       ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
-                                       break;          //skip to set
-                               }
+                       int ivalue = 0;
 
-                               ret = mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, ivalue);
-                               break;
+                       if (!_mmcamcorder_conf_get_value_int(handle, conf_info, info[i].category, info[i].keyword, &ivalue)) {
+                               ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
+                               break; /* skip to set */
                        }
-                       case MM_CAMCONVERT_TYPE_INT_ARRAY:
-                       {
-                               int *iarray = NULL;
-                               int iarray_size = 0;
-                               int idefault = 0;
-                               type_int_array *tarray = NULL;
-
-                               if (!_mmcamcorder_conf_get_value_int_array( conf_info, info[i].category, info[i].keyword, &tarray ))
-                               {
-                                       ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
-                                       break;          //skip to set
-                               }
-
-                               if( tarray )
-                               {
-                                       idefault = tarray->default_value;
-
-                                       if( info[i].enum_convert )
-                                       {
-                                               iarray_size = __mmcamcorder_get_valid_array(tarray->value, tarray->count, &iarray, &idefault);
-                                       }
-                                       else
-                                       {
-                                               iarray = tarray->value;
-                                               iarray_size = tarray->count;
-                                       }
 
-                                       if( iarray_size > 0 )
-                                       {
-                                               /*
-                                               _mmcam_dbg_log("INT Array. attr idx=%d array=%p, size=%d, default=%d",
-                                                              info[i].attr_idx, iarray, iarray_size, idefault);
-                                               */
+                       ret = mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, ivalue);
+                       break;
+               }
+               case MM_CAMCONVERT_TYPE_INT_ARRAY:
+               {
+                       int *iarray = NULL;
+                       int iarray_size = 0;
+                       int idefault = 0;
+                       type_int_array *tarray = NULL;
+
+                       if (!_mmcamcorder_conf_get_value_int_array(conf_info, info[i].category, info[i].keyword, &tarray))
+                               break; /* skip to set, but not error */
+
+                       if (tarray) {
+                               idefault = tarray->default_value;
+
+                               if (info[i].enum_convert) {
+                                       iarray_size = __mmcamcorder_get_valid_array(tarray->value, tarray->count, &iarray, &idefault);
+                               } else {
+                                       iarray = tarray->value;
+                                       iarray_size = tarray->count;
+                               }
 
-                                               /* "mmf_attrs_set_valid_type" initializes spec value in attribute, so allocated memory could be missed */
-                                               //mmf_attrs_set_valid_type(attrs, info[i].attr_idx, MM_ATTRS_VALID_TYPE_INT_ARRAY);
-                                               mmf_attrs_set_valid_array(attrs, info[i].attr_idx, iarray, iarray_size, idefault);
-                                       }
+                               if (iarray_size > 0) {
+                                       MMCAM_LOG_DEBUG("[%s] INT Array - size[%d], default[%d]",
+                                               info[i].keyword, iarray_size, idefault);
 
+                                       mm_attrs_set_valid_array(attrs, info[i].attr_idx, iarray, iarray_size, idefault);
                                        ret = mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, idefault);
                                }
-
-                               if (iarray && iarray != tarray->value )
-                                       free(iarray);
-
-                               break;
                        }
-                       case MM_CAMCONVERT_TYPE_INT_RANGE:
-                       {
-                               type_int_range *irange = NULL;
-
-                               if (!_mmcamcorder_conf_get_value_int_range(conf_info, info[i].category, info[i].keyword, &irange))
-                               {
-                                       ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
-                                       break;          //skip to set
-                               }
 
-                               if( irange )
-                               {
-                                       //_mmcam_dbg_log("INT Range. m:%d, s:%d, min=%d, max=%d", info[i].main_key, info[i].sub_key1, irange->min, irange->max);
-                                       /* "mmf_attrs_set_valid_type" initializes spec value in attribute, so allocated memory could be missed */
-                                       //mmf_attrs_set_valid_type (attrs, info[i].attr_idx, MM_ATTRS_VALID_TYPE_INT_RANGE);
-                                       mmf_attrs_set_valid_range(attrs, info[i].attr_idx, irange->min, irange->max, irange->default_value);
+                       if (iarray && iarray != tarray->value)
+                               free(iarray);
 
-                                       ret = mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, irange->default_value);
-                               }
+                       break;
+               }
+               case MM_CAMCONVERT_TYPE_INT_RANGE:
+               {
+                       type_int_range *irange = NULL;
 
-                               break;
-                       }
-                       case MM_CAMCONVERT_TYPE_STRING:
-                       {
-                               const char *cString = NULL;
-                               unsigned int iString_len = 0;
-
-                               if (!_mmcamcorder_conf_get_value_string(handle, conf_info, info[i].category, info[i].keyword, &cString ))
-                               {
-                                       ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
-                                       break;          //skip to set
-                               }
+                       if (!_mmcamcorder_conf_get_value_int_range(conf_info, info[i].category, info[i].keyword, &irange))
+                               break; /* skip to set, but not error */
 
-                               //_mmcam_dbg_log("String. m:%d, s:%d, cString=%s", info[i].main_key, info[i].sub_key1, cString);
-                               //strlen makes a crash when null pointer is passed.
-                               if (cString)
-                                       iString_len = strlen(cString);
-                               else
-                                       iString_len = 0;
+                       if (irange) {
+                               MMCAM_LOG_DEBUG("[%s] INT Range - min[%d], max[%d]",
+                                       info[i].keyword, irange->min, irange->max);
 
-                               ret = mm_attrs_set_string(attrs, info[i].attr_idx, cString, iString_len);
-                               break;
+                               mm_attrs_set_valid_range(attrs, info[i].attr_idx, irange->min, irange->max, irange->default_value);
+                               ret = mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, irange->default_value);
                        }
-                       case MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY:
-                       {
-                               type_int_pair_array *pair_array = NULL;
 
-                               /*_mmcam_dbg_log("INT PAIR Array. type:%d, attr_idx:%d, attr_idx_pair:%d", info[i].type, info[i].attr_idx, info[i].attr_idx_pair);*/
+                       break;
+               }
+               case MM_CAMCONVERT_TYPE_STRING:
+               {
+                       const char *cString = NULL;
 
-                               if (!_mmcamcorder_conf_get_value_int_pair_array(conf_info, info[i].category, info[i].keyword, &pair_array))
-                               {
-                                       ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
-                                       break;          //skip to set
-                               }
+                       if (!_mmcamcorder_conf_get_value_string(handle, conf_info, info[i].category, info[i].keyword, &cString)) {
+                               ret = MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
+                               break; /* skip to set */
+                       }
 
-                               if( pair_array && pair_array->count > 0 )
-                               {
-                                       /* "mmf_attrs_set_valid_type" initializes spec value in attribute, so allocated memory could be missed */
-                                       //mmf_attrs_set_valid_type(attrs, info[i].attr_idx, MM_ATTRS_VALID_TYPE_INT_ARRAY);
-                                       mmf_attrs_set_valid_array(attrs, info[i].attr_idx,
-                                                                 pair_array->value[0],
-                                                                 pair_array->count,
-                                                                 pair_array->default_value[0]);
-                                       /* "mmf_attrs_set_valid_type" initializes spec value in attribute, so allocated memory could be missed */
-                                       //mmf_attrs_set_valid_type(attrs, info[i].attr_idx_pair, MM_ATTRS_VALID_TYPE_INT_ARRAY);
-                                       mmf_attrs_set_valid_array(attrs, info[i].attr_idx_pair,
-                                                                 pair_array->value[1],
-                                                                 pair_array->count,
-                                                                 pair_array->default_value[1]);
-
-                                       mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, pair_array->default_value[0]);
-                                       mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx_pair, pair_array->default_value[1]);
-                               }
-                               break;
+                       MMCAM_LOG_DEBUG("[%s] String - string[%s]", info[i].keyword, cString);
+                       ret = mm_attrs_set_string(attrs, info[i].attr_idx, cString, cString ? strlen(cString) : 0);
+                       break;
+               }
+               case MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY:
+               {
+                       type_int_pair_array *pair_array = NULL;
+
+                       if (!_mmcamcorder_conf_get_value_int_pair_array(conf_info, info[i].category, info[i].keyword, &pair_array))
+                               break; /* skip to set, but not error */
+
+                       if (pair_array && pair_array->count > 0) {
+                               mm_attrs_set_valid_array(attrs, info[i].attr_idx,
+                                       pair_array->value[0],
+                                       pair_array->count,
+                                       pair_array->default_value[0]);
+                               mm_attrs_set_valid_array(attrs, info[i].attr_idx_pair,
+                                       pair_array->value[1],
+                                       pair_array->count,
+                                       pair_array->default_value[1]);
+
+                               MMCAM_LOG_DEBUG("[%s] INT PAIR Array - default[%d,%d]",
+                                       info[i].keyword, pair_array->default_value[0], pair_array->default_value[1]);
+
+                               mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx, pair_array->default_value[0]);
+                               mm_attrs_set_int(MMF_CAMCORDER_ATTRS(hcamcorder), info[i].attr_idx_pair, pair_array->default_value[1]);
                        }
+                       break;
+               }
 
-                       case MM_CAMCONVERT_TYPE_USER:
-                       default:
-                               _mmcam_dbg_log("default : s:%d", info[i].attr_idx);
-                               break;
+               case MM_CAMCONVERT_TYPE_USER:
+               default:
+                       MMCAM_LOG_WARNING("default - [attr:%d]", info[i].attr_idx);
+                       break;
                }
        }
 
-       if (ret != MM_ERROR_NONE || mmf_attrs_commit(attrs) == -1)
+       if (ret != MM_ERROR_NONE || mm_attrs_commit_all(attrs) == -1)
                return MM_ERROR_CAMCORDER_INVALID_ARGUMENT;
        else
                return MM_ERROR_NONE;
@@ -1008,12 +1115,10 @@ int _mmcamcorder_set_converted_value(MMHandleType handle, _MMCamcorderEnumConver
 
        mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
 
-       _mmcamcorder_conf_get_value_int_array( hcamcorder->conf_ctrl, convert->category, convert->keyword, &array );
+       _mmcamcorder_conf_get_value_int_array(hcamcorder->conf_ctrl, convert->category, convert->keyword, &array);
 
-       if( array )
-       {
+       if (array)
                convert->enum_arr = array->value;
-       }
 
        return MM_ERROR_NONE;
 }
@@ -1065,39 +1170,36 @@ int _mmcamcorder_init_convert_table(MMHandleType handle)
                if (hcamcorder->caminfo_convert[i].type == CONFIGURE_TYPE_CTRL) {
                        switch (hcamcorder->caminfo_convert[i].category) {
                        case CONFIGURE_CATEGORY_CTRL_STROBE:
-                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "StrobeMode")) {
+                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "StrobeMode"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE]);
-                               }
                                break;
                        case CONFIGURE_CATEGORY_CTRL_EFFECT:
-                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WhiteBalance")) {
+                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WhiteBalance"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_WHITE_BALANCE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ColorTone")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ColorTone"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_COLOR_TONE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WDR")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "WDR"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_WDR]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Flip")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Flip"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Rotation")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "Rotation"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION]);
-                               }
                                break;
                        case CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH:
-                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "FocusMode")) {
+                               if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "FocusMode"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_FOCUS_MODE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AFType")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AFType"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_AF_RANGE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AEType")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AEType"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ISO")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ISO"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ISO]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ProgramMode")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "ProgramMode"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_PROGRAM_MODE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AntiHandshake")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "AntiHandshake"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE]);
-                               } else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "VideoStabilization")) {
+                               else if (!strcmp(hcamcorder->caminfo_convert[i].keyword, "VideoStabilization"))
                                        hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION]);
-                               }
                                break;
                        default:
                                break;
@@ -1112,21 +1214,17 @@ int _mmcamcorder_init_convert_table(MMHandleType handle)
 double _mmcamcorder_convert_volume(int mslVal)
 {
        double newVal = -1;
-       switch (mslVal)
-       {
-               case 0:
-                       newVal = 0;
-                       break;
-               case 1:
-                       newVal = 1;
-                       break;
-               default:
-                       _mmcam_dbg_warn("out of range");
-                       break;
+       switch (mslVal) {
+       case 0:
+               newVal = 0;
+               break;
+       case 1:
+               newVal = 1;
+               break;
+       default:
+               MMCAM_LOG_WARNING("out of range");
+               break;
        }
 
        return newVal;
 }
-
-
-