summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Osciak <p.osciak@samsung.com>2010-04-28 04:05:21 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 12:58:37 -0300
commitbc0f7f19ab9ba5c7ec648b400d1360b525fa1a3a (patch)
treed574a05efcfa88bc4ee1a5f066a656acfee2faf8
parent7ded150f573d0ce26ac96fd4c214eee7984ad339 (diff)
V4L/DVB: Add a new ERROR flag for DQBUF after recoverable streaming errors
This flag is intended to indicate streaming errors, which might have resulted in corrupted video data in the buffer, but the buffer can still be reused and streaming may continue. Setting this flag and returning 0 is different from returning EIO. The latter should now indicate more serious (unrecoverable) errors. This patch also solves a problem with the ioctl handling code in vl42-ioctl.c, which does not copy buffer identification data back to the userspace when EIO is returned, so there is no way for applications to discover on which buffer the operation failed in such cases. Signed-off-by: Pawel Osciak <p.osciak@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--include/linux/videodev2.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index b5121bec1bd..047f7e6edb8 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -542,6 +542,8 @@ struct v4l2_buffer {
#define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */
#define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */
#define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */
+/* Buffer is ready, but the data contained within is corrupted. */
+#define V4L2_BUF_FLAG_ERROR 0x0040
#define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */
#define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */