arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
Video
Camera
CameraFrameSourceESP32.h
Go to the documentation of this file.
1
#pragma once
2
#include "
AudioTools/Video/Video.h
"
3
#include "esp_camera.h"
4
5
namespace
audio_tools
{
6
24
class
CameraFrameSource
:
public
VideoFrameSource
{
25
public
:
26
CameraFrameSource
() =
default
;
30
CameraFrameSource
(
VideoInfo
info
) :
info
(
info
) {}
31
35
void
setCameraConfig
(camera_config_t config) {
cfg
= config; }
36
39
void
setVideoInfo
(
VideoInfo
info
) { this->info =
info
; }
40
42
bool
begin
() {
return
esp_camera_init(&
cfg
) == ESP_OK; }
43
46
void
end
() {
47
releaseFrame
();
48
esp_camera_deinit();
49
}
50
54
const
uint8_t *
nextFrame
(
size_t
&len)
override
{
55
releaseFrame
();
56
fb
= esp_camera_fb_get();
57
if
(
fb
==
nullptr
) {
58
len = 0;
59
return
nullptr
;
60
}
61
len =
fb
->len;
62
return
fb
->buf;
63
}
64
67
VideoInfo
videoInfo
()
override
{
return
info
; }
68
69
protected
:
70
camera_config_t
cfg
{};
71
camera_fb_t *
fb
=
nullptr
;
72
VideoInfo
info
;
73
74
void
releaseFrame
() {
75
if
(
fb
!=
nullptr
) {
76
esp_camera_fb_return(
fb
);
77
fb
=
nullptr
;
78
}
79
}
80
};
81
82
using
CameraFrameSource
= CameraFrameSourceESP32;
83
84
}
// namespace audio_tools
Video.h
audio_tools::CameraFrameSource
VideoFrameSource that pulls frames from the ESP32 camera (esp_camera.h, the Arduino-ESP32 "esp32-came...
Definition
CameraFrameSourceESP32.h:24
audio_tools::CameraFrameSource::CameraFrameSource
CameraFrameSource()=default
audio_tools::CameraFrameSource::videoInfo
VideoInfo videoInfo() override
Definition
CameraFrameSourceESP32.h:67
audio_tools::CameraFrameSource::cfg
camera_config_t cfg
Definition
CameraFrameSourceESP32.h:70
audio_tools::CameraFrameSource::setCameraConfig
void setCameraConfig(camera_config_t config)
Definition
CameraFrameSourceESP32.h:35
audio_tools::CameraFrameSource::begin
bool begin()
Initializes the camera (esp_camera_init()).
Definition
CameraFrameSourceESP32.h:42
audio_tools::CameraFrameSource::nextFrame
const uint8_t * nextFrame(size_t &len) override
Definition
CameraFrameSourceESP32.h:54
audio_tools::CameraFrameSource::info
VideoInfo info
Definition
CameraFrameSourceESP32.h:72
audio_tools::CameraFrameSource::CameraFrameSource
CameraFrameSource(VideoInfo info)
Definition
CameraFrameSourceESP32.h:30
audio_tools::CameraFrameSource::fb
camera_fb_t * fb
Definition
CameraFrameSourceESP32.h:71
audio_tools::CameraFrameSource::end
void end()
Definition
CameraFrameSourceESP32.h:46
audio_tools::CameraFrameSource::setVideoInfo
void setVideoInfo(VideoInfo info)
Definition
CameraFrameSourceESP32.h:39
audio_tools::CameraFrameSource::releaseFrame
void releaseFrame()
Definition
CameraFrameSourceESP32.h:74
audio_tools::VideoFrameSource
Pull-based provider of one already-encoded video/image frame at a time - e.g. wraps a camera capture ...
Definition
Video.h:150
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
LMSEchoCancellationStream.h:6
audio_tools::VideoInfo
Basic video information (width/height/codec/frame size), analogous to AudioInfo - common to both Demu...
Definition
Video.h:102
Generated by
1.9.8