summaryrefslogtreecommitdiff
path: root/stan/v4l2-decode/ctrls.c
diff options
context:
space:
mode:
Diffstat (limited to 'stan/v4l2-decode/ctrls.c')
-rw-r--r--stan/v4l2-decode/ctrls.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/stan/v4l2-decode/ctrls.c b/stan/v4l2-decode/ctrls.c
new file mode 100644
index 0000000..7f885ed
--- /dev/null
+++ b/stan/v4l2-decode/ctrls.c
@@ -0,0 +1,31 @@
+#include <stdint.h>
+#include <string.h>
+#include <unistd.h>
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <linux/videodev2.h>
+
+#include "ctrls.h"
+
+#define DBG_TAG " ctrls"
+
+int ctrl_get_min_bufs_for_capture(struct instance *i)
+{
+ struct v4l2_control ctrl = {0};
+ int ret;
+
+ ctrl.id = V4L2_CID_MIN_BUFFERS_FOR_CAPTURE;
+
+ ret = ioctl(i->video.fd, VIDIOC_G_CTRL, &ctrl);
+ if (ret) {
+ err("get min capture buffers fail (%s)", strerror(errno));
+ return ret;
+ }
+
+ i->video.cap_min_bufs = ctrl.value;
+
+ info("minimum capture buffers count: %u", i->video.cap_min_bufs);
+
+ return 0;
+}
+