Sunshine master
Self-hosted game stream host for Moonlight.
stream::session_t Struct Reference

Runtime state for one audio/video streaming session. More...

Collaboration diagram for stream::session_t:
[legend]

Public Attributes

struct { 
 
   std::uint32_t   avRiKeyId 
 
   crypto::cipher::cbc_t   cipher 
 
   audio_fec_packet_t   fec_packet 
 
   udp::endpoint   peer 
 
   std::string   ping_payload 
 
   std::unique_ptr< platf::deinit_t >   qos 
 
   std::uint16_t   sequenceNumber 
 
   util::buffer_t< char >   shards 
 
   util::buffer_t< uint8_t * >   shards_p 
 
   std::uint32_t   timestamp 
 
audio 
 Audio capture configuration for the stream..
 
std::thread audioThread
 Audio thread.
 
safe::shared_t< broadcast_ctx_t >::ptr_t broadcast_ref
 Shared broadcast context retained while the session is active.
 
std::string client_cert
 PEM certificate for the paired client owning the stream.
 
config_t config
 Stream or encoder configuration captured for the worker.
 
struct { 
 
   crypto::cipher::gcm_t   cipher 
 
   std::uint32_t   connect_data 
 
   std::string   expected_peer_address 
 
   platf::feedback_queue_t   feedback_queue 
 
   safe::mail_raw_t::event_t< video::hdr_info_t >   hdr_queue 
 
   crypto::aes_t   incoming_iv 
 
   crypto::aes_t   legacy_input_enc_iv 
 
   crypto::aes_t   outgoing_iv 
 
   net::peer_t   peer 
 
   std::uint32_t   seq 
 
control 
 Runtime state for the encrypted GameStream control channel.
 
safe::signal_t controlEnd
 Signal raised when the control channel exits.
 
std::shared_ptr< input::input_tinput
 Platform input device state for this stream.
 
std::uint32_t launch_session_id
 RTSP launch-session ID associated with this stream.
 
boost::asio::ip::address localAddress
 Local address.
 
safe::mail_t mail
 Mailbox used to distribute packets and lifecycle events.
 
std::chrono::steady_clock::time_point pingTimeout
 Deadline for receiving the next client ping.
 
safe::mail_raw_t::event_t< bool > shutdown_event
 Event raised when the stream should shut down.
 
std::atomic< session::state_estate
 Current lifecycle state observed by stream workers.
 
struct { 
 
   std::optional< crypto::cipher::gcm_t >   cipher 
 
   std::uint64_t   gcm_iv_counter 
 
   safe::mail_raw_t::event_t< bool >   idr_events 
 
   safe::mail_raw_t::event_t< std::pair< int64_t, int64_t > >   invalidate_ref_frames_events 
 
   int   lowseq 
 
   udp::endpoint   peer 
 
   std::string   ping_payload 
 
   std::unique_ptr< platf::deinit_t >   qos 
 
video 
 Video worker thread state for the active stream.
 
std::thread videoThread
 Video thread.
 

Detailed Description

Runtime state for one audio/video streaming session.


The documentation for this struct was generated from the following file: