|
@@ -697,6 +697,15 @@ static int mxr_dqbuf(struct file *file, void *priv, struct v4l2_buffer *p)
|
|
|
return vb2_dqbuf(&layer->vb_queue, p, file->f_flags & O_NONBLOCK);
|
|
|
}
|
|
|
|
|
|
+static int mxr_expbuf(struct file *file, void *priv,
|
|
|
+ struct v4l2_exportbuffer *eb)
|
|
|
+{
|
|
|
+ struct mxr_layer *layer = video_drvdata(file);
|
|
|
+
|
|
|
+ mxr_dbg(layer->mdev, "%s:%d\n", __func__, __LINE__);
|
|
|
+ return vb2_expbuf(&layer->vb_queue, eb);
|
|
|
+}
|
|
|
+
|
|
|
static int mxr_streamon(struct file *file, void *priv, enum v4l2_buf_type i)
|
|
|
{
|
|
|
struct mxr_layer *layer = video_drvdata(file);
|
|
@@ -724,6 +733,7 @@ static const struct v4l2_ioctl_ops mxr_ioctl_ops = {
|
|
|
.vidioc_querybuf = mxr_querybuf,
|
|
|
.vidioc_qbuf = mxr_qbuf,
|
|
|
.vidioc_dqbuf = mxr_dqbuf,
|
|
|
+ .vidioc_expbuf = mxr_expbuf,
|
|
|
/* Streaming control */
|
|
|
.vidioc_streamon = mxr_streamon,
|
|
|
.vidioc_streamoff = mxr_streamoff,
|