config#

Include dependency graph for config.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="string" tooltip="string"]
    "1" [label="src/config.h" tooltip="src/config.h" fillcolor="#BFBFBF"]
    "8" [label="nvenc/nvenc_config.h" tooltip="nvenc/nvenc_config.h"]
    "2" [label="bitset" tooltip="bitset"]
    "4" [label="optional" tooltip="optional"]
    "7" [label="vector" tooltip="vector"]
    "6" [label="unordered_map" tooltip="unordered_map"]
    "3" [label="chrono" tooltip="chrono"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include config.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "39" [label="src/platform/macos/av_img_t.h" tooltip="src/platform/macos/av_img_t.h"]
    "12" [label="src/stream.cpp" tooltip="src/stream.cpp"]
    "33" [label="src/platform/linux/graphics.h" tooltip="src/platform/linux/graphics.h"]
    "20" [label="src/platform/linux/vaapi.cpp" tooltip="src/platform/linux/vaapi.cpp"]
    "15" [label="src/nvenc/nvenc_base.h" tooltip="src/nvenc/nvenc_base.h"]
    "19" [label="src/platform/linux/kmsgrab.cpp" tooltip="src/platform/linux/kmsgrab.cpp"]
    "25" [label="src/platform/windows/display.h" tooltip="src/platform/windows/display.h"]
    "5" [label="src/entry_handler.cpp" tooltip="src/entry_handler.cpp"]
    "41" [label="src/platform/macos/microphone.mm" tooltip="src/platform/macos/microphone.mm"]
    "46" [label="src/platform/windows/input.cpp" tooltip="src/platform/windows/input.cpp"]
    "31" [label="src/nvenc/nvenc_utils.h" tooltip="src/nvenc/nvenc_utils.h"]
    "30" [label="src/upnp.cpp" tooltip="src/upnp.cpp"]
    "13" [label="src/video.h" tooltip="src/video.h"]
    "7" [label="src/input.cpp" tooltip="src/input.cpp"]
    "32" [label="src/platform/linux/audio.cpp" tooltip="src/platform/linux/audio.cpp"]
    "11" [label="src/platform/linux/input.cpp" tooltip="src/platform/linux/input.cpp"]
    "28" [label="src/platform/windows/display_vram.cpp" tooltip="src/platform/windows/display_vram.cpp"]
    "1" [label="src/config.h" tooltip="src/config.h" fillcolor="#BFBFBF"]
    "22" [label="src/platform/linux/x11grab.cpp" tooltip="src/platform/linux/x11grab.cpp"]
    "9" [label="src/platform/common.h" tooltip="src/platform/common.h"]
    "37" [label="src/platform/linux/vaapi.h" tooltip="src/platform/linux/vaapi.h"]
    "3" [label="src/config.cpp" tooltip="src/config.cpp"]
    "10" [label="src/input.h" tooltip="src/input.h"]
    "27" [label="src/platform/windows/display_base.cpp" tooltip="src/platform/windows/display_base.cpp"]
    "35" [label="src/platform/linux/wayland.cpp" tooltip="src/platform/linux/wayland.cpp"]
    "50" [label="src/process.h" tooltip="src/process.h"]
    "26" [label="src/platform/windows/display_ram.cpp" tooltip="src/platform/windows/display_ram.cpp"]
    "8" [label="src/network.cpp" tooltip="src/network.cpp"]
    "45" [label="src/platform/windows/audio.cpp" tooltip="src/platform/windows/audio.cpp"]
    "49" [label="src/process.cpp" tooltip="src/process.cpp"]
    "18" [label="src/platform/linux/cuda.cpp" tooltip="src/platform/linux/cuda.cpp"]
    "14" [label="src/main.cpp" tooltip="src/main.cpp"]
    "51" [label="src/upnp.h" tooltip="src/upnp.h"]
    "40" [label="src/platform/macos/nv12_zero_device.h" tooltip="src/platform/macos/nv12_zero_device.h"]
    "43" [label="src/platform/macos/misc.mm" tooltip="src/platform/macos/misc.mm"]
    "36" [label="src/platform/linux/publish.cpp" tooltip="src/platform/linux/publish.cpp"]
    "47" [label="src/platform/windows/misc.cpp" tooltip="src/platform/windows/misc.cpp"]
    "29" [label="src/stream.h" tooltip="src/stream.h"]
    "42" [label="src/platform/macos/input.cpp" tooltip="src/platform/macos/input.cpp"]
    "4" [label="src/confighttp.cpp" tooltip="src/confighttp.cpp"]
    "48" [label="src/platform/windows/publish.cpp" tooltip="src/platform/windows/publish.cpp"]
    "2" [label="src/audio.cpp" tooltip="src/audio.cpp"]
    "16" [label="src/video.cpp" tooltip="src/video.cpp"]
    "24" [label="src/platform/macos/nv12_zero_device.cpp" tooltip="src/platform/macos/nv12_zero_device.cpp"]
    "17" [label="src/platform/linux/graphics.cpp" tooltip="src/platform/linux/graphics.cpp"]
    "44" [label="src/platform/macos/publish.cpp" tooltip="src/platform/macos/publish.cpp"]
    "6" [label="src/httpcommon.cpp" tooltip="src/httpcommon.cpp"]
    "21" [label="src/platform/linux/wlgrab.cpp" tooltip="src/platform/linux/wlgrab.cpp"]
    "23" [label="src/platform/macos/display.mm" tooltip="src/platform/macos/display.mm"]
    "38" [label="src/platform/linux/x11grab.h" tooltip="src/platform/linux/x11grab.h"]
    "34" [label="src/platform/linux/wayland.h" tooltip="src/platform/linux/wayland.h"]
    "39" -> "23" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "33" -> "17" [dir=back tooltip="include"]
    "33" -> "18" [dir=back tooltip="include"]
    "33" -> "19" [dir=back tooltip="include"]
    "33" -> "20" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "33" -> "35" [dir=back tooltip="include"]
    "33" -> "22" [dir=back tooltip="include"]
    "15" -> "16" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "27" [dir=back tooltip="include"]
    "25" -> "28" [dir=back tooltip="include"]
    "31" -> "28" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "17" [dir=back tooltip="include"]
    "13" -> "18" [dir=back tooltip="include"]
    "13" -> "19" [dir=back tooltip="include"]
    "13" -> "20" [dir=back tooltip="include"]
    "13" -> "21" [dir=back tooltip="include"]
    "13" -> "22" [dir=back tooltip="include"]
    "13" -> "23" [dir=back tooltip="include"]
    "13" -> "24" [dir=back tooltip="include"]
    "13" -> "25" [dir=back tooltip="include"]
    "13" -> "27" [dir=back tooltip="include"]
    "13" -> "28" [dir=back tooltip="include"]
    "13" -> "29" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "1" -> "22" [dir=back tooltip="include"]
    "1" -> "23" [dir=back tooltip="include"]
    "1" -> "41" [dir=back tooltip="include"]
    "1" -> "45" [dir=back tooltip="include"]
    "1" -> "27" [dir=back tooltip="include"]
    "1" -> "46" [dir=back tooltip="include"]
    "1" -> "28" [dir=back tooltip="include"]
    "1" -> "48" [dir=back tooltip="include"]
    "1" -> "49" [dir=back tooltip="include"]
    "1" -> "50" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "30" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "9" -> "2" [dir=back tooltip="include"]
    "9" -> "3" [dir=back tooltip="include"]
    "9" -> "4" [dir=back tooltip="include"]
    "9" -> "5" [dir=back tooltip="include"]
    "9" -> "6" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "31" [dir=back tooltip="include"]
    "9" -> "32" [dir=back tooltip="include"]
    "9" -> "33" [dir=back tooltip="include"]
    "9" -> "19" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "36" [dir=back tooltip="include"]
    "9" -> "20" [dir=back tooltip="include"]
    "9" -> "37" [dir=back tooltip="include"]
    "9" -> "35" [dir=back tooltip="include"]
    "9" -> "21" [dir=back tooltip="include"]
    "9" -> "38" [dir=back tooltip="include"]
    "9" -> "39" [dir=back tooltip="include"]
    "9" -> "22" [dir=back tooltip="include"]
    "9" -> "23" [dir=back tooltip="include"]
    "9" -> "41" [dir=back tooltip="include"]
    "9" -> "42" [dir=back tooltip="include"]
    "9" -> "43" [dir=back tooltip="include"]
    "9" -> "40" [dir=back tooltip="include"]
    "9" -> "44" [dir=back tooltip="include"]
    "9" -> "45" [dir=back tooltip="include"]
    "9" -> "25" [dir=back tooltip="include"]
    "9" -> "27" [dir=back tooltip="include"]
    "9" -> "46" [dir=back tooltip="include"]
    "9" -> "47" [dir=back tooltip="include"]
    "9" -> "48" [dir=back tooltip="include"]
    "9" -> "49" [dir=back tooltip="include"]
    "9" -> "50" [dir=back tooltip="include"]
    "9" -> "51" [dir=back tooltip="include"]
    "9" -> "13" [dir=back tooltip="include"]
    "9" -> "16" [dir=back tooltip="include"]
    "37" -> "19" [dir=back tooltip="include"]
    "37" -> "21" [dir=back tooltip="include"]
    "37" -> "22" [dir=back tooltip="include"]
    "10" -> "7" [dir=back tooltip="include"]
    "10" -> "11" [dir=back tooltip="include"]
    "10" -> "12" [dir=back tooltip="include"]
    "10" -> "13" [dir=back tooltip="include"]
    "10" -> "16" [dir=back tooltip="include"]
    "50" -> "4" [dir=back tooltip="include"]
    "50" -> "6" [dir=back tooltip="include"]
    "50" -> "14" [dir=back tooltip="include"]
    "50" -> "49" [dir=back tooltip="include"]
    "50" -> "12" [dir=back tooltip="include"]
    "51" -> "14" [dir=back tooltip="include"]
    "51" -> "30" [dir=back tooltip="include"]
    "40" -> "23" [dir=back tooltip="include"]
    "40" -> "24" [dir=back tooltip="include"]
    "29" -> "12" [dir=back tooltip="include"]
    "29" -> "30" [dir=back tooltip="include"]
    "38" -> "22" [dir=back tooltip="include"]
    "34" -> "18" [dir=back tooltip="include"]
    "34" -> "19" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "34" -> "21" [dir=back tooltip="include"]
}

