},
{
CONFIGURE_TYPE_CTRL,
+ CONFIGURE_CATEGORY_CTRL_CAMERA,
+ MM_CAM_CAMERA_PAN_MECHA,
+ MM_CAMCORDER_ATTR_NONE,
+ "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,
MM_CAMCONVERT_TYPE_INT_RANGE,
NULL,
},
- {/* 10 */
+ {
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_EFFECT,
MM_CAM_FILTER_SATURATION,
MM_CAMCONVERT_TYPE_INT_ARRAY,
&_mmcamcorder_enum_conv_colortone,
},
- {
+ {/* 20 */
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_EFFECT,
MM_CAM_CAMERA_WDR,
MM_CAMCONVERT_TYPE_INT_RANGE,
NULL,
},
- {/* 20 */
+ {
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
MM_CAM_CAMERA_FOCUS_MODE,
MM_CAMCONVERT_TYPE_INT_ARRAY,
NULL,
},
- {
+ {/* 30 */
CONFIGURE_TYPE_CTRL,
CONFIGURE_CATEGORY_CTRL_PHOTOGRAPH,
MM_CAM_CAMERA_SHUTTER_SPEED,
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,
MMCamAttrsInfo *infoW = NULL;
MMCamAttrsInfo *infoH = NULL;
int i = 0;
- char nameFps[5] = {0,};
+ char nameFps[10] = {0,};
bool valid_check = false;
type_int_array *fps_array;
//_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);
//_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;
- sprintf(nameFps, "FPS%d", i);
+ snprintf(nameFps, 10, "FPS%d", i);
_mmcam_dbg_log("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.");