diff options
Diffstat (limited to 'videoout.c')
-rw-r--r-- | videoout.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -37,7 +37,7 @@ #include "isp/v4l2.h" #include "isp/v4l2-pool.h" -#define NUM_BUFFERS 3 +#define MAX_BUFFERS 16 struct videoout { @@ -47,12 +47,13 @@ struct videoout int streaming; - int queued[NUM_BUFFERS]; + int queued[MAX_BUFFERS]; int num_queued; }; struct videoout *vo_init(const char *devname, const struct video_out_operations *ops, + unsigned int buffers, unsigned int width, unsigned int height) { struct v4l2_pix_format pixfmt; @@ -110,7 +111,10 @@ struct videoout *vo_init(const char *devname, } /* Allocate buffers. */ - vo->pool = v4l2_buffers_pool_new(NUM_BUFFERS); + if (buffers > MAX_BUFFERS) + buffers = MAX_BUFFERS; + + vo->pool = v4l2_buffers_pool_new(buffers); if (vo->pool == NULL) { printf("error: unable to allocate buffers pool for display.\n"); goto error; |