From ae18e0609819cec19912ac7f57bff4d2d0016f8d Mon Sep 17 00:00:00 2001 From: Kamil Trzcinski Date: Tue, 12 Apr 2022 10:05:03 +0200 Subject: [PATCH] Fail on wrong resolution --- device/camera/camera_output.c | 8 ++++++-- device/v4l2/buffer_list.c | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/device/camera/camera_output.c b/device/camera/camera_output.c index 1796f1e..ea822cb 100644 --- a/device/camera/camera_output.c +++ b/device/camera/camera_output.c @@ -73,8 +73,12 @@ static int camera_configure_jpeg_output(camera_t *camera, buffer_list_t *src_cap int camera_configure_output(camera_t *camera, buffer_list_t *src_capture, int res) { - return camera_configure_h264_output(camera, src_capture, res) == 0 && - camera_configure_jpeg_output(camera, src_capture, res) == 0; + if (camera_configure_h264_output(camera, src_capture, res) < 0 || + camera_configure_jpeg_output(camera, src_capture, res) < 0) { + return -1; + } + + return 0; } int camera_configure_output_rescaler2(camera_t *camera, buffer_list_t *src_capture, float div, int res) diff --git a/device/v4l2/buffer_list.c b/device/v4l2/buffer_list.c index 15694da..fcc5cd5 100644 --- a/device/v4l2/buffer_list.c +++ b/device/v4l2/buffer_list.c @@ -118,7 +118,8 @@ int v4l2_buffer_list_open(buffer_list_t *buf_list) if (buf_list->fmt.width != fmt.width || buf_list->fmt.height != fmt.height) { if (fmt.bytesperline) { - LOG_ERROR(buf_list, "Requested resolution=%ux%u is unavailable. Got %ux%u.", + LOG_ERROR(buf_list, "Requested resolution=%ux%u is unavailable. Got %ux%u. " + "Consider using the `-camera-high_res_factor=2` or `-camera-low_res_factor=3`", fmt.width, fmt.height, buf_list->fmt.width, buf_list->fmt.height); } else { LOG_INFO(buf_list, "Requested resolution=%ux%u is unavailable. Got %ux%u. Accepted",