X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmm_camcorder_platform.c;h=9dcd29d2c68d7c5ac5450caf8123108eb7592f0d;hb=3a3fbbd9dcbb5ac740495265b7688a3ba5d2cd45;hp=87f8bf81786c025dffc6e111ff860279fa2b385a;hpb=020c1d5863c4608a1fce14425a0bc0ddde110388;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git diff --git a/src/mm_camcorder_platform.c b/src/mm_camcorder_platform.c index 87f8bf8..9dcd29d 100644 --- a/src/mm_camcorder_platform.c +++ b/src/mm_camcorder_platform.c @@ -22,7 +22,7 @@ /*=========================================================================================== | | | INCLUDE FILES | -| | +| | ========================================================================================== */ #include "mm_camcorder_internal.h" #include "mm_camcorder_platform.h" @@ -35,17 +35,16 @@ /*--------------------------------------------------------------------------- | 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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_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 = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_mode = { MM_CAMCORDER_STROBE_MODE_NUM, __enum_conv_strobe_mode, CONFIGURE_CATEGORY_CTRL_STROBE, @@ -143,19 +134,35 @@ _MMCamcorderEnumConvert _mmcamcorder_enum_conv_strobe_mode = static int __enum_conv_wdr_ctrl[MM_CAMCORDER_WDR_NUM]; -_MMCamcorderEnumConvert _mmcamcorder_enum_conv_wdr_ctrl = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_wdr_ctrl = { MM_CAMCORDER_WDR_NUM, __enum_conv_wdr_ctrl, CONFIGURE_CATEGORY_CTRL_EFFECT, "WDR" }; +static int __enum_conv_flip_ctrl[MM_CAMCORDER_FLIP_NUM]; + +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_flip_ctrl = { + MM_CAMCORDER_FLIP_NUM, + __enum_conv_flip_ctrl, + CONFIGURE_CATEGORY_CTRL_EFFECT, + "Flip" +}; + +static int __enum_conv_rotation_ctrl[MM_CAMCORDER_ROTATION_NUM]; + +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_rotation_ctrl = { + MM_CAMCORDER_ROTATION_NUM, + __enum_conv_rotation_ctrl, + CONFIGURE_CATEGORY_CTRL_EFFECT, + "Rotation" +}; + static int __enum_conv_ahs[MM_CAMCORDER_AHS_NUM]; -_MMCamcorderEnumConvert _mmcamcorder_enum_conv_ahs = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_ahs = { MM_CAMCORDER_AHS_NUM, __enum_conv_ahs, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, @@ -165,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 = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_video_stabilization = { MM_CAMCORDER_VIDEO_STABILIZATION_NUM, __enum_conv_video_stabilization, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, @@ -176,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 = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_hdr_capture = { MM_CAMCORDER_HDR_CAPTURE_NUM, __enum_conv_hdr_capture, CONFIGURE_CATEGORY_CTRL_CAPTURE, @@ -186,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 = -{ +_MMCamcorderEnumConvert _mmcamcorder_enum_conv_detect_mode = { MM_CAMCORDER_DETECT_MODE_NUM, __enum_conv_detect_mode, CONFIGURE_CATEGORY_CTRL_DETECT, @@ -201,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, @@ -262,23 +278,59 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_CAMERA, - MM_CAM_CAMERA_FPS, + MM_CAM_CAMERA_FORMAT, MM_CAMCORDER_ATTR_NONE, - "FPS", + "PictureFormat", MM_CAMCONVERT_TYPE_INT_ARRAY, NULL, }, - { /* 5 */ + { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_CAMERA, - MM_CAM_CAMERA_FORMAT, + MM_CAM_CAMERA_PAN_MECHA, MM_CAMCORDER_ATTR_NONE, - "PictureFormat", - MM_CAMCONVERT_TYPE_INT_ARRAY, + "PanMecha", + MM_CAMCONVERT_TYPE_INT_RANGE, + NULL, + }, + { + CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_CAMERA, + MM_CAM_CAMERA_PAN_ELEC, + MM_CAMCORDER_ATTR_NONE, + "PanElec", + MM_CAMCONVERT_TYPE_INT_RANGE, + NULL, + }, + { + CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_CAMERA, + MM_CAM_CAMERA_TILT_MECHA, + MM_CAMCORDER_ATTR_NONE, + "TiltMecha", + MM_CAMCONVERT_TYPE_INT_RANGE, + NULL, + }, + { + CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_CAMERA, + MM_CAM_CAMERA_TILT_ELEC, + MM_CAMCORDER_ATTR_NONE, + "TiltElec", + MM_CAMCONVERT_TYPE_INT_RANGE, NULL, }, { CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_CAMERA, + MM_CAM_CAMERA_PTZ_TYPE, + MM_CAMCORDER_ATTR_NONE, + "PtzType", + MM_CAMCONVERT_TYPE_INT_ARRAY, + NULL, + }, + {/* 10 */ + CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_STROBE, MM_CAM_STROBE_CONTROL, MM_CAMCORDER_ATTR_NONE, @@ -313,7 +365,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, @@ -358,7 +410,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, @@ -367,7 +419,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_ARRAY, &_mmcamcorder_enum_conv_colortone, }, - { + {/* 20 */ CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_EFFECT, MM_CAM_CAMERA_WDR, @@ -378,6 +430,24 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { }, { CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_EFFECT, + MM_CAM_CAMERA_FLIP, + MM_CAMCORDER_ATTR_NONE, + "Flip", + MM_CAMCONVERT_TYPE_INT_ARRAY, + &_mmcamcorder_enum_conv_flip_ctrl, + }, + { + CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_EFFECT, + MM_CAM_CAMERA_ROTATION, + MM_CAMCORDER_ATTR_NONE, + "Rotation", + MM_CAMCONVERT_TYPE_INT_ARRAY, + &_mmcamcorder_enum_conv_rotation_ctrl, + }, + { + CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, MM_CAM_CAMERA_DIGITAL_ZOOM, MM_CAMCORDER_ATTR_NONE, @@ -403,7 +473,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_ARRAY, &_mmcamcorder_enum_conv_focus_mode, }, - { /* 20 */ + { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, MM_CAM_CAMERA_AF_SCAN_RANGE, @@ -439,7 +509,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_ARRAY, NULL, }, - { + {/* 30 */ CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, MM_CAM_CAMERA_SHUTTER_SPEED, @@ -448,7 +518,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_ARRAY, NULL, }, - { /* 25 */ + { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, MM_CAM_CAMERA_ISO, @@ -493,7 +563,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_RANGE, NULL, }, - { /* 30 */ + { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_CAPTURE, MM_CAM_CAPTURE_COUNT, @@ -529,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, @@ -538,7 +608,7 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { MM_CAMCONVERT_TYPE_INT_RANGE, NULL, }, - { /* 35 */ + { CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_DETECT, MM_CAM_DETECT_SELECT_NUMBER, @@ -558,24 +628,6 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { }, { CONFIGURE_TYPE_CTRL, - CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, - MM_CAM_CAMERA_FACE_ZOOM_MODE, - MM_CAMCORDER_ATTR_NONE, - "FaceZoomMode", - MM_CAMCONVERT_TYPE_INT_ARRAY, - NULL, - }, - { - CONFIGURE_TYPE_CTRL, - CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH, - MM_CAM_CAMERA_FACE_ZOOM_LEVEL, - MM_CAMCORDER_ATTR_NONE, - "FaceZoomLevel", - MM_CAMCONVERT_TYPE_INT_RANGE, - NULL, - }, - { - CONFIGURE_TYPE_CTRL, CONFIGURE_CATEGORY_CTRL_CAMERA, MM_CAM_RECOMMEND_CAMERA_WIDTH, MM_CAM_RECOMMEND_CAMERA_HEIGHT, @@ -583,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, @@ -591,6 +643,15 @@ static _MMCamcorderInfoConverting g_caminfo_convert[CAMINFO_CONVERT_NUM] = { "VideoStabilization", MM_CAMCONVERT_TYPE_INT_ARRAY, &_mmcamcorder_enum_conv_video_stabilization, + }, + { + CONFIGURE_TYPE_CTRL, + CONFIGURE_CATEGORY_CTRL_CAMERA, + MM_CAM_VIDEO_WIDTH, + MM_CAM_VIDEO_HEIGHT, + "VideoResolution", + MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY, + NULL, } }; @@ -598,58 +659,50 @@ 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); + /* _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_dbg_log("enum_convert is NULL. Just return the original value."); */ return mslval; } - if (enum_convert->enum_arr == NULL) - { + if (enum_convert->enum_arr == NULL) { _mmcam_dbg_warn("Unexpected error. Array pointer of enum_convert is NULL. Just return the original value."); 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_dbg_log("original value(%d) -> converted value(%d)", 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_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); return mslval; } } @@ -660,7 +713,72 @@ int _mmcamcorder_convert_msl_to_sensor(MMHandleType handle, int attr_idx, int ms 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[10] = {0,}; + bool valid_check = false; + + type_int_array *fps_array; + + mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle); + + /* _mmcam_dbg_log("prev resolution w:%d, h:%d", width, height); */ + + infoW = (MMCamAttrsInfo*)calloc(1, sizeof(MMCamAttrsInfo)); + if (infoW == NULL) { + _mmcam_dbg_err("failed to alloc infoW"); + return MM_ERROR_CAMCORDER_LOW_MEMORY; + } + + infoH = (MMCamAttrsInfo*)calloc(1, sizeof(MMCamAttrsInfo)); + if (infoH == NULL) { + _mmcam_dbg_err("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_dbg_log("width :%d, height : %d\n", 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, 10, "FPS%d", i); + _mmcam_dbg_log("nameFps : %s!!!", nameFps); + break; + } + } + + free(infoW); + infoW = NULL; + free(infoH); + infoH = NULL; + + if (!valid_check) { + _mmcam_dbg_err("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_dbg_err("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); @@ -671,31 +789,25 @@ int _mmcamcorder_convert_sensor_to_msl(MMHandleType handle, int attr_idx, int se mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED); 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_dbg_log("enum_convert is NULL. Just return the original value."); */ return sensval; } - if( enum_convert->enum_arr == NULL ) - { + if (enum_convert->enum_arr == NULL) { _mmcam_dbg_warn("Unexpected error. Array pointer of enum_convert is NULL. Just return the original value."); 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_dbg_log("original value(%d) -> converted value(%d)", sensval, j); */ return j; } } @@ -711,49 +823,47 @@ int _mmcamcorder_convert_sensor_to_msl(MMHandleType handle, int attr_idx, int se } static int -__mmcamcorder_get_valid_array(int * original_array, int original_count, int ** valid_array, int * valid_default ) +__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++) - { + + for (i = 0; i < original_count; i++) { if (original_array[i] != _MMCAMCORDER_SENSOR_ENUM_NONE) valid_count++; } - if (valid_count > 0) - { + 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 = 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_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 );*/ + } } } - } + } 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; @@ -763,219 +873,213 @@ int _mmcamcorder_init_attr_from_configure(MMHandleType handle) mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED); - _mmcam_dbg_log(""); + _mmcam_dbg_log("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_dbg_err("camera info set error : 0x%x", ret); + return ret; + } + } + + 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_dbg_err("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_dbg_err("audio 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 ); - _mmcam_dbg_log( "result: %x", ret ); + _mmcam_dbg_log("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; - int i; + int i = 0; + int ret = MM_ERROR_NONE; 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++ ) - { - int ret = MM_ERROR_NONE; - + 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 ); + _mmcam_dbg_log("%d,%d,%d,%d,%s,%d", + info[i].type, + info[i].category, + info[i].attr_idx, + info[i].attr_idx_pair, + info[i].keyword, + info[i].conv_type); */ - if( info[i].type == CONFIGURE_TYPE_MAIN ) - { + 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 - { + /*_mmcam_dbg_log("MAIN configure [%s]", info[i].keyword);*/ + } else { conf_info = hcamcorder->conf_ctrl; - _mmcam_dbg_log( "CTRL configure [%s]", info[i].keyword ); + /*_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 iarray = (int)NULL; - - if (!_mmcamcorder_conf_get_value_int( conf_info, info[i].category, info[i].keyword, &iarray )) - { - 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, iarray); - - //_mmcam_dbg_log("INT . m:%d, s:%d, arr=%d", info[i].main_key, info[i].sub_key1, iarray); - 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 + + 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; } - 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); + */ - if( iarray_size > 0 ) - { - /* - _mmcam_dbg_log("INT Array. m:%d, s:%d, arr=%x, size=%d, default=%d", - info[i].main_key, info[i].sub_key1, iarray, iarray_size, idefault); - */ - - 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); - } + /* "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); 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 (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: - { - char* cString = NULL; - unsigned int iString_len = 0; - - if (!_mmcamcorder_conf_get_value_string(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_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); - ret = mm_attrs_set_string(attrs, info[i].attr_idx, cString, iString_len); - break; + 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); - - 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 - } + break; + } + case MM_CAMCONVERT_TYPE_STRING: + { + const char *cString = NULL; + unsigned int iString_len = 0; - if( pair_array && pair_array->count > 0 ) - { - 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(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; + 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 */ } - case MM_CAMCONVERT_TYPE_USER: - default: - _mmcam_dbg_log("default : s:%d", info[i].attr_idx); - break; + /* _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; + + ret = mm_attrs_set_string(attrs, info[i].attr_idx, cString, iString_len); + break; } - - if (ret != MM_ERROR_NONE) + case MM_CAMCONVERT_TYPE_INT_PAIR_ARRAY: { - _mmcam_dbg_warn("Setting error. ( s:%d, ret:%x)", info[i].attr_idx, ret); + 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);*/ + + 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) { + /* "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; + } + + case MM_CAMCONVERT_TYPE_USER: + default: + _mmcam_dbg_log("default : s:%d", info[i].attr_idx); + break; } } - if (mmf_attrs_commit(attrs) == -1) + if (ret != MM_ERROR_NONE || mmf_attrs_commit(attrs) == -1) return MM_ERROR_CAMCORDER_INVALID_ARGUMENT; - else + else return MM_ERROR_NONE; } @@ -987,12 +1091,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; } @@ -1019,6 +1121,8 @@ int _mmcamcorder_init_convert_table(MMHandleType handle) memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE]), &_mmcamcorder_enum_conv_ae_type, enum_conv_size); memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE]), &_mmcamcorder_enum_conv_strobe_mode, enum_conv_size); memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_WDR]), &_mmcamcorder_enum_conv_wdr_ctrl, enum_conv_size); + memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]), &_mmcamcorder_enum_conv_flip_ctrl, enum_conv_size); + memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION]), &_mmcamcorder_enum_conv_rotation_ctrl, enum_conv_size); memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE]), &_mmcamcorder_enum_conv_ahs, enum_conv_size); memcpy(&(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION]), &_mmcamcorder_enum_conv_video_stabilization, enum_conv_size); @@ -1032,6 +1136,8 @@ int _mmcamcorder_init_convert_table(MMHandleType handle) _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_EXPOSURE_MODE])); _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_STROBE_MODE])); _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_WDR])); + _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_FLIP])); + _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_ROTATION])); _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_ANTI_HAND_SHAKE])); _mmcamcorder_set_converted_value(handle, &(hcamcorder->enum_conv[ENUM_CONVERT_VIDEO_STABILIZATION])); @@ -1051,6 +1157,10 @@ int _mmcamcorder_init_convert_table(MMHandleType handle) hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_COLOR_TONE]); } 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")) { + hcamcorder->caminfo_convert[i].enum_convert = &(hcamcorder->enum_conv[ENUM_CONVERT_FLIP]); + } 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: @@ -1083,21 +1193,18 @@ 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_dbg_warn("out of range"); + break; } return newVal; } - -