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; }
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; }
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; }