diff --git a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c index 1432e9354..bab68c573 100644 --- a/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c +++ b/rtos/code/application/source/cardv/SrcCode/UIApp/PhotoFast/PhotoFastSliceEncode.c @@ -2225,6 +2225,7 @@ INT32 PhotoFast_SliceEncode_CB2(void* user_data) while (lfqueue_enq(param->queue23, (void*) queue_ele_out) == -1) { DBG_ERR("ENQ Full ?\r\n"); + vos_util_delay_ms(5); } break; @@ -2319,11 +2320,20 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data) * Output jpg file ******************************************************************/ extern INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId, char* Path); + INT32 waitFalg = 0; #if SF_NO_SD_SEND == ENABLE - if( - PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK || - PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){ + // if( + // PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK && + // PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK) + if(PhotoFast_Wait_FileSys(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){ + if(PhotoFast_Wait_FileNaming(FASTBOOT_WAIT_FILESYS_TIMEOUT_MS) != E_OK){ + waitFalg = 1; + } + } + + if(waitFalg) + { DBG_WRN("filesys not ready, store data into mem\n"); SYS_USRMEM usrmem = {0}; @@ -2331,8 +2341,8 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data) if(sys_usrmem_init(&usrmem) == E_OK){ sys_usrmem_write_photo( &usrmem, - (UINT32) queue_ele_in->jpg_combined_addr, - queue_ele_in->jpg_combined_size + (UINT32) queue_ele_in->jpg_thumb_addr, + queue_ele_in->jpg_thumb_size ); } } @@ -2425,18 +2435,23 @@ INT32 PhotoFast_SliceEncode_CB3(void* user_data) if((TRUE != sf_is_card_full() && (mmc_dev->dev_type == MMC_DEV_SD)) || (TRUE != sf_is_emmc_full() && (mmc_dev->dev_type == MMC_DEV_EMMC))) { FST_FILE fp = FileSys_OpenFile(tmp, FST_CREATE_ALWAYS | FST_OPEN_WRITE); - - FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL); - FileSys_FlushFile(fp); - FileSys_CloseFile(fp); - #if HUNTING_CAMERA_MCU == ENABLE - memset(tmp, '\0', sizeof(tmp)); - snprintf(tmp, sizeof(tmp), "%s/%s", mmc_dev->dev_type == MMC_DEV_EMMC ? SF_SEND_LIST_EMMC_DIR : SF_SEND_LIST_DIR, file_path); /* DCF 8.3 naming rule */ - snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */ - sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); - DBG_IND("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path); - DBG_IND("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,queue_ele_in->jpg_thumb_size,tmp2,tmp); - #endif + if(fp != NULL) + { + FileSys_WriteFile(fp, (UINT8*)queue_ele_in->jpg_thumb_addr, &queue_ele_in->jpg_thumb_size, 0, NULL); + FileSys_FlushFile(fp); + FileSys_CloseFile(fp); + #if HUNTING_CAMERA_MCU == ENABLE + memset(tmp, '\0', sizeof(tmp)); + snprintf(tmp, sizeof(tmp), "%s/%s", mmc_dev->dev_type == MMC_DEV_EMMC ? SF_SEND_LIST_EMMC_DIR : SF_SEND_LIST_DIR, file_path); /* DCF 8.3 naming rule */ + snprintf(tmp2, sizeof(tmp2), "%s", file_path); /* DCF 8.3 naming rule */ + sf_file_thumb_cfg_fill(tmp, tmp2, queue_ele_in->jpg_thumb_size, SF_FILE_TYPE_PIC_SMALL); + DBG_IND("PHOTO THUMB %s \n %s\n %s\n", tmp, tmp2,file_path); + DBG_IND("%s:%d thumbfileSize:%d thumbfileName:%s thumbfilePath:%s\n", __FUNCTION__, __LINE__,queue_ele_in->jpg_thumb_size,tmp2,tmp); + #endif + } + else { + DBG_ERR("PHOTO THUMB %s\n", tmp); + } } }