Allow setting some pixfmts as strings

This commit is contained in:
Martijn Braam 2020-01-24 00:56:52 +01:00
parent 849e163cb5
commit 666deae49c
No known key found for this signature in database
GPG Key ID: C4280ACB000B060F
1 changed files with 16 additions and 4 deletions

20
main.c
View File

@ -44,7 +44,7 @@ xioctl(int fd, int request, void *arg)
static void static void
errno_exit(const char *s) errno_exit(const char *s)
{ {
fprintf(stderr, "%s error %d, %s\\n", s, errno, strerror(errno)); fprintf(stderr, "%s error %d, %s\n", s, errno, strerror(errno));
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
@ -392,9 +392,21 @@ config_ini_handler(void *user, const char *section, const char *name,
} else if (strcmp(name, "height") == 0) { } else if (strcmp(name, "height") == 0) {
preview_height = strtol(value, NULL, 10); preview_height = strtol(value, NULL, 10);
} else if (strcmp(name, "fmt") == 0) { } else if (strcmp(name, "fmt") == 0) {
if (strcmp(value, "RGB") == 0){
preview_fmt = V4L2_PIX_FMT_RGB24;
} else if (strcmp(value, "UYVY8") == 0) {
preview_fmt = V4L2_PIX_FMT_UYVY;
} else if (strcmp(value, "JPEG") == 0) {
preview_fmt = V4L2_PIX_FMT_JPEG;
} else if (strcmp(value, "NV12") == 0) {
preview_fmt = V4L2_PIX_FMT_NV12;
} else {
g_printerr("Unsupported pixelformat %s\n", value);
exit(1);
}
preview_fmt = strtol(value, NULL, 10); preview_fmt = strtol(value, NULL, 10);
} else { } else {
g_printerr("Unknown key '%s' in [preview]", name); g_printerr("Unknown key '%s' in [preview]\n", name);
exit(1); exit(1);
} }
} else if (strcmp(section, "device") == 0) { } else if (strcmp(section, "device") == 0) {
@ -403,11 +415,11 @@ config_ini_handler(void *user, const char *section, const char *name,
} else if (strcmp(name, "front") == 0) { } else if (strcmp(name, "front") == 0) {
front_dev_name = strdup(value); front_dev_name = strdup(value);
} else { } else {
g_printerr("Unknown key '%s' in [device]", name); g_printerr("Unknown key '%s' in [device]\n", name);
exit(1); exit(1);
} }
} else { } else {
g_printerr("Unknown section '%s' in config file", section); g_printerr("Unknown section '%s' in config file\n", section);
exit(1); exit(1);
} }
return 1; return 1;