Files
SpotMicroESP32-Leika/esp32/include/AsyncJpegStream.h
T
2024-03-04 18:14:05 +01:00

28 lines
767 B
C++

#include <ESPAsyncWebServer.h>
#include <esp_camera.h>
typedef struct {
camera_fb_t * fb;
size_t index;
} camera_frame_t;
#define PART_BOUNDARY "123456789000000000000987654321"
class AsyncJpegStreamResponse: public AsyncAbstractResponse {
private:
camera_frame_t _frame;
size_t _index;
size_t _jpg_buf_len;
uint8_t * _jpg_buf;
uint64_t lastAsyncRequest;
public:
AsyncJpegStreamResponse();
~AsyncJpegStreamResponse();
bool _sourceValid() const {
return true;
}
virtual size_t _fillBuffer(uint8_t *buf, size_t maxLen) override;
size_t _content(uint8_t *buffer, size_t maxLen, size_t index);
};
void streamJpg(AsyncWebServerRequest *request);