summaryrefslogtreecommitdiff
path: root/videoout.c
diff options
context:
space:
mode:
Diffstat (limited to 'videoout.c')
-rw-r--r--videoout.c10
1 files changed, 7 insertions, 3 deletions
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;