/*===========================================================================================
| |
| INCLUDE FILES |
-| |
+| |
========================================================================================== */
#include "mm_camcorder_internal.h"
#include "mm_camcorder_platform.h"
| LOCAL VARIABLE DEFINITIONS for internal |
---------------------------------------------------------------------------*/
-
-// 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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
},
{
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,
MM_CAMCORDER_ATTR_NONE,
MM_CAMCONVERT_TYPE_INT_ARRAY,
NULL,
},
- {/* 30 */
+ {
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_CAPTURE,
MM_CAM_IMAGE_ENCODER_QUALITY,
MM_CAMCONVERT_TYPE_INT_RANGE,
NULL,
},
- {
+ {/* 40 */
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_DETECT,
MM_CAM_DETECT_FOCUS_SELECT,
MM_CAMCONVERT_TYPE_INT_ARRAY,
&_mmcamcorder_enum_conv_video_stabilization,
},
- {/* 40 */
+ {
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_CAMERA,
MM_CAM_VIDEO_WIDTH,
"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,
}
};
| LOCAL FUNCTION PROTOTYPES: |
---------------------------------------------------------------------------*/
/* STATIC INTERNAL FUNCTION */
-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;
}
MMCamAttrsInfo *infoW = NULL;
MMCamAttrsInfo *infoH = NULL;
int i = 0;
- char nameFps[5] = {0,};
+ char nameFps[16] = {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);
+ 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_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) {
+ 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;
- sprintf(nameFps, "FPS%d", i);
- _mmcam_dbg_log("nameFps : %s!!!", nameFps);
+ snprintf(nameFps, sizeof(nameFps), "FPS%d", i);
+ MMCAM_LOG_INFO("nameFps[%s]", nameFps);
break;
}
}
- if(infoW)
- free(infoW);
- if(infoH)
- free(infoH);
+ free(infoW);
+ infoW = NULL;
+ free(infoH);
+ infoH = NULL;
- if(!valid_check) {
- _mmcam_dbg_err("FAILED : Can't find the valid resolution from attribute.");
+ 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_dbg_err("FAILED : Can't find the valid FPS array.");
+ MMCAM_LOG_ERROR("FAILED : Can't find the valid FPS array.");
return MM_ERROR_CAMCORDER_CREATE_CONFIGURE;
}
return MM_ERROR_NONE;
}
-//convert sensor value to MSL value
+/* 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);
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) {
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] );*/
+ 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_dbg_log( "converted MSL default[%d]", new_default );*/
+ MMCAM_LOG_VERBOSE("converted MSL default[%d]", new_default);
}
}
}
- }
- else {
+ } 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;
}
mmf_return_val_if_fail(hcamcorder, MM_ERROR_CAMCORDER_NOT_INITIALIZED);
- _mmcam_dbg_log("category : %d", category);
+ MMCAM_LOG_INFO("category : %d", category);
if (category & MM_CAMCONVERT_CATEGORY_CAMERA) {
/* Initialize attribute related to camera control */
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);
+ MMCAM_LOG_ERROR("camera info set error : 0x%x", ret);
return ret;
}
}
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);
+ MMCAM_LOG_ERROR("display info set error : 0x%x", ret);
return ret;
}
}
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);
+ MMCAM_LOG_ERROR("audio info set error : 0x%x", ret);
return ret;
}
}
- _mmcam_dbg_log("done");
+ MMCAM_LOG_INFO("done");
return ret;
}
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_pair,
- 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);
- */
-
- /* "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);
- }
+ 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 (iarray && iarray != tarray->value )
- free(iarray);
+ if (iarray_size > 0) {
+ MMCAM_LOG_DEBUG("[%s] INT Array - size[%d], default[%d]",
+ info[i].keyword, iarray_size, idefault);
- 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
+ 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( 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;
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;
}
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;
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;
}
-
-
-