arduino-audio-tools
Loading...
Searching...
No Matches
src
AudioTools
Communication
RTSP
RTSPServerTaskless.h
Go to the documentation of this file.
1
/*
2
* Author: Phil Schatzmann
3
*
4
* Based on Micro-RTSP library:
5
* https://github.com/geeksville/Micro-RTSP
6
* https://github.com/Tomp0801/Micro-RTSP-Audio
7
*
8
*/
9
#pragma once
10
#include "
RTSPSession.h
"
11
#include "
RTSPAudioStreamer.h
"
12
#include "
RTSPServerBase.h
"
13
#ifdef ESP32
14
#include <WiFi.h>
15
#include <esp_wifi.h>
16
#endif
17
18
namespace
audio_tools
{
19
42
template
<
typename
Platform>
43
class
RTSPServerTaskless
:
public
RTSPServerBase
<Platform> {
44
public
:
45
RTSPServerTaskless
(
RTSPAudioStreamerBase<Platform>
&
streamer
,
int
port
= 8554)
46
:
RTSPServerBase
<
Platform
>(
streamer
,
port
) {}
47
48
~RTSPServerTaskless
() { this->
end
(); }
49
50
void
setOnSessionPath
(
bool
(*cb)(
const
char
* path,
void
* ref),
void
* ref =
nullptr
) {
51
this->
RTSPServerBase<Platform>::setOnSessionPath
(cb, ref);
52
}
53
54
#ifdef ESP32
55
bool
begin
(
const
char
* ssid,
const
char
* password) {
56
return
this->
RTSPServerBase<Platform>::begin
(ssid, password);
57
}
58
#endif
59
60
bool
begin
() {
61
return
this->
RTSPServerBase<Platform>::begin
();
62
}
63
64
void
end
() {
65
this->
RTSPServerBase<Platform>::end
();
66
}
67
68
int
clientCount
() {
return
this->
RTSPServerBase<Platform>::clientCount
(); }
69
operator
bool
() {
return
this->
RTSPServerBase<Platform>::operator
bool
(); }
70
void
setSessionTimeoutMs
(
unsigned
long
ms) { this->
RTSPServerBase<Platform>::setSessionTimeoutMs
(ms); }
71
75
void
doLoop
() {
76
this->
RTSPServerBase<Platform>::acceptClient
();
77
this->
RTSPServerBase<Platform>::handleSession
();
78
}
79
};
80
81
}
// namespace audio_tools
RTSPAudioStreamer.h
RTSPServerBase.h
RTSPSession.h
audio_tools::RTSPAudioStreamerBase
RTSPAudioStreamerBase - Core RTP Audio Streaming Engine.
Definition
RTSPAudioStreamer.h:50
audio_tools::RTSPServerBase
RTSPServerBase - Shared logic for RTSPServer and RTSPServerTaskless.
Definition
RTSPServerBase.h:29
audio_tools::RTSPServerBase::handleSession
void handleSession()
Handle requests session if active.
Definition
RTSPServerBase.h:125
audio_tools::RTSPServerBase::clientCount
int clientCount()
Get number of connected clients.
Definition
RTSPServerBase.h:89
audio_tools::RTSPServerBase::begin
virtual bool begin()
Start server.
Definition
RTSPServerBase.h:66
audio_tools::RTSPServerBase::port
int port
Definition
RTSPServerBase.h:96
audio_tools::RTSPServerBase::setSessionTimeoutMs
void setSessionTimeoutMs(unsigned long ms)
Set session timeout in milliseconds.
Definition
RTSPServerBase.h:93
audio_tools::RTSPServerBase::end
void end()
Stop server and clean up.
Definition
RTSPServerBase.h:76
audio_tools::RTSPServerBase::acceptClient
void acceptClient()
Accept new client if none is active.
Definition
RTSPServerBase.h:108
audio_tools::RTSPServerBase::setOnSessionPath
void setOnSessionPath(bool(*cb)(const char *path, void *ref), void *ref=nullptr)
Set callback for session path.
Definition
RTSPServerBase.h:41
audio_tools::RTSPServerBase::streamer
RTSPAudioStreamerBase< Platform > * streamer
Definition
RTSPServerBase.h:99
audio_tools::RTSPServerTaskless
RTSPServerTaskless - Manual Multi-client RTSP Audio Streaming Server.
Definition
RTSPServerTaskless.h:43
audio_tools::RTSPServerTaskless::begin
bool begin(const char *ssid, const char *password)
Definition
RTSPServerTaskless.h:55
audio_tools::RTSPServerTaskless::clientCount
int clientCount()
Definition
RTSPServerTaskless.h:68
audio_tools::RTSPServerTaskless::doLoop
void doLoop()
Main server loop - call this frequently from Arduino loop()
Definition
RTSPServerTaskless.h:75
audio_tools::RTSPServerTaskless::begin
bool begin()
Start server.
Definition
RTSPServerTaskless.h:60
audio_tools::RTSPServerTaskless::~RTSPServerTaskless
~RTSPServerTaskless()
Definition
RTSPServerTaskless.h:48
audio_tools::RTSPServerTaskless::setSessionTimeoutMs
void setSessionTimeoutMs(unsigned long ms)
Definition
RTSPServerTaskless.h:70
audio_tools::RTSPServerTaskless::end
void end()
Definition
RTSPServerTaskless.h:64
audio_tools::RTSPServerTaskless::RTSPServerTaskless
RTSPServerTaskless(RTSPAudioStreamerBase< Platform > &streamer, int port=8554)
Definition
RTSPServerTaskless.h:45
audio_tools::RTSPServerTaskless::setOnSessionPath
void setOnSessionPath(bool(*cb)(const char *path, void *ref), void *ref=nullptr)
Definition
RTSPServerTaskless.h:50
audio_tools
Generic Implementation of sound input and output for desktop environments using portaudio.
Definition
AudioCodecsBase.h:10
audio_tools::writeData
size_t writeData(Print *p_out, T *data, int samples, int maxSamples=512)
Definition
AudioTypes.h:512
Generated by
1.9.8