本文整理汇总了C++中camera_check_event_status函数的典型用法代码示例。如果您正苦于以下问题:C++ camera_check_event_status函数的具体用法?C++ camera_check_event_status怎么用?C++ camera_check_event_status使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了camera_check_event_status函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: camera_v4l2_g_crop
static int camera_v4l2_g_crop(struct file *filep, void *fh,
struct v4l2_crop *crop)
{
int rc = 0;
struct v4l2_event event;
if (crop->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
camera_pack_event(filep, MSM_CAMERA_GET_PARM,
MSM_CAMERA_PRIV_G_CROP, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0)
return rc;
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:Jackeagle,项目名称:kernel_samsung,代码行数:19,代码来源:camera.c
示例2: camera_v4l2_g_ctrl
static int camera_v4l2_g_ctrl(struct file *filep, void *fh,
struct v4l2_control *ctrl)
{
int rc = 0;
struct v4l2_event event;
if (ctrl->id >= V4L2_CID_PRIVATE_BASE) {
camera_pack_event(filep, MSM_CAMERA_GET_PARM, ctrl->id, -1,
&event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0)
return rc;
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:morganmf,项目名称:kernel_falcon_umts_kk,代码行数:19,代码来源:camera.c
示例3: camera_v4l2_g_fmt_vid_cap_mplane
static int camera_v4l2_g_fmt_vid_cap_mplane(struct file *filep, void *fh,
struct v4l2_format *pfmt)
{
int rc = -EINVAL;
if (pfmt->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
struct v4l2_event event;
camera_pack_event(filep, MSM_CAMERA_GET_PARM,
MSM_CAMERA_PRIV_G_FMT, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0)
return rc;
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:TheNameIsNigel,项目名称:android_kernel_carbon_msm8928,代码行数:20,代码来源:camera.c
示例4: camera_v4l2_s_ctrl
static int camera_v4l2_s_ctrl(struct file *filep, void *fh,
struct v4l2_control *ctrl)
{
int rc = 0;
struct v4l2_event event;
struct msm_v4l2_event_data *event_data;
if (ctrl->id >= V4L2_CID_PRIVATE_BASE) {
camera_pack_event(filep, MSM_CAMERA_SET_PARM, ctrl->id,
ctrl->value, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0)
return rc;
event_data = (struct msm_v4l2_event_data *)event.u.data;
ctrl->value = event_data->ret_value;
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:TheNameIsNigel,项目名称:android_kernel_carbon_msm8928,代码行数:20,代码来源:camera.c
示例5: camera_v4l2_queryctrl
static int camera_v4l2_queryctrl(struct file *filep, void *fh,
struct v4l2_queryctrl *ctrl)
{
int rc = 0;
struct v4l2_event event;
if (ctrl->type == V4L2_CTRL_TYPE_MENU) {
camera_pack_event(filep, MSM_CAMERA_GET_PARM,
ctrl->id, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0)
return rc;
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:TheNameIsNigel,项目名称:android_kernel_carbon_msm8928,代码行数:20,代码来源:camera.c
示例6: camera_v4l2_querycap
static int camera_v4l2_querycap(struct file *filep, void *fh,
struct v4l2_capability *cap)
{
int rc;
struct v4l2_event event;
/* can use cap->driver to make differentiation */
camera_pack_event(filep, MSM_CAMERA_GET_PARM,
MSM_CAMERA_PRIV_QUERY_CAP, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : msm_post_event failed!", __func__);
return rc;
}
rc = camera_check_event_status(&event);
return rc;
}
开发者ID:badreaper,项目名称:kltespr_kernel_cm13,代码行数:20,代码来源:camera.c
示例7: camera_v4l2_streamon
static int camera_v4l2_streamon(struct file *filep, void *fh,
enum v4l2_buf_type buf_type)
{
struct v4l2_event event;
int rc;
struct camera_v4l2_private *sp = fh_to_private(fh);
rc = vb2_streamon(&sp->vb2_q, buf_type);
camera_pack_event(filep, MSM_CAMERA_SET_PARM,
MSM_CAMERA_PRIV_STREAM_ON, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : msm_post_event failed!", __func__);
return rc;
}
rc = camera_check_event_status(&event);
return rc;
}
开发者ID:badreaper,项目名称:kltespr_kernel_cm13,代码行数:20,代码来源:camera.c
示例8: camera_v4l2_s_parm
static int camera_v4l2_s_parm(struct file *filep, void *fh,
struct v4l2_streamparm *parm)
{
int rc = 0;
struct v4l2_event event;
struct msm_v4l2_event_data *event_data =
(struct msm_v4l2_event_data *)&event.u.data[0];
struct camera_v4l2_private *sp = fh_to_private(fh);
camera_pack_event(filep, MSM_CAMERA_SET_PARM,
MSM_CAMERA_PRIV_NEW_STREAM, -1, &event);
rc = msm_create_stream(event_data->session_id,
event_data->stream_id, &sp->vb2_q);
if (rc < 0) {
pr_err("%s : msm_create_stream failed", __func__);
return rc;
}
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : msm_post_event failed!", __func__);
goto error;
}
rc = camera_check_event_status(&event);
if (rc < 0) {
pr_err("%s : camera_check_event_status failed!", __func__);
goto error;
}
/* use stream_id as stream index */
parm->parm.capture.extendedmode = sp->stream_id;
return rc;
error:
msm_delete_stream(event_data->session_id,
event_data->stream_id);
return rc;
}
开发者ID:badreaper,项目名称:kltespr_kernel_cm13,代码行数:41,代码来源:camera.c
示例9: camera_v4l2_s_crop
static int camera_v4l2_s_crop(struct file *filep, void *fh,
const struct v4l2_crop *crop)
{
int rc = 0;
struct v4l2_event event;
if (crop->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
camera_pack_event(filep, MSM_CAMERA_SET_PARM,
MSM_CAMERA_PRIV_S_CROP, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : msm_post_event failed!", __FUNCTION__);
return rc;
}
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:AndroidGX,项目名称:SimpleGX-L-5.0.2_BOE2_G901F,代码行数:22,代码来源:camera.c
示例10: camera_v4l2_g_ctrl
static int camera_v4l2_g_ctrl(struct file *filep, void *fh,
struct v4l2_control *ctrl)
{
int rc = 0;
struct v4l2_event event;
if (ctrl->id >= V4L2_CID_PRIVATE_BASE) {
camera_pack_event(filep, MSM_CAMERA_GET_PARM, ctrl->id, -1,
&event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
/* */
if (rc < 0){
pr_err("%s:%d camera_v4l2_g_ctrl failed\n", __func__, __LINE__);
return rc;
}
/* */
rc = camera_check_event_status(&event);
}
return rc;
}
开发者ID:TheRealTruth,项目名称:LGLS995_Gflex_Kikat_ZV9_Kernel,代码行数:23,代码来源:camera.c
示例11: camera_v4l2_open
static int camera_v4l2_open(struct file *filep)
{
int rc = 0;
struct v4l2_event event;
struct msm_video_device *pvdev = video_drvdata(filep);
BUG_ON(!pvdev);
rc = camera_v4l2_fh_open(filep);
if (rc < 0) {
pr_err("%s : camera_v4l2_fh_open failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto fh_open_fail;
}
/* every stream has a vb2 queue */
rc = camera_v4l2_vb2_q_init(filep);
if (rc < 0) {
pr_err("%s : vb2 queue init fails Line %d rc %d\n",
__func__, __LINE__, rc);
goto vb2_q_fail;
}
if (!atomic_read(&pvdev->opened)) {
pm_stay_awake(&pvdev->vdev->dev);
/* create a new session when first opened */
rc = msm_create_session(pvdev->vdev->num, pvdev->vdev);
if (rc < 0) {
pr_err("%s : session creation failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto session_fail;
}
rc = msm_create_command_ack_q(pvdev->vdev->num, 0);
if (rc < 0) {
pr_err("%s : creation of command_ack queue failed\n",
__func__);
pr_err("%s : Line %d rc %d\n", __func__, __LINE__, rc);
goto command_ack_q_fail;
}
camera_pack_event(filep, MSM_CAMERA_NEW_SESSION, 0, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : posting of NEW_SESSION event failed\n",
__func__);
pr_err("%s : Line %d rc %d\n", __func__, __LINE__, rc);
goto post_fail;
}
rc = camera_check_event_status(&event);
if (rc < 0) {
pr_err("%s : checking event status fails Line %d rc %d\n",
__func__, __LINE__, rc);
goto post_fail;
}
} else {
rc = msm_create_command_ack_q(pvdev->vdev->num,
atomic_read(&pvdev->stream_cnt));
if (rc < 0) {
pr_err("%s : creation of command_ack queue failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto session_fail;
}
}
atomic_add(1, &pvdev->opened);
atomic_add(1, &pvdev->stream_cnt);
return rc;
post_fail:
msm_delete_command_ack_q(pvdev->vdev->num, 0);
command_ack_q_fail:
msm_destroy_session(pvdev->vdev->num);
session_fail:
pm_relax(&pvdev->vdev->dev);
camera_v4l2_vb2_q_release(filep);
vb2_q_fail:
camera_v4l2_fh_release(filep);
fh_open_fail:
return rc;
}
开发者ID:TheNameIsNigel,项目名称:android_kernel_carbon_msm8928,代码行数:80,代码来源:camera.c
示例12: camera_v4l2_open
static int camera_v4l2_open(struct file *filep)
{
int rc = 0;
struct v4l2_event event;
struct msm_video_device *pvdev = video_drvdata(filep);
unsigned int opn_idx, idx;
BUG_ON(!pvdev);
rc = camera_v4l2_fh_open(filep);
if (rc < 0) {
pr_err("%s : camera_v4l2_fh_open failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto fh_open_fail;
}
opn_idx = atomic_read(&pvdev->opened);
idx = opn_idx;
/* every stream has a vb2 queue */
rc = camera_v4l2_vb2_q_init(filep);
if (rc < 0) {
pr_err("%s : vb2 queue init fails Line %d rc %d\n",
__func__, __LINE__, rc);
goto vb2_q_fail;
}
if (!atomic_read(&pvdev->opened)) {
pm_stay_awake(&pvdev->vdev->dev);
/* Disable power collapse latency */
msm_pm_qos_update_request(CAMERA_DISABLE_PC_LATENCY);
/* create a new session when first opened */
rc = msm_create_session(pvdev->vdev->num, pvdev->vdev);
if (rc < 0) {
pr_err("%s : session creation failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto session_fail;
}
rc = msm_create_command_ack_q(pvdev->vdev->num,
find_first_zero_bit((const unsigned long *)&opn_idx,
MSM_CAMERA_STREAM_CNT_BITS));
if (rc < 0) {
pr_err("%s : creation of command_ack queue failed\n",
__func__);
pr_err("%s : Line %d rc %d\n", __func__, __LINE__, rc);
goto command_ack_q_fail;
}
camera_pack_event(filep, MSM_CAMERA_NEW_SESSION, 0, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s : posting of NEW_SESSION event failed\n",
__func__);
pr_err("%s : Line %d rc %d\n", __func__, __LINE__, rc);
goto post_fail;
}
rc = camera_check_event_status(&event);
if (rc < 0) {
pr_err("%s : checking event status fails Line %d rc %d\n",
__func__, __LINE__, rc);
goto post_fail;
}
} else {
rc = msm_create_command_ack_q(pvdev->vdev->num,
find_first_zero_bit((const unsigned long *)&opn_idx,
MSM_CAMERA_STREAM_CNT_BITS));
if (rc < 0) {
pr_err("%s : creation of command_ack queue failed Line %d rc %d\n",
__func__, __LINE__, rc);
goto session_fail;
}
}
idx |= (1 << find_first_zero_bit((const unsigned long *)&opn_idx,
MSM_CAMERA_STREAM_CNT_BITS));
atomic_cmpxchg(&pvdev->opened, opn_idx, idx);
return rc;
post_fail:
msm_delete_command_ack_q(pvdev->vdev->num, 0);
command_ack_q_fail:
msm_destroy_session(pvdev->vdev->num);
session_fail:
pm_relax(&pvdev->vdev->dev);
camera_v4l2_vb2_q_release(filep);
vb2_q_fail:
camera_v4l2_fh_release(filep);
fh_open_fail:
return rc;
}
开发者ID:LEPT-Development,项目名称:Android_kernel_lge_C50,代码行数:91,代码来源:camera.c
示例13: camera_v4l2_open
static int camera_v4l2_open(struct file *filep)
{
int rc = 0;
struct v4l2_event event;
struct msm_video_device *pvdev = video_drvdata(filep);
BUG_ON(!pvdev);
rc = camera_v4l2_fh_open(filep);
if (rc < 0) {
pr_err("%s : camera_v4l2_fh_open", __func__);
goto fh_open_fail;
}
/* every stream has a vb2 queue */
rc = camera_v4l2_vb2_q_init(filep);
if (rc < 0) {
pr_err("%s : camera_v4l2_vb2_q_init", __func__);
goto vb2_q_fail;
}
if (!atomic_read(&pvdev->opened)) {
/* create a new session when first opened */
rc = msm_create_session(pvdev->vdev->num, pvdev->vdev);
if (rc < 0) {
pr_err("%s : msm_create_session", __func__);
goto session_fail;
}
rc = msm_create_command_ack_q(pvdev->vdev->num, 0);
if (rc < 0) {
pr_err("%s : msm_create_command_ack_q", __func__);
goto command_ack_q_fail;
}
camera_pack_event(filep, MSM_CAMERA_NEW_SESSION, 0, -1, &event);
rc = msm_post_event(&event, MSM_POST_EVT_TIMEOUT);
if (rc < 0) {
pr_err("%s, __dbg: post fail \n", __func__);
if (qdaemon_task) {
if (!strncmp(qdaemon_task->comm, QDAEMON, strlen(QDAEMON))) {
pr_err("%s, kill daemon", __func__);
send_sig(SIGKILL, qdaemon_task, 0);
pr_err("%s, kill this", __func__);
send_sig(SIGKILL, current, 0);
} else
pr_err("%s, now (%s : %d)", __func__,
qdaemon_task->comm, task_pid_nr(qdaemon_task));
} else
pr_err("error!! can't look for daemon");
goto post_fail;
}
rc = camera_check_event_status(&event);
if (rc < 0) {
pr_err("%s : camera_check_event_status", __func__);
goto post_fail;
}
} else {
rc = msm_create_command_ack_q(pvdev->vdev->num,
atomic_read(&pvdev->opened));
if (rc < 0) {
pr_err("%s : msm_create_command_ack_q", __func__);
goto session_fail;
}
}
atomic_add(1, &pvdev->opened);
return rc;
post_fail:
msm_delete_command_ack_q(pvdev->vdev->num, 0);
command_ack_q_fail:
msm_destroy_session(pvdev->vdev->num);
session_fail:
camera_v4l2_vb2_q_release(filep);
vb2_q_fail:
camera_v4l2_fh_release(filep);
fh_open_fail:
return rc;
}
开发者ID:badreaper,项目名称:kltespr_kernel_cm13,代码行数:81,代码来源:camera.c
注:本文中的camera_check_event_status函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论