[06/12,media] v4l: add V4L2_EVENT_BUF_QUEUED event
Commit Message
From: Gustavo Padovan <gustavo.padovan@collabora.com>
Add a new event the userspace can subscribe to receive notifications
when a buffer is queued onto the driver. The event provides the index of
the queued buffer.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
---
include/uapi/linux/videodev2.h | 6 ++++++
1 file changed, 6 insertions(+)
Comments
Em Fri, 16 Jun 2017 16:39:09 +0900
Gustavo Padovan <gustavo@padovan.org> escreveu:
> From: Gustavo Padovan <gustavo.padovan@collabora.com>
>
> Add a new event the userspace can subscribe to receive notifications
> when a buffer is queued onto the driver. The event provides the index of
> the queued buffer.
If you're changing uAPI, you need to update media uAPI book as well.
>
> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
> ---
> include/uapi/linux/videodev2.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
> index 750d511..c2eda75 100644
> --- a/include/uapi/linux/videodev2.h
> +++ b/include/uapi/linux/videodev2.h
> @@ -2150,6 +2150,7 @@ struct v4l2_streamparm {
> #define V4L2_EVENT_FRAME_SYNC 4
> #define V4L2_EVENT_SOURCE_CHANGE 5
> #define V4L2_EVENT_MOTION_DET 6
> +#define V4L2_EVENT_BUF_QUEUED 7
> #define V4L2_EVENT_PRIVATE_START 0x08000000
>
> /* Payload for V4L2_EVENT_VSYNC */
> @@ -2202,6 +2203,10 @@ struct v4l2_event_motion_det {
> __u32 region_mask;
> };
>
> +struct v4l2_event_buf_queued {
> + __u32 index;
> +};
> +
> struct v4l2_event {
> __u32 type;
> union {
> @@ -2210,6 +2215,7 @@ struct v4l2_event {
> struct v4l2_event_frame_sync frame_sync;
> struct v4l2_event_src_change src_change;
> struct v4l2_event_motion_det motion_det;
> + struct v4l2_event_buf_queued buf_queued;
> __u8 data[64];
> } u;
> __u32 pending;
@@ -2150,6 +2150,7 @@ struct v4l2_streamparm {
#define V4L2_EVENT_FRAME_SYNC 4
#define V4L2_EVENT_SOURCE_CHANGE 5
#define V4L2_EVENT_MOTION_DET 6
+#define V4L2_EVENT_BUF_QUEUED 7
#define V4L2_EVENT_PRIVATE_START 0x08000000
/* Payload for V4L2_EVENT_VSYNC */
@@ -2202,6 +2203,10 @@ struct v4l2_event_motion_det {
__u32 region_mask;
};
+struct v4l2_event_buf_queued {
+ __u32 index;
+};
+
struct v4l2_event {
__u32 type;
union {
@@ -2210,6 +2215,7 @@ struct v4l2_event {
struct v4l2_event_frame_sync frame_sync;
struct v4l2_event_src_change src_change;
struct v4l2_event_motion_det motion_det;
+ struct v4l2_event_buf_queued buf_queued;
__u8 data[64];
} u;
__u32 pending;