@ -506,3 +506,9 @@ void cam_give(camera_fb_t *dma_buffer)
}
void cam_give_all(void) {
for (int x = 0; x < cam_obj->frame_cnt; x++) {
cam_obj->frames[x].en = 1;
@ -476,3 +476,11 @@ esp_err_t esp_camera_load_from_nvs(const char *key)
return ret;
void esp_camera_return_all(void) {
if (s_state == NULL) {
return;
cam_give_all();
@ -231,6 +231,12 @@ esp_err_t esp_camera_save_to_nvs(const char *key);
*/
esp_err_t esp_camera_load_from_nvs(const char *key);
/**
* @brief Return all frame buffers to be reused again.
void esp_camera_return_all(void);
#ifdef __cplusplus
#endif
@ -55,6 +55,8 @@ camera_fb_t *cam_take(TickType_t timeout);
void cam_give(camera_fb_t *dma_buffer);
void cam_give_all(void);