todo

namespace config#

Variables

constexpr int ENCRYPTION_MODE_MANDATORY = 2#
constexpr int ENCRYPTION_MODE_NEVER = 0#
constexpr int ENCRYPTION_MODE_OPPORTUNISTIC = 1#
struct audio_t#

Public Members

bool install_steam_drivers#
std::string sink#
std::string virtual_sink#
struct input_t#

Public Members

bool always_send_scancodes#
std::chrono::milliseconds back_button_timeout#
bool controller#
bool ds4_back_as_touchpad_click#
std::string gamepad#
bool high_resolution_scrolling#
std::chrono::milliseconds key_repeat_delay#
std::chrono::duration<double> key_repeat_period#
std::unordered_map<int, int> keybindings#
bool keyboard#
bool motion_as_ds4#
bool mouse#
bool native_pen_touch#
bool touchpad_as_ds4#
struct nvhttp_t#

Public Members

std::string cert#
std::string external_ip#
std::string file_state#
std::vector<int> fps#
std::string origin_web_ui_allowed#
std::string pkey#
std::vector<std::string> resolutions#
std::string sunshine_name#
struct prep_cmd_t#

Public Functions

inline explicit prep_cmd_t(std::string &&do_cmd, bool &&elevated)#
inline prep_cmd_t(std::string &&do_cmd, std::string &&undo_cmd, bool &&elevated)#

