diff options
author | David Huang <d-huang@ti.com> | 2016-09-20 16:03:27 -0500 |
---|---|---|
committer | Vishal Mahaveer <vishalm@ti.com> | 2016-10-04 16:54:02 -0500 |
commit | 660fe110b3709bce2f3ccf719ef27d58d9da4ea7 (patch) | |
tree | cc3c3813f3090f7d8f59c2e9712401339e570734 | |
parent | 63f7bc066300c98e3db6799e5598431fc8a52221 (diff) | |
download | dra7xx-660fe110b3709bce2f3ccf719ef27d58d9da4ea7.tar.gz |
dra7xx: camera: Zero V4L2 buffer flags
Application is supposed to zero the flags field in buffers being
queued into the V4L2 drivers. Fixes issue where uninitialized
values can pass through to driver level and imitate a
V4L2_BUF_FLAG_LAST flag, causing V4L2 to stop dequeueing buffers.
Change-Id: I1e4fe74b316dc3ad4777689b7f4e74704833841e
Signed-off-by: David Huang <d-huang@ti.com>
-rw-r--r-- | camera/V4LCameraAdapter/V4LCameraAdapter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/camera/V4LCameraAdapter/V4LCameraAdapter.cpp b/camera/V4LCameraAdapter/V4LCameraAdapter.cpp index 837a755..b5fa2b7 100644 --- a/camera/V4LCameraAdapter/V4LCameraAdapter.cpp +++ b/camera/V4LCameraAdapter/V4LCameraAdapter.cpp @@ -370,6 +370,7 @@ status_t V4LCameraAdapter::restartPreview () v4l2_buffer buf; buf.index = i; + buf.flags = 0; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_DMABUF; buf.m.fd = mCameraBuffers[i].dma_buf_fd; @@ -521,6 +522,7 @@ status_t V4LCameraAdapter::fillThisBuffer(CameraBuffer *frameBuf, CameraFrame::F } else { v4l2_buffer buf; buf.index = idx; + buf.flags = 0; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_DMABUF; buf.m.fd = mCameraBuffers[idx].dma_buf_fd; @@ -785,6 +787,7 @@ status_t V4LCameraAdapter::takePicture() { v4l2_buffer buf; buf.index = i; + buf.flags = 0; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_MMAP; @@ -933,6 +936,7 @@ status_t V4LCameraAdapter::startPreview() } buf.index = i; + buf.flags = 0; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_DMABUF; buf.m.fd = mCameraBuffers[i].dma_buf_fd; @@ -1511,6 +1515,7 @@ status_t V4LCameraAdapter::returnBufferToV4L(int id) { status_t ret = NO_ERROR; v4l2_buffer buf; buf.index = id; + buf.flags = 0; buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; buf.memory = V4L2_MEMORY_DMABUF; buf.m.fd = mCameraBuffers[id].dma_buf_fd; |