From d5e0f9b31e8a5da5b25a01bb1955314859c62760 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 5 Oct 2011 16:02:16 +0200 Subject: live: Make the number of video buffers configurable The -b argument can be used to set the number of video display buffers. Signed-off-by: Laurent Pinchart --- videoout.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'videoout.c') diff --git a/videoout.c b/videoout.c index f6fbbe7..f8b6be2 100644 --- a/videoout.c +++ b/videoout.c @@ -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; -- cgit v1.2.3