Public Members

std::string do_cmd#
bool elevated#
std::string undo_cmd#
struct stream_t#

Public Members

int channels#
int fec_percentage#
std::string file_apps#
int lan_encryption_mode#
std::chrono::milliseconds ping_timeout#
int wan_encryption_mode#
struct sunshine_t#

Collaboration diagram for config::sunshine_t:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="config::sunshine_t::cmd_t" tooltip="config::sunshine_t::cmd_t"]
    "1" [label="config::sunshine_t" tooltip="config::sunshine_t" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

std::string address_family#
struct config::sunshine_t::cmd_t cmd#
std::string config_file#
std::string credentials_file#
std::bitset<flag::FLAG_SIZE> flags#
std::string locale#
std::string log_file#
int min_log_level#
std::string password#
std::uint16_t port#
std::vector<prep_cmd_t> prep_cmds#
std::string salt#
std::string username#
struct cmd_t#

Public Members

int argc#
char **argv#
std::string name#
struct video_t#

Collaboration diagram for config::video_t:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="nvenc::nvenc_config" tooltip="nvenc::nvenc_config"]
    "1" [label="config::video_t" tooltip="config::video_t" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

std::string adapter_name#
struct config::video_t::[anonymous] amd#
int amd_coder#
std::optional<int> amd_enforce_hrd#
std::optional<int> amd_preanalysis#
std::optional<int> amd_quality_av1#
std::optional<int> amd_quality_h264#
std::optional<int> amd_quality_hevc#
std::optional<int> amd_rc_av1#
std::optional<int> amd_rc_h264#
std::optional<int> amd_rc_hevc#
std::optional<int> amd_usage_av1#
std::optional<int> amd_usage_h264#
std::optional<int> amd_usage_hevc#
std::optional<int> amd_vbaq#
int aq#
int av1_mode#
std::string capture#
std::string encoder#
int h264_coder#
int hevc_mode#
int min_threads#
int multipass#
nvenc::nvenc_config nv#
struct config::video_t::[anonymous] nv_legacy#
bool nv_opengl_vulkan_on_dxgi#
bool nv_realtime_hags#
bool nv_sunshine_high_power_mode#
std::string output_name#
int preset#
int qp#
struct config::video_t::[anonymous] qsv#
std::optional<int> qsv_cavlc#
std::optional<int> qsv_preset#
bool qsv_slow_hevc#
std::optional<int> svtav1_preset#
struct config::video_t::[anonymous] sw#
std::string sw_preset#
std::string sw_tune#
int vbv_percentage_increase#
struct config::video_t::[anonymous] vt#
int vt_allow_sw#
int vt_coder#
int vt_realtime#
int vt_require_sw#
namespace flag#

Enums

enum flag_e#

Values:

enumerator PIN_STDIN#
enumerator FRESH_STATE#
enumerator FORCE_VIDEO_HEADER_REPLACE#
enumerator UPNP#
enumerator CONST_PIN#
enumerator FLAG_SIZE#