Пример #1
0
int mm_app_close(int8_t cam_id)
{
	int rc = MM_CAMERA_OK;
	mm_camera_app_obj_t *pme = mm_app_get_cam_obj(cam_id);
	mm_camera_channel_type_t ch;

	CDBG("%s:BEGIN\n", __func__);
	if(!pme->cam) {
		CDBG("%s:cam already closed. nop\n",__func__);
		goto end;
	}
	pme->cam = &my_cam_app.cam[cam_id];
	pme->my_id = cam_id;
	pme->op_mode = 0;
	for(ch = 0; ch < MM_CAMERA_CH_MAX; ch++) {
		mm_app_close_ch(cam_id, ch);
		CDBG("%s:cam_id = %d, channel %d relaesed\n",__func__,cam_id, ch);
	}
	pme->cam->ops->close(pme->cam);
	pme->open_flag = FALSE;
	pme->cam = NULL;
	pme->my_id = 0;
	pme->op_mode = 0;
	memset(&pme->dim, 0, sizeof(pme->dim));
end:
	CDBG("%s:END, rc=%d\n", __func__, rc);
	return rc;
}
Пример #2
0
int mm_app_stop_raw_snapshot(int cam_id)
{
    int rc = MM_CAMERA_OK;
#if 0
    mm_camera_app_obj_t *pme = mm_app_get_cam_obj(cam_id);


    CDBG("%s: BEGIN\n", __func__);
    if (MM_CAMERA_OK != (rc = pme->cam->ops->action(pme->cam, FALSE, MM_CAMERA_OPS_RAW, 0))) {
        CDBG("%s:stop raw snapshot streaming err=%d\n", __func__, rc);
        goto end;
    }
    if (MM_CAMERA_OK != (rc = mm_app_unprepare_raw_snapshot_buf(cam_id))) {
        CDBG("%s:mm_app_unprepare_raw_snapshot_buf err=%d\n", __func__, rc);
        return rc;
    }
    if (MM_CAMERA_OK != (rc = mm_app_reg_raw_snapshot_data_cb(cam_id, FALSE))) {
        CDBG("%s:mm_app_reg_raw_snapshot_data_cb err=%d\n", __func__, rc);
        return rc;
    }
    mm_app_close_ch(cam_id, MM_CAMERA_CH_RAW);
end:
    CDBG("%s: END, rc=%d\n", __func__, rc);
#endif
    return rc;
}
Пример #3
0
static int mm_app_close_video(int cam_id)
{
	mm_camera_app_obj_t *pme = mm_app_get_cam_obj(cam_id);
	int rc = MM_CAMERA_OK;

	CDBG("%s: BEGIN\n", __func__);
	mm_app_close_ch(cam_id, MM_CAMERA_CH_VIDEO);
end:
CDBG("%s: END, rc = %d\n", __func__, rc);
	return rc;
}