ESPHome
2026.11.0-dev
Loading...
Searching...
No Matches
esphome
components
rtsp_server
rtsp_server.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/defines.h
"
4
5
#ifdef USE_CAMERA
6
7
#include <array>
8
#include <memory>
9
10
#include "
esphome/components/camera/camera.h
"
11
#ifdef USE_SOCKET_IPV4_ALLOW
12
#include "
esphome/components/socket/ipv4_allow.h
"
13
#endif
14
#include "
esphome/components/socket/socket.h
"
15
#include "
esphome/core/component.h
"
16
#include "
rtsp_session.h
"
17
18
namespace
esphome::rtsp_server
{
19
20
class
RTSPServer
:
public
Component
,
public
camera::CameraListener
{
21
public
:
22
explicit
RTSPServer
(uint16_t port) :
port_
(port) {}
23
24
void
setup
()
override
;
25
void
loop
()
override
;
26
void
dump_config
()
override
;
27
float
get_setup_priority
()
const override
;
28
29
void
on_camera_image
(
const
std::shared_ptr<camera::CameraImage> &image)
override
;
30
#ifdef USE_SOCKET_IPV4_ALLOW
31
void
set_allow
(
const
socket::Ipv4AllowEntry
*entries,
size_t
count
) { this->
allow_
.
set
(entries,
count
); }
32
#endif
33
34
protected
:
35
void
accept_new_connections_
(
uint32_t
now);
36
void
socket_failed_
(
const
char
*what);
37
38
socket::ListenSocket
*
socket_
{
nullptr
};
39
std::array<RTSPSession, MAX_RTSP_CONNECTIONS>
sessions_
{};
40
#ifdef USE_SOCKET_IPV4_ALLOW
41
socket::Ipv4Allow
allow_
;
42
#endif
43
uint16_t
port_
;
44
bool
streaming_
{
false
};
45
bool
frame_warned_
{
false
};
46
};
47
48
}
// namespace esphome::rtsp_server
49
50
#endif
camera.h
esphome::Component
Definition
component.h:147
esphome::camera::CameraListener
Listener interface for camera events.
Definition
camera.h:46
esphome::rtsp_server::RTSPServer
Definition
rtsp_server.h:20
esphome::rtsp_server::RTSPServer::on_camera_image
void on_camera_image(const std::shared_ptr< camera::CameraImage > &image) override
Definition
rtsp_server.cpp:106
esphome::rtsp_server::RTSPServer::setup
void setup() override
Definition
rtsp_server.cpp:23
esphome::rtsp_server::RTSPServer::allow_
socket::Ipv4Allow allow_
Definition
rtsp_server.h:41
esphome::rtsp_server::RTSPServer::socket_
socket::ListenSocket * socket_
Definition
rtsp_server.h:38
esphome::rtsp_server::RTSPServer::get_setup_priority
float get_setup_priority() const override
Definition
rtsp_server.cpp:140
esphome::rtsp_server::RTSPServer::set_allow
void set_allow(const socket::Ipv4AllowEntry *entries, size_t count)
Definition
rtsp_server.h:31
esphome::rtsp_server::RTSPServer::socket_failed_
void socket_failed_(const char *what)
Definition
rtsp_server.cpp:16
esphome::rtsp_server::RTSPServer::frame_warned_
bool frame_warned_
Definition
rtsp_server.h:45
esphome::rtsp_server::RTSPServer::streaming_
bool streaming_
Definition
rtsp_server.h:44
esphome::rtsp_server::RTSPServer::loop
void loop() override
Definition
rtsp_server.cpp:54
esphome::rtsp_server::RTSPServer::sessions_
std::array< RTSPSession, MAX_RTSP_CONNECTIONS > sessions_
Definition
rtsp_server.h:39
esphome::rtsp_server::RTSPServer::port_
uint16_t port_
Definition
rtsp_server.h:43
esphome::rtsp_server::RTSPServer::dump_config
void dump_config() override
Definition
rtsp_server.cpp:129
esphome::rtsp_server::RTSPServer::accept_new_connections_
void accept_new_connections_(uint32_t now)
Definition
rtsp_server.cpp:76
esphome::rtsp_server::RTSPServer::RTSPServer
RTSPServer(uint16_t port)
Definition
rtsp_server.h:22
esphome::socket::BSDSocketImpl
Definition
bsd_sockets_impl.h:22
esphome::socket::Ipv4Allow
IPv4 peers that may connect. An empty list allows every peer.
Definition
ipv4_allow.h:20
esphome::socket::Ipv4Allow::set
void set(const Ipv4AllowEntry *entries, size_t count)
Definition
ipv4_allow.h:22
component.h
defines.h
count
unsigned count
Definition
gif.cpp:51
ipv4_allow.h
esphome::rtsp_server
Definition
rtsp_server.cpp:12
uint32_t
static void uint32_t
Definition
crash_handler.cpp:153
rtsp_session.h
socket.h
esphome::socket::Ipv4AllowEntry
One allowed IPv4 network, network byte order, host bits cleared.
Definition
ipv4_allow.h:14
Generated by
1.12.0