Sunshine latest
Self-hosted game stream host for Moonlight.
rtsp.h
Go to the documentation of this file.
1
5#pragma once
6
7// standard includes
8#include <atomic>
9
10// local includes
11#include "crypto.h"
12#include "thread_safe.h"
13
14namespace rtsp_stream {
15 constexpr auto RTSP_SETUP_PORT = 21;
16
18 uint32_t id;
19
20 crypto::aes_t gcm_key;
21 crypto::aes_t iv;
22
23 std::string av_ping_payload;
24 uint32_t control_connect_data;
25
26 bool host_audio;
27 std::string unique_id;
28 int width;
29 int height;
30 int fps;
31 int gcmap;
32 int appid;
33 int surround_info;
34 std::string surround_params;
35 bool enable_hdr;
36 bool enable_sops;
37
38 std::optional<crypto::cipher::gcm_t> rtsp_cipher;
39 std::string rtsp_url_scheme;
40 uint32_t rtsp_iv_counter;
41 };
42
43 void launch_session_raise(std::shared_ptr<launch_session_t> launch_session);
44
49 void launch_session_clear(uint32_t launch_session_id);
50
55 int session_count();
56
60 void terminate_sessions();
61
62 void rtpThread();
63
64} // namespace rtsp_stream
Declarations for cryptography functions.
void terminate_sessions()
Terminates all running streaming sessions.
Definition rtsp.cpp:616
void launch_session_clear(uint32_t launch_session_id)
Clear state for the specified launch session.
Definition rtsp.cpp:605
int session_count()
Get the number of active sessions.
Definition rtsp.cpp:609
Definition rtsp.h:17
Declarations for thread-safe data structures.