diff options
author | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-01-16 08:50:03 +0100 |
---|---|---|
committer | Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> | 2022-01-17 13:02:16 +0100 |
commit | 714ad7e26b9860360fb8098613f8b4887d851e12 (patch) | |
tree | d220b40ec092a10ad59e53e0f56465238a56d473 | |
parent | c6cf852237dc70ab52c8059a5876c0f966be8442 (diff) |
Fix code review comments from https://gerrit.automotivelinux.org/gerrit/c/apps/camera-gstreamer/+/26934.marlin_12.92.0marlin/12.92.012.92.0
Bug-AGL: SPEC-4148
Change-Id: I18b3029eb91d4c693f1848c0e7eeedcdaae14e7f
Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com>
-rw-r--r-- | app/main.cpp | 2 | ||||
-rw-r--r-- | app/utils.cpp | 18 | ||||
-rw-r--r-- | app/utils.h | 2 |
3 files changed, 12 insertions, 10 deletions
diff --git a/app/main.cpp b/app/main.cpp index 67594bf..1acb70f 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -669,7 +669,7 @@ int main(int argc, char *argv[]) memset(pipeline_str, 0, sizeof(pipeline_str)); snprintf(pipeline_str, sizeof(pipeline_str), "v4l2src device=%s ! video/x-raw,width=%d,height=%d ! waylandsink", - get_camera_device(), WINDOW_WIDTH_SIZE, WINDOW_HEIGHT_SIZE); + get_first_camera_device(), WINDOW_WIDTH_SIZE, WINDOW_HEIGHT_SIZE); gst_init(&gargc, &gargv); setbuf(stdout, NULL); diff --git a/app/utils.cpp b/app/utils.cpp index 1cf71f2..45fd4d7 100644 --- a/app/utils.cpp +++ b/app/utils.cpp @@ -156,7 +156,7 @@ os_create_anonymous_file(off_t size) } const char* -get_camera_device(void) +get_first_camera_device(void) { DIR *dir = opendir("/dev"); if (!dir) { @@ -165,20 +165,22 @@ get_camera_device(void) } static char device[PATH_MAX]; + struct dirent *dirent; bool found = false; - while (struct dirent *dirent = readdir(dir)) { - if (strncmp(dirent->d_name, "video", strlen("video"))) + while ((dirent = readdir(dir)) != NULL) { + struct v4l2_capability vid_cap; + int fd; + + if (strcmp(dirent->d_name, "video")) continue; - if (!isdigit(dirent->d_name[strlen("video")])) + if (!isdigit(dirent->d_name[5])) continue; - strcpy(device, "/dev/"); - strncat(device, dirent->d_name, sizeof(device) - 1); + snprintf(device, sizeof(device), "/dev/%s", dirent->d_name); - int fd = open(device, O_RDWR); + fd = open(device, O_RDWR); if (fd == -1) continue; - struct v4l2_capability vid_cap; if (ioctl(fd, VIDIOC_QUERYCAP, &vid_cap) < 0) { close(fd); continue; diff --git a/app/utils.h b/app/utils.h index 8d6f0fd..0e77531 100644 --- a/app/utils.h +++ b/app/utils.h @@ -9,7 +9,7 @@ int os_create_anonymous_file(off_t size); const char* -get_camera_device(void); +get_first_camera_device(void); #ifdef __cplusplus } |