diff options
-rw-r--r-- | isp/v4l2-pool.c | 4 | ||||
-rw-r--r-- | isp/v4l2.c | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/isp/v4l2-pool.c b/isp/v4l2-pool.c index b0bf3b5..e002552 100644 --- a/isp/v4l2-pool.c +++ b/isp/v4l2-pool.c @@ -29,6 +29,7 @@ struct v4l2_buffers_pool *v4l2_buffers_pool_new(unsigned int nbufs) { struct v4l2_video_buffer *buffers; struct v4l2_buffers_pool *pool; + unsigned int i; pool = malloc(sizeof *pool); if (pool == NULL) @@ -42,6 +43,9 @@ struct v4l2_buffers_pool *v4l2_buffers_pool_new(unsigned int nbufs) memset(buffers, 0, sizeof *buffers * nbufs); + for (i = 0; i < nbufs; ++i) + buffers[i].index = i; + pool->nbufs = nbufs; pool->buffers = buffers; @@ -650,7 +650,6 @@ int v4l2_dequeue_buffer(struct v4l2_device *dev, struct v4l2_video_buffer *buffe } *buffer = dev->pool->buffers[buf.index]; - buffer->index = buf.index; buffer->bytesused = buf.bytesused; buffer->timestamp = buf.timestamp; buffer->error = !!(buf.flags & V4L2_BUF_FLAG_ERROR); |