|
Sunshine master
Self-hosted game stream host for Moonlight.
|
Runtime state for one audio/video streaming session. More...
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_t > | input | |
| 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 | ||
| 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_e > | state | |
| 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. | ||
Runtime state for one audio/video streaming session.