diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2022-11-22 15:41:50 +0000 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2022-11-22 16:05:29 +0000 |
commit | 29ff9edaec72098f1d9e0a1f5bb18c1f6fdfdde4 (patch) | |
tree | 714867890265678b5843887e48af87da8a9f96b1 | |
parent | bb83c7135540d3391f4d0b46911c8aedbcd84313 (diff) |
main: add support for jpg_source
Add facilities in main() to allow selection and usage of jpg_source.
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r-- | src/main.c | 16 |
1 files changed, 15 insertions, 1 deletions
@@ -16,6 +16,7 @@ #include "stream.h" #include "v4l2-source.h" #include "test-source.h" +#include "jpg-source.h" static void usage(const char *argv0) { @@ -58,6 +59,7 @@ int main(int argc, char *argv[]) { char *function = NULL; char *cap_device = NULL; + char *img_path = NULL; struct uvc_function_config *fc; struct uvc_stream *stream = NULL; struct video_source *src = NULL; @@ -65,12 +67,16 @@ int main(int argc, char *argv[]) int ret = 0; int opt; - while ((opt = getopt(argc, argv, "c:h")) != -1) { + while ((opt = getopt(argc, argv, "c:i:h")) != -1) { switch (opt) { case 'c': cap_device = optarg; break; + case 'i': + img_path = optarg; + break; + case 'h': usage(argv[0]); return 0; @@ -91,6 +97,12 @@ int main(int argc, char *argv[]) return 1; } + if (cap_device != NULL && img_path != NULL) { + printf("Both capture device and still image specified\n"); + printf("Please specify only one\n"); + return 1; + } + /* * Create the events handler. Register a signal handler for SIGINT, * received when the user presses CTRL-C. This will allow the main loop @@ -104,6 +116,8 @@ int main(int argc, char *argv[]) /* Create and initialize a video source. */ if (cap_device) src = v4l2_video_source_create(cap_device); + else if (img_path) + src = jpg_video_source_create(img_path); else src = test_video_source_create(); if (src == NULL) { |