Sunshine latest
Self-hosted game stream host for Moonlight.
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 Cutil::__either< V, X, Y >
 Cutil::__either< false, X, Y >
 Cutil::__either< true, X, Y >
 Cutil::__false_v< T, V >
 Cutil::__false_v< T, std::enable_if_t< instantiation_of_v< std::optional, T > > >
 Cutil::__false_v< T, std::enable_if_t< is_pointer_v< T > > >
 Cutil::__false_v< T, std::enable_if_t< std::is_same_v< T, bool > > >
 Cplatf::dxgi::display_base_t::_D3DKMT_CLOSEADAPTER
 Cplatf::dxgi::display_base_t::_D3DKMT_OPENADAPTERFROMLUID
 Cplatf::dxgi::display_base_t::_D3DKMT_QUERYADAPTERINFO
 Cplatf::dxgi::display_base_t::_D3DKMT_WDDM_2_7_CAPS
 C_DNS_SERVICE_CANCEL
 C_DNS_SERVICE_INSTANCE
 C_DNS_SERVICE_REGISTER_REQUEST
 Ctask_pool_util::_ImplBase
 Cplatf::pa::add_const_helper< B, T >
 Cplatf::pa::add_const_helper< false, T >
 Cplatf::pa::add_const_helper< true, T >
 Cnlohmann::adl_serializer< data_t >
 Cnlohmann::adl_serializer< opengl_swapchain_t >
 Cnlohmann::adl_serializer< std::optional< T > >
 Csafe::alarm_raw_t< T >
 Cargument_type< T >
 Cargument_type< T(U)>
 Cplatf::audio_control_t
 Caudio::audio_ctx_t
 Cstream::audio_fec_packet_t
 Cstream::audio_packet_t
 Cconfig::audio_t
 Cplatf::av_pixel_buf_t
 Cplatf::av_sample_buf_t
 C<AVCaptureAudioDataOutputSampleBufferDelegate>
 C<AVCaptureVideoDataOutputSampleBufferDelegate>
 Cvideo::avcodec_colorspace_t
 Cva::AVVAAPIDeviceContext
 Cboost::v1::basic_environment< Char >
 Cplatf::batched_send_info_t
 Cstream::broadcast_ctx_t
 Cplatf::buffer_descriptor_t
 Cgl::buffer_t
 Cutil::buffer_t< T >
 Cutil::buffer_t< char >
 Cutil::buffer_t< float >
 Cutil::buffer_t< GLint >
 Cutil::buffer_t< GLuint >
 Cutil::buffer_t< std::uint8_t >
 Cutil::buffer_t< uint8_t * >
 Cplatf::kms::cap_sys_admin
 Cvideo::capture_ctx_t
 Cvideo::capture_thread_async_ctx_t
 Cvideo::capture_thread_sync_ctx_t
 CCaptureSession
 Cplatf::kms::card_descriptor_t
 Cplatf::kms::card_t
 Ccrypto::cert_chain_t
 Ccrypto::cipher::cipher_t
 Cnvhttp::client_t
 Cconfig::sunshine_t::cmd_t
 Cvideo::encoder_t::codec_t
 CCodedBitstreamFragment
 Cvideo::color_t
 Cnvhttp::conf_intern_t
 Caudio::config_t
 Cstream::config_t
 Cvideo::config_t
 Cdisplay_device::configuration_disabled_tag_tA tag structure indicating that configuration is disabled
 Cplatf::kms::connector_t
 Cstream::control_encrypted_t
 Cstream::control_hdr_mode_t
 Cstream::control_header_v2
 Cstream::control_rumble_t
 Cstream::control_rumble_triggers_t
 Cstream::control_server_t
 Cstream::control_set_motion_event_t
 Cstream::control_set_rgb_led_t
 Cstream::control_terminate_t
 Ccrypto::creds_t
 Ccuda::nvfbc::ctx_t
 Cproc::ctx_t
 Cplatf::dxgi::cursor_t
 Cplatf::kms::cursor_t
 Cplatf::x11::cursor_t
 Cplatf::dxgi::d3d_base_encode_device
 Cnvprefs::undo_data_t::data_t
 Cconfig::video_t::dd_t
 Clogging::deinit_t
 Cplatf::deinit_t
 Cutil::Destroy< T, ReturnType, function >
 Cplatf::display_t
 Cwl::display_t
 Cwl::dmabuf_t
 Cnvprefs::driver_settings_t
 Cva::DRMPRIMESurfaceDescriptor
 Cplatf::dxgi::duplication_t
 Cstd::enable_shared_from_this
 Cplatf::encode_device_t
 Cvideo::encode_session_t
 Cplatf::dxgi::d3d_base_encode_device::encoder_img_ctx_t
 Cvideo::encoder_platform_formats_t
 Cvideo::encoder_t
 Crtsp_stream::encrypted_rtsp_header_t
 Cutil::endian::endian_helper< T, S >
 Cutil::endian::endian_helper< T, std::enable_if_t< instantiation_of_v< std::optional, T > > >
 Cutil::endian::endian_helper< T, std::enable_if_t<!(instantiation_of_v< std::optional, T >)> >
 Cutil::endian::endianness< T >
 Cplatf::enum_wnd_context_t
 Csafe::event_t< T >
 Csafe::event_t< std::shared_ptr< rtsp_stream::launch_session_t > >
 Cdisplay_device::failed_to_parse_tag_tA tag structure indicating that configuration parsing has failed
 Cutil::FailGuard< T >
 Cstd::false_type
 Cstream::fec::fec_t
 Cplatf::audio::format_t
 Cwl::frame_t
 Cutil::Function< ReturnType, Args >
 Cplatf::gamepad_arrival_t
 Cplatf::gamepad_battery_t
 Cplatf::gamepad_context_t
 Cplatf::gamepad_feedback_msg_t
 Cplatf::gamepad_id_t
 Cplatf::gamepad_motion_t
 Cplatf::gamepad_state_t
 Cinput::gamepad_t
 Cplatf::gamepad_touch_t
 Cplatf::gp_touch_context_t
 Cplatf::dxgi::gpu_cursor_t
 Ccbs::h264_t
 Ccuda::nvfbc::handle_t
 Cutil::hash< T >
 Cvideo::hdr_info_raw_t
 Ccbs::hevc_t
 Cutil::Hex< T >
 CSimpleWeb::HTTPS
 CIMMNotificationClient
 Cnvprefs::nvprefs_interface::impl
 Cplatf::input_raw_t
 Cconfig::input_t
 Cinput::input_t
 Cwl::interface_t
 Cround_robin_util::it_wrap_t< V, T >
 Cround_robin_util::it_wrap_t< plane_t::element_type, plane_it_t >
 Cround_robin_util::it_wrap_t< V, round_robin_t< V, It > >
 CIUnknown
 Cplatf::joypad_state
 Cplatf::KeyCodeMap
 Crtsp_stream::launch_session_t
 Cplatf::macos_input_t
 Cupnp::mapping_t
 Cplatf::mic_t
 Clogging::min_max_avg_periodic_logger< T >A helper class for tracking and logging numerical values across a period of time
 Clogging::min_max_avg_periodic_logger< double >
 Cstat_trackers::min_max_avg_tracker< T >
 Cstat_trackers::min_max_avg_tracker< double >
 Cconfig::video_t::dd_t::mode_remapping_entry_t
 Cconfig::video_t::dd_t::mode_remapping_t
 Cplatf::kms::monitor_t
 Cwl::monitor_t
 Cmove_by_copy_util::MoveByCopy< T >
 Ccbs::nal_t
 Cnvhttp::named_cert_t
 Cboost::noncopyable
 CNSObject
 Cplatf::sink_t::null_t
 Cegl::nv12_img_t
 Cnvenc::nvenc_baseAbstract platform-agnostic base of standalone NVENC encoder. Derived classes perform platform-specific operations
 Cnvenc::nvenc_colorspace_tYUV colorspace and color range
 Cnvenc::nvenc_configNVENC encoder configuration
 Cnvenc::nvenc_encoded_frameEncoded frame
 Cconfig::nvhttp_t
 Cnvprefs::nvprefs_interface
 Cnvprefs::nvprefs_options
 Cnvprefs::undo_data_t::data_t::opengl_swapchain_t
 Cvideo::encoder_t::option_t
 Caudio::opus_stream_config_t
 Cvideo::packet_raw_t
 Cnvhttp::pair_session_t
 Cplatf::pen_input_t
 Cegl::plane_attr_t
 Cutil::point_t
 Cconfig::prep_cmd_t
 Cproc::proc_t
 Cgl::program_t
 Cplatf::audio::prop_var_t
 Csafe::shared_t< T >::ptr_t
 Csafe::queue_t< T >
 Csafe::queue_t< sync_session_ctx_t >
 Cvideo::packet_raw_t::replace_t
 Cegl::rgb_img_t
 Crtsp_stream::rtsp_server_t
 Cnvprefs::safe_hlocal_deleter
 Cplatf::send_info_t
 CSimpleWeb::ServerBase
 Cservice_ctrl::service_controller
 Cstream::session_t
 Cgl::shader_t
 Csafe::shared_t< T >
 Csafe::shared_t< stream::broadcast_ctx_t >
 Cplatf::shm_data_t
 Cplatf::shm_id_t
 Cplatf::sink_t
 Caudio::stream_params_t
 Cconfig::stream_t
 Cvideo::sunshine_colorspace_t
 Cconfig::sunshine_t
 Cplatf::supported_gamepad_t
 Cegl::surface_descriptor_t
 Cegl::sws_t
 Cvideo::sync_session_ctx_t
 Cvideo::sync_session_t
 Csync_util::sync_t< T, M >
 Csync_util::sync_t< std::map< net::peer_t, stream::session_t * > >
 Csync_util::sync_t< std::set< std::shared_ptr< stream::session_t > > >
 Csync_util::sync_t< std::vector< stream::session_t * > >
 Csync_util::sync_t< std::weak_ptr< platf::display_t > >
 CT
 Ctask_pool_util::TaskPool
 Cplatf::temp_retain_av_img_t
 Cplatf::dxgi::texture_lock_helper
 Clogging::time_delta_periodic_loggerA helper class for tracking and logging short time intervals across a period of time
 Ctask_pool_util::TaskPool::timer_task_t< R >
 Cplatf::touch_input_t
 Cplatf::touch_port_t
 Cstd::true_type
 Cnvhttp::tunnel< T >
 Cnvhttp::tunnel< SimpleWeb::HTTP >
 Cnvhttp::tunnel< SunshineHTTPS >
 Cnvprefs::undo_data_t
 Cnvprefs::undo_file_t
 Cutil::uniq_ptr< T, D >
 Cutil::uniq_ptr< _VIGEM_CLIENT_T, vigem_free >
 Cutil::uniq_ptr< _VIGEM_TARGET_T, vigem_target_free >
 Cutil::uniq_ptr< _XDisplay, freeDisplay >
 Cutil::uniq_ptr< AVCodecContext, free_ctx >
 Cutil::uniq_ptr< AVFrame, free_frame >
 Cutil::uniq_ptr< CUgraphicsResource_st, unregisterResource >
 Cutil::uniq_ptr< cursor_ctx_raw_t, freeCursorCtx >
 Cutil::uniq_ptr< device, &device_destroy >
 Cutil::uniq_ptr< drmModePlaneRes, drmModeFreePlaneResources >
 Cutil::uniq_ptr< ENetHost, free_host >
 Cutil::uniq_ptr< EVP_CIPHER_CTX, EVP_CIPHER_CTX_free >
 Cutil::uniq_ptr< FILE, int, fclose >
 Cutil::uniq_ptr< IAudioCaptureClient, Release< IAudioCaptureClient > >
 Cutil::uniq_ptr< IAudioClient, Release< IAudioClient > >
 Cutil::uniq_ptr< ID3D11BlendState, Release< ID3D11BlendState > >
 Cutil::uniq_ptr< ID3D11Buffer, Release< ID3D11Buffer > >
 Cutil::uniq_ptr< ID3D11Device, Release< ID3D11Device > >
 Cutil::uniq_ptr< ID3D11DeviceContext, Release< ID3D11DeviceContext > >
 Cutil::uniq_ptr< ID3D11PixelShader, Release< ID3D11PixelShader > >
 Cutil::uniq_ptr< ID3D11RenderTargetView, Release< ID3D11RenderTargetView > >
 Cutil::uniq_ptr< ID3D11SamplerState, Release< ID3D11SamplerState > >
 Cutil::uniq_ptr< ID3D11ShaderResourceView, Release< ID3D11ShaderResourceView > >
 Cutil::uniq_ptr< ID3D11Texture2D, Release< ID3D11Texture2D > >
 Cutil::uniq_ptr< ID3D11VertexShader, Release< ID3D11VertexShader > >
 Cutil::uniq_ptr< IDXGIAdapter1, Release< IDXGIAdapter1 > >
 Cutil::uniq_ptr< IDXGIFactory1, Release< IDXGIFactory1 > >
 Cutil::uniq_ptr< IDXGIKeyedMutex, Release< IDXGIKeyedMutex > >
 Cutil::uniq_ptr< IDXGIOutput, Release< IDXGIOutput > >
 Cutil::uniq_ptr< IDXGIOutputDuplication, Release< IDXGIOutputDuplication > >
 Cutil::uniq_ptr< IMMDevice, Release< IMMDevice > >
 Cutil::uniq_ptr< IMMDeviceEnumerator, Release< IMMDeviceEnumerator > >
 Cutil::uniq_ptr< IPolicyConfig, Release< IPolicyConfig > >
 Cutil::uniq_ptr< pa_context, pa_context_unref >
 Cutil::uniq_ptr< pa_mainloop, pa_mainloop_free >
 Cutil::uniq_ptr< pa_simple, pa_simple_free >
 Cutil::uniq_ptr< SwsContext, sws_freeContext >
 Cutil::uniq_ptr< void, BOOL, CloseHandle >
 Cutil::uniq_ptr< void, EGLBoolean, &eglTerminate >
 Cutil::uniq_ptr< wl_display, wl_display_disconnect >
 Cutil::uniq_ptr< X509_STORE_CTX, X509_STORE_CTX_free >
 Cutil::uniq_ptr< xcb_connection_t, &xcb::disconnect >
 Cutil::uniq_ptr< XImage, freeImage >
 Cstd::unique_ptr
 Cuuid_util::uuid_t
 Cva::VAAPIDevicePriv
 Cstd::variant
 Cstream::video_packet_enc_prefix_t
 Cstream::video_packet_raw_t
 Cstream::video_short_frame_header_t
 Cconfig::video_t
 Cplatf::vigem_t
 Cplatf::dxgi::wgc_capture_t
 Cconfig::video_t::dd_t::workarounds_t
 Cutil::wrap_ptr< T >
 Cplatf::kms::wrapper_fb
 Cutil::Ts