From e7899b1d61434674e95fc23572360a641e445880 Mon Sep 17 00:00:00 2001 From: Dong Heng Date: Tue, 24 Jun 2025 16:09:14 +0800 Subject: [PATCH] fix(esp_driver_cam): Fix DVP get trans buffer error --- components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c index 7a8e0df084..b1ab042c74 100644 --- a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c +++ b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c @@ -138,7 +138,7 @@ static esp_err_t esp_cam_ctlr_dvp_config_input_gpio(int pin, int signal, bool in static IRAM_ATTR esp_err_t esp_cam_ctlr_dvp_start_trans(esp_cam_ctlr_dvp_cam_t *ctlr) { bool buffer_ready = false; - esp_cam_ctlr_trans_t trans; + esp_cam_ctlr_trans_t trans = {0}; if (ctlr->cur_buf) { ctlr->cur_buf = NULL; @@ -151,7 +151,9 @@ static IRAM_ATTR esp_err_t esp_cam_ctlr_dvp_start_trans(esp_cam_ctlr_dvp_cam_t * if (trans.buffer) { buffer_ready = true; } - } else if (!ctlr->bk_buffer_dis) { + } + + if (!buffer_ready && !ctlr->bk_buffer_dis) { trans.buffer = ctlr->backup_buffer; trans.buflen = ctlr->fb_size_in_bytes; buffer_ready = true;