int32_t mm_camera_set_parm(mm_camera_obj_t * my_obj,
    mm_camera_parm_t *parm)
{
    int32_t rc = -1;
    uint16_t len;
    CDBG("%s type =%d", __func__, parm->parm_type);
    switch(parm->parm_type) {
    case MM_CAMERA_PARM_OP_MODE:
        rc = mm_camera_util_set_op_mode(my_obj,
                        (mm_camera_op_mode_type_t *)parm->p_value);
        break;
    case MM_CAMERA_PARM_DIMENSION:
        rc = mm_camera_send_native_ctrl_cmd(my_obj,
                    CAMERA_SET_PARM_DIMENSION, sizeof(cam_ctrl_dimension_t), parm->p_value);
        if(rc != MM_CAMERA_OK) {
            CDBG("%s: mm_camera_send_native_ctrl_cmd err=%d\n", __func__, rc);
            break;
        }
        memcpy(&my_obj->dim, (cam_ctrl_dimension_t *)parm->p_value,
                     sizeof(cam_ctrl_dimension_t));
        CDBG("%s: dw=%d,dh=%d,vw=%d,vh=%d,pw=%d,ph=%d,tw=%d,th=%d,raw_w=%d,raw_h=%d\n",
                 __func__,
                 my_obj->dim.display_width,my_obj->dim.display_height,
                 my_obj->dim.video_width, my_obj->dim.video_height,
                 my_obj->dim.picture_width,my_obj->dim.picture_height,
                 my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height,
                 my_obj->dim.raw_picture_width,my_obj->dim.raw_picture_height);
        break;
    case MM_CAMERA_PARM_SNAPSHOT_BURST_NUM:
        CDBG("%s: Setting snapshot burst number: %d\n", __func__, *((int *)parm->p_value));
        my_obj->snap_burst_num_by_user = *((int *)parm->p_value);
        rc = MM_CAMERA_OK;
        break;
    case MM_CAMERA_PARM_CH_IMAGE_FMT:
        {
            mm_camera_ch_image_fmt_parm_t *fmt;
            fmt = (mm_camera_ch_image_fmt_parm_t *)parm->p_value;
            rc = mm_camera_ch_fn(my_obj,    fmt->ch_type,
                            MM_CAMERA_STATE_EVT_SET_FMT, fmt);
        }
        break;
    case MM_CAMERA_PARM_CHECK_AF_RETRY:
        return mm_camera_send_native_ctrl_cmd(my_obj,   CAMERA_CHECK_AF_RETRY,
                 0, (void *)NULL);
    case MM_CAMERA_PARM_LG_CAF_LOCK:
        return mm_camera_send_native_ctrl_cmd(my_obj,   CAMERA_SET_LG_CAF_LOCK,
                 0, (void *)NULL);
    case MM_CAMERA_PARM_INFORM_STARTPRVIEW:
        return mm_camera_send_native_ctrl_cmd(my_obj,   CAMERA_SET_INFORM_STARTPREVIEW,
                 0, (void *)NULL);
    default:
        rc = mm_camera_set_general_parm(my_obj, parm);
        break;
    }
    return rc;
}
Example #2
0
int32_t mm_camera_set_parm(mm_camera_obj_t * my_obj, 
	mm_camera_parm_t *parm)
{
	int32_t rc = -1;
	uint16_t len;
	switch(parm->parm_type) {
	case MM_CAMERA_PARM_OP_MODE:
		rc = mm_camera_util_set_op_mode(my_obj, 
						(mm_camera_op_mode_type_t *)parm->p_value);
		break;
	case MM_CAMERA_PARM_DIMENSION:
		rc = mm_camera_send_native_ctrl_cmd(my_obj,	
					CAMERA_SET_PARM_DIMENSION, sizeof(cam_ctrl_dimension_t), parm->p_value);
		if(rc != MM_CAMERA_OK) {
			CDBG("%s: mm_camera_send_native_ctrl_cmd err=%d\n", __func__, rc);
			break;
		}
		memcpy(&my_obj->dim, (cam_ctrl_dimension_t *)parm->p_value, 
					 sizeof(cam_ctrl_dimension_t));
		CDBG("%s: dw=%d,dh=%d,vw=%d,vh=%d,pw=%d,ph=%d,tw=%d,th=%d,raw_w=%d,raw_h=%d\n",
				 __func__,
				 my_obj->dim.display_width,my_obj->dim.display_height,
				 my_obj->dim.video_width,my_obj->dim.video_height,
				 my_obj->dim.picture_width,my_obj->dim.picture_height,
				 my_obj->dim.ui_thumbnail_width,my_obj->dim.ui_thumbnail_height,
				 my_obj->dim.raw_picture_width,my_obj->dim.raw_picture_height);
		break;
	case MM_CAMERA_PARM_SNAPSHOT_BURST_NUM:
		break;
	case MM_CAMERA_PARM_CH_IMAGE_FMT:
		{
			mm_camera_ch_image_fmt_parm_t *fmt;
			fmt = (mm_camera_ch_image_fmt_parm_t *)parm->p_value;
			rc = mm_camera_ch_fn(my_obj,	fmt->ch_type, 
							MM_CAMERA_STATE_EVT_SET_FMT, fmt);
		}
		break;
	default:
		rc = mm_camera_set_general_parm(my_obj, parm);
		break;
	}
	return rc;
}