Refactor RTSP handling to be session-based rather than socket-based

This is required to support per-session attributes like encryption keys during RTSP message processing.
This commit is contained in:
Cameron Gutman
2024-02-02 20:05:56 -06:00
parent e62d6915db
commit ca29eac53a
6 changed files with 130 additions and 104 deletions

View File

@@ -13,6 +13,8 @@ namespace rtsp_stream {
constexpr auto RTSP_SETUP_PORT = 21;
struct launch_session_t {
uint32_t id;
crypto::aes_t gcm_key;
crypto::aes_t iv;
@@ -32,7 +34,11 @@ namespace rtsp_stream {
};
void
launch_session_raise(launch_session_t launch_session);
launch_session_raise(std::shared_ptr<launch_session_t> launch_session);
void
launch_session_clear(uint32_t launch_session_id);
int
session_count();