diff --git a/driver/esp_camera.c b/driver/esp_camera.c index 4dc8f5a443..4446284bbe 100644 --- a/driver/esp_camera.c +++ b/driver/esp_camera.c @@ -334,15 +334,21 @@ esp_err_t esp_camera_init(const camera_config_t *config) } s_state->sensor.status.framesize = frame_size; - s_state->sensor.pixformat = pix_format; - ESP_LOGD(TAG, "Setting frame size to %dx%d", resolution[frame_size].width, resolution[frame_size].height); if (s_state->sensor.set_framesize(&s_state->sensor, frame_size) != 0) { ESP_LOGE(TAG, "Failed to set frame size"); err = ESP_ERR_CAMERA_FAILED_TO_SET_FRAME_SIZE; goto fail; } - s_state->sensor.set_pixformat(&s_state->sensor, pix_format); + + s_state->sensor.pixformat = pix_format; + ESP_LOGD(TAG, "Setting pixel format to %d", pix_format); + if (s_state->sensor.set_pixformat(&s_state->sensor, pix_format)) { + ESP_LOGE(TAG, "Failed to set pixel format"); + err = ESP_ERR_CAMERA_FAILED_TO_SET_PIXEL_FORMAT; + goto fail; + } + #if CONFIG_CAMERA_CONVERTER_ENABLED if(config->conv_mode) { s_state->sensor.pixformat = get_output_data_format(config->conv_mode); // If conversion enabled, change the out data format by conversion mode diff --git a/driver/include/esp_camera.h b/driver/include/esp_camera.h index fa2f24cda9..c4fb9fad13 100755 --- a/driver/include/esp_camera.h +++ b/driver/include/esp_camera.h @@ -170,10 +170,11 @@ typedef struct { } camera_fb_t; #define ESP_ERR_CAMERA_BASE 0x20000 -#define ESP_ERR_CAMERA_NOT_DETECTED (ESP_ERR_CAMERA_BASE + 1) -#define ESP_ERR_CAMERA_FAILED_TO_SET_FRAME_SIZE (ESP_ERR_CAMERA_BASE + 2) -#define ESP_ERR_CAMERA_FAILED_TO_SET_OUT_FORMAT (ESP_ERR_CAMERA_BASE + 3) -#define ESP_ERR_CAMERA_NOT_SUPPORTED (ESP_ERR_CAMERA_BASE + 4) +#define ESP_ERR_CAMERA_NOT_DETECTED (ESP_ERR_CAMERA_BASE + 1) +#define ESP_ERR_CAMERA_FAILED_TO_SET_FRAME_SIZE (ESP_ERR_CAMERA_BASE + 2) +#define ESP_ERR_CAMERA_FAILED_TO_SET_PIXEL_FORMAT (ESP_ERR_CAMERA_BASE + 3) +#define ESP_ERR_CAMERA_FAILED_TO_SET_OUT_FORMAT (ESP_ERR_CAMERA_BASE + 4) +#define ESP_ERR_CAMERA_NOT_SUPPORTED (ESP_ERR_CAMERA_BASE + 5) /** * @brief Initialize the camera driver