int stopRdi(int cam_id)
{
    int rc = MM_CAMERA_OK;
    mm_camera_app_obj_t *pme = mm_app_get_cam_obj(cam_id);

    mm_app_streamoff_rdi(cam_id);

    end:
    return rc;
}
int takePicture_rdi(int cam_id)
{
    int rc = MM_CAMERA_OK;
    mm_camera_app_obj_t *pme = mm_app_get_cam_obj(cam_id);

    mm_app_streamoff_rdi(cam_id);
    rdi_op_mode = MM_CAMERA_OP_MODE_CAPTURE;
    mm_app_set_opmode(cam_id, MM_CAMERA_OP_MODE_CAPTURE);
    if (MM_CAMERA_OK != (rc = mm_app_prepare_rdi(cam_id, 1))) {
        CDBG_ERROR("%s:Prepare RDI failed rc=%d\n", __func__, rc);
        goto end;
    }
    if (MM_CAMERA_OK != (rc = mm_app_streamon_rdi(cam_id))) {
        CDBG_ERROR("%s:Stream On RDI failed rc=%d\n", __func__, rc);
        goto end;
    }
    mm_camera_app_wait(cam_id);
    usleep(50*1000);
    mm_app_streamoff_rdi(cam_id);
    mm_app_start_rdi(cam_id);
end:
    return rc;
}