gitextract_wjclcvr9/ ├── .clang-format ├── .codeql-prebuild-cpp-Linux.sh ├── .codeql-prebuild-cpp-Windows.sh ├── .codeql-prebuild-cpp-macOS.sh ├── .coderabbit.yaml ├── .dockerignore ├── .flake8 ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report_en.yml │ │ ├── bug_report_zh.yml │ │ ├── config.yml │ │ ├── feature_request_en.yml │ │ └── feature_request_zh.yml │ ├── RELEASE_TEMPLATE.md │ └── workflows/ │ ├── main.yml │ ├── sign-and-repackage.yml │ ├── test-signpath.yml │ ├── translate-simple.yml │ └── update-driver-versions.yml ├── .gitignore ├── .gitmodules ├── .prettierrc.json ├── .readthedocs.yaml ├── .rstcheck.cfg ├── CMakeLists.txt ├── CMakePresets.json ├── DOCKER_README.md ├── LICENSE ├── NOTICE ├── README.de.md ├── README.en.md ├── README.fr.md ├── README.ja.md ├── README.md ├── README.md.backup ├── cmake/ │ ├── FindLIBCAP.cmake │ ├── FindLIBDRM.cmake │ ├── FindLibva.cmake │ ├── FindSystemd.cmake │ ├── FindUdev.cmake │ ├── FindWayland.cmake │ ├── compile_definitions/ │ │ ├── common.cmake │ │ ├── linux.cmake │ │ ├── macos.cmake │ │ ├── unix.cmake │ │ └── windows.cmake │ ├── dependencies/ │ │ ├── Boost_Sunshine.cmake │ │ ├── common.cmake │ │ ├── libevdev_Sunshine.cmake │ │ ├── linux.cmake │ │ ├── macos.cmake │ │ ├── nlohmann_json.cmake │ │ ├── unix.cmake │ │ └── windows.cmake │ ├── macros/ │ │ ├── common.cmake │ │ ├── linux.cmake │ │ ├── macos.cmake │ │ ├── unix.cmake │ │ └── windows.cmake │ ├── packaging/ │ │ ├── ChineseSimplified.isl │ │ ├── FetchDriverDeps.cmake │ │ ├── FetchGUI.cmake │ │ ├── common.cmake │ │ ├── linux.cmake │ │ ├── macos.cmake │ │ ├── sunshine.iss.in │ │ ├── unix.cmake │ │ ├── windows.cmake │ │ ├── windows_innosetup.cmake │ │ ├── windows_nsis.cmake │ │ └── windows_wix.cmake │ ├── prep/ │ │ ├── build_version.cmake │ │ ├── constants.cmake │ │ ├── init.cmake │ │ ├── options.cmake │ │ └── special_package_configuration.cmake │ └── targets/ │ ├── common.cmake │ ├── linux.cmake │ ├── macos.cmake │ ├── unix.cmake │ └── windows.cmake ├── codecov.yml ├── crowdin.yml ├── docker/ │ ├── archlinux.dockerfile │ ├── clion-toolchain.dockerfile │ ├── debian-bookworm.dockerfile │ ├── fedora-39.dockerfile │ ├── fedora-40.dockerfile │ ├── ubuntu-22.04.dockerfile │ └── ubuntu-24.04.dockerfile ├── docs/ │ ├── Doxyfile │ ├── Doxyfile-1.10.0-default │ ├── WEBUI_DEVELOPMENT.md │ ├── WGC_vs_DDAPI_Smoothness_Fun_Guide.md │ ├── app_examples.md │ ├── building.md │ ├── changelog.md │ ├── configuration.md │ ├── contributing.md │ ├── gamestream_migration.md │ ├── getting_started.md │ ├── guides.md │ ├── legal.md │ ├── performance_tuning.md │ ├── run_command_dev_guide.md │ ├── source/ │ │ ├── about/ │ │ │ └── advanced_usage.rst │ │ └── source_code/ │ │ └── src/ │ │ ├── display_device/ │ │ │ ├── display_device.rst │ │ │ ├── parsed_config.rst │ │ │ ├── session.rst │ │ │ ├── settings.rst │ │ │ └── to_string.rst │ │ └── platform/ │ │ └── windows/ │ │ └── display_device/ │ │ ├── settings_data.rst │ │ ├── settings_topology.rst │ │ └── windows_utils.rst │ ├── third_party_packages.md │ ├── troubleshooting.md │ └── webhook_format.md ├── gh-pages-template/ │ └── index.html ├── package.json ├── scripts/ │ ├── README_I18N.md │ ├── _locale.py │ ├── format-i18n.js │ ├── generate-checksums.ps1 │ ├── icons/ │ │ └── convert_and_pack.sh │ ├── linux_build.sh │ ├── requirements.txt │ ├── reverse-sync-i18n.js │ ├── update_clang_format.py │ ├── validate-i18n.js │ └── vmouse_smoke.ps1 ├── src/ │ ├── abr.cpp │ ├── abr.h │ ├── amf/ │ │ ├── amf_config.h │ │ ├── amf_d3d11.cpp │ │ ├── amf_d3d11.h │ │ ├── amf_encoded_frame.h │ │ └── amf_encoder.h │ ├── assets/ │ │ └── abr_prompt.md │ ├── audio.cpp │ ├── audio.h │ ├── cbs.cpp │ ├── cbs.h │ ├── config.cpp │ ├── config.h │ ├── confighttp.cpp │ ├── confighttp.h │ ├── crypto.cpp │ ├── crypto.h │ ├── display_device/ │ │ ├── display_device.h │ │ ├── parsed_config.cpp │ │ ├── parsed_config.h │ │ ├── session.cpp │ │ ├── session.h │ │ ├── settings.cpp │ │ ├── settings.h │ │ ├── to_string.cpp │ │ ├── to_string.h │ │ ├── vdd_utils.cpp │ │ └── vdd_utils.h │ ├── entry_handler.cpp │ ├── entry_handler.h │ ├── file_handler.cpp │ ├── file_handler.h │ ├── globals.cpp │ ├── globals.h │ ├── httpcommon.cpp │ ├── httpcommon.h │ ├── input.cpp │ ├── input.h │ ├── logging.cpp │ ├── logging.h │ ├── main.cpp │ ├── main.h │ ├── move_by_copy.h │ ├── network.cpp │ ├── network.h │ ├── nvenc/ │ │ ├── common_impl/ │ │ │ ├── nvenc_base.cpp │ │ │ ├── nvenc_base.h │ │ │ ├── nvenc_utils.cpp │ │ │ └── nvenc_utils.h │ │ ├── nvenc_config.h │ │ ├── nvenc_encoded_frame.h │ │ ├── nvenc_encoder.h │ │ └── win/ │ │ ├── impl/ │ │ │ ├── nvenc_d3d11_base.cpp │ │ │ ├── nvenc_d3d11_base.h │ │ │ ├── nvenc_d3d11_native.cpp │ │ │ ├── nvenc_d3d11_native.h │ │ │ ├── nvenc_d3d11_on_cuda.cpp │ │ │ ├── nvenc_d3d11_on_cuda.h │ │ │ ├── nvenc_dynamic_factory_1100.cpp │ │ │ ├── nvenc_dynamic_factory_1100.h │ │ │ ├── nvenc_dynamic_factory_1200.cpp │ │ │ ├── nvenc_dynamic_factory_1200.h │ │ │ ├── nvenc_dynamic_factory_1202.cpp │ │ │ ├── nvenc_dynamic_factory_1202.h │ │ │ ├── nvenc_dynamic_factory_blueprint.h │ │ │ └── nvenc_shared_dll.h │ │ ├── nvenc_d3d11.h │ │ ├── nvenc_dynamic_factory.cpp │ │ └── nvenc_dynamic_factory.h │ ├── nvhttp.cpp │ ├── nvhttp.h │ ├── platform/ │ │ ├── common.h │ │ ├── linux/ │ │ │ ├── audio.cpp │ │ │ ├── cuda.cpp │ │ │ ├── cuda.cu │ │ │ ├── cuda.h │ │ │ ├── display_device.cpp │ │ │ ├── graphics.cpp │ │ │ ├── graphics.h │ │ │ ├── input/ │ │ │ │ ├── inputtino.cpp │ │ │ │ ├── inputtino_common.h │ │ │ │ ├── inputtino_gamepad.cpp │ │ │ │ ├── inputtino_gamepad.h │ │ │ │ ├── inputtino_keyboard.cpp │ │ │ │ ├── inputtino_keyboard.h │ │ │ │ ├── inputtino_mouse.cpp │ │ │ │ ├── inputtino_mouse.h │ │ │ │ ├── inputtino_pen.cpp │ │ │ │ ├── inputtino_pen.h │ │ │ │ ├── inputtino_touch.cpp │ │ │ │ ├── inputtino_touch.h │ │ │ │ └── legacy_input.cpp │ │ │ ├── kmsgrab.cpp │ │ │ ├── misc.cpp │ │ │ ├── misc.h │ │ │ ├── publish.cpp │ │ │ ├── vaapi.cpp │ │ │ ├── vaapi.h │ │ │ ├── wayland.cpp │ │ │ ├── wayland.h │ │ │ ├── wlgrab.cpp │ │ │ ├── x11grab.cpp │ │ │ └── x11grab.h │ │ ├── macos/ │ │ │ ├── av_audio.h │ │ │ ├── av_audio.m │ │ │ ├── av_img_t.h │ │ │ ├── av_video.h │ │ │ ├── av_video.m │ │ │ ├── display.mm │ │ │ ├── display_device.cpp │ │ │ ├── input.cpp │ │ │ ├── microphone.mm │ │ │ ├── misc.h │ │ │ ├── misc.mm │ │ │ ├── nv12_zero_device.cpp │ │ │ ├── nv12_zero_device.h │ │ │ └── publish.cpp │ │ ├── run_command.h │ │ └── windows/ │ │ ├── PolicyConfig.h │ │ ├── audio.cpp │ │ ├── display.h │ │ ├── display_amd.cpp │ │ ├── display_base.cpp │ │ ├── display_device/ │ │ │ ├── device_hdr_states.cpp │ │ │ ├── device_modes.cpp │ │ │ ├── device_topology.cpp │ │ │ ├── general_functions.cpp │ │ │ ├── session_listener.cpp │ │ │ ├── session_listener.h │ │ │ ├── settings.cpp │ │ │ ├── settings_topology.cpp │ │ │ ├── settings_topology.h │ │ │ ├── windows_utils.cpp │ │ │ └── windows_utils.h │ │ ├── display_ram.cpp │ │ ├── display_vram.cpp │ │ ├── display_wgc.cpp │ │ ├── dsu_server.cpp │ │ ├── dsu_server.h │ │ ├── ftime_compat.cpp │ │ ├── input.cpp │ │ ├── keylayout.h │ │ ├── mic_write.cpp │ │ ├── mic_write.h │ │ ├── misc.cpp │ │ ├── misc.h │ │ ├── nvprefs/ │ │ │ ├── driver_settings.cpp │ │ │ ├── driver_settings.h │ │ │ ├── nvapi_opensource_wrapper.cpp │ │ │ ├── nvprefs_common.cpp │ │ │ ├── nvprefs_common.h │ │ │ ├── nvprefs_interface.cpp │ │ │ ├── nvprefs_interface.h │ │ │ ├── undo_data.cpp │ │ │ ├── undo_data.h │ │ │ ├── undo_file.cpp │ │ │ └── undo_file.h │ │ ├── publish.cpp │ │ ├── virtual_mouse.cpp │ │ ├── virtual_mouse.h │ │ ├── win_dark_mode.cpp │ │ ├── win_dark_mode.h │ │ └── windows.rc.in │ ├── process.cpp │ ├── process.h │ ├── round_robin.h │ ├── rswrapper.c │ ├── rswrapper.h │ ├── rtsp.cpp │ ├── rtsp.h │ ├── stat_trackers.cpp │ ├── stat_trackers.h │ ├── stb_image.h │ ├── stb_image_write.h │ ├── stream.cpp │ ├── stream.h │ ├── sync.h │ ├── system_tray.cpp │ ├── system_tray.h │ ├── system_tray_i18n.cpp │ ├── system_tray_i18n.h │ ├── task_pool.h │ ├── thread_pool.h │ ├── thread_safe.h │ ├── upnp.cpp │ ├── upnp.h │ ├── utility.h │ ├── uuid.h │ ├── version.h.in │ ├── video.cpp │ ├── video.h │ ├── video_colorspace.cpp │ ├── video_colorspace.h │ ├── webhook.cpp │ ├── webhook.h │ ├── webhook_format.cpp │ ├── webhook_format.h │ ├── webhook_httpsclient.cpp │ └── webhook_httpsclient.h ├── src_assets/ │ ├── common/ │ │ └── assets/ │ │ └── web/ │ │ ├── apps.html │ │ ├── components/ │ │ │ ├── AccordionItem.vue │ │ │ ├── AppCard.vue │ │ │ ├── AppEditor.vue │ │ │ ├── AppListItem.vue │ │ │ ├── Checkbox.vue │ │ │ ├── CheckboxField.vue │ │ │ ├── CommandTable.vue │ │ │ ├── CoverFinder.vue │ │ │ ├── FormField.vue │ │ │ ├── ImageSelector.vue │ │ │ ├── LogDiagnosisModal.vue │ │ │ ├── LogsSection.vue │ │ │ ├── ScanResultModal.vue │ │ │ ├── SetupWizard.vue │ │ │ ├── TroubleshootingCard.vue │ │ │ ├── common/ │ │ │ │ ├── ErrorLogs.vue │ │ │ │ ├── Icon.vue │ │ │ │ ├── Locale.vue │ │ │ │ ├── ResourceCard.vue │ │ │ │ ├── ThemeToggle.vue │ │ │ │ └── VersionCard.vue │ │ │ └── layout/ │ │ │ ├── Navbar.vue │ │ │ └── PlatformLayout.vue │ │ ├── composables/ │ │ │ ├── useAiDiagnosis.js │ │ │ ├── useApps.js │ │ │ ├── useBackground.js │ │ │ ├── useConfig.js │ │ │ ├── useLogout.js │ │ │ ├── useLogs.js │ │ │ ├── usePin.js │ │ │ ├── useQrPair.js │ │ │ ├── useSetupWizard.js │ │ │ ├── useTheme.js │ │ │ ├── useTroubleshooting.js │ │ │ ├── useVersion.js │ │ │ └── useWelcome.js │ │ ├── config/ │ │ │ ├── firebase.js │ │ │ └── i18n.js │ │ ├── config.html │ │ ├── configs/ │ │ │ └── tabs/ │ │ │ ├── Advanced.vue │ │ │ ├── AudioVideo.vue │ │ │ ├── ContainerEncoders.vue │ │ │ ├── Files.vue │ │ │ ├── General.vue │ │ │ ├── Inputs.vue │ │ │ ├── Network.vue │ │ │ ├── audiovideo/ │ │ │ │ ├── AdapterNameSelector.vue │ │ │ │ ├── DisplayDeviceOptions.vue │ │ │ │ ├── DisplayModesSettings.vue │ │ │ │ ├── ExperimentalFeatures.vue │ │ │ │ ├── LegacyDisplayOutputSelector.vue │ │ │ │ ├── NewDisplayOutputSelector.vue │ │ │ │ └── VirtualDisplaySettings.vue │ │ │ └── encoders/ │ │ │ ├── AmdAmfEncoder.vue │ │ │ ├── IntelQuickSyncEncoder.vue │ │ │ ├── NvidiaNvencEncoder.vue │ │ │ ├── SoftwareEncoder.vue │ │ │ └── VideotoolboxEncoder.vue │ │ ├── fonts/ │ │ │ └── fonts.css │ │ ├── index.html │ │ ├── init.js │ │ ├── password.html │ │ ├── pin.html │ │ ├── platform-i18n.js │ │ ├── public/ │ │ │ └── assets/ │ │ │ ├── css/ │ │ │ │ └── sunshine.css │ │ │ └── locale/ │ │ │ ├── bg.json │ │ │ ├── cs.json │ │ │ ├── de.json │ │ │ ├── en.json │ │ │ ├── en_GB.json │ │ │ ├── en_US.json │ │ │ ├── es.json │ │ │ ├── fr.json │ │ │ ├── it.json │ │ │ ├── ja.json │ │ │ ├── ko.json │ │ │ ├── pl.json │ │ │ ├── pt.json │ │ │ ├── pt_BR.json │ │ │ ├── ru.json │ │ │ ├── sv.json │ │ │ ├── tr.json │ │ │ ├── uk.json │ │ │ ├── zh.json │ │ │ └── zh_TW.json │ │ ├── scripts/ │ │ │ └── extract-welcome-locales.js │ │ ├── services/ │ │ │ └── appService.js │ │ ├── styles/ │ │ │ ├── apps.less │ │ │ ├── global.less │ │ │ ├── modal-glass.less │ │ │ ├── var.css │ │ │ └── welcome.less │ │ ├── sunshine_version.js │ │ ├── template_header.html │ │ ├── template_header_dev.html │ │ ├── troubleshooting.html │ │ ├── utils/ │ │ │ ├── README.md │ │ │ ├── constants.js │ │ │ ├── coverSearch.js │ │ │ ├── errorHandler.js │ │ │ ├── fileSelection.js │ │ │ ├── helpers.js │ │ │ ├── imageUtils.js │ │ │ ├── steamApi.js │ │ │ ├── theme.js │ │ │ └── validation.js │ │ ├── views/ │ │ │ ├── Apps.vue │ │ │ ├── Config.vue │ │ │ ├── Home.vue │ │ │ ├── Password.vue │ │ │ ├── Pin.vue │ │ │ ├── Troubleshooting.vue │ │ │ └── Welcome.vue │ │ └── welcome.html.template │ ├── linux/ │ │ ├── assets/ │ │ │ ├── apps.json │ │ │ └── shaders/ │ │ │ └── opengl/ │ │ │ ├── ConvertUV.frag │ │ │ ├── ConvertUV.vert │ │ │ ├── ConvertY.frag │ │ │ ├── Scene.frag │ │ │ └── Scene.vert │ │ └── misc/ │ │ ├── 60-sunshine.rules │ │ └── postinst │ ├── macos/ │ │ ├── assets/ │ │ │ ├── Info.plist │ │ │ └── apps.json │ │ └── misc/ │ │ └── uninstall_pkg.sh │ └── windows/ │ ├── assets/ │ │ ├── apps.json │ │ └── shaders/ │ │ └── directx/ │ │ ├── convert_yuv420_packed_uv_bicubic_ps.hlsl │ │ ├── convert_yuv420_packed_uv_bicubic_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv420_packed_uv_bicubic_ps_linear.hlsl │ │ ├── convert_yuv420_packed_uv_bicubic_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv420_packed_uv_bicubic_vs.hlsl │ │ ├── convert_yuv420_packed_uv_type0_ps.hlsl │ │ ├── convert_yuv420_packed_uv_type0_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv420_packed_uv_type0_ps_linear.hlsl │ │ ├── convert_yuv420_packed_uv_type0_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv420_packed_uv_type0_vs.hlsl │ │ ├── convert_yuv420_packed_uv_type0s_ps.hlsl │ │ ├── convert_yuv420_packed_uv_type0s_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv420_packed_uv_type0s_ps_linear.hlsl │ │ ├── convert_yuv420_packed_uv_type0s_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv420_packed_uv_type0s_vs.hlsl │ │ ├── convert_yuv420_planar_y_bicubic_ps.hlsl │ │ ├── convert_yuv420_planar_y_bicubic_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv420_planar_y_bicubic_ps_linear.hlsl │ │ ├── convert_yuv420_planar_y_bicubic_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv420_planar_y_ps.hlsl │ │ ├── convert_yuv420_planar_y_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv420_planar_y_ps_linear.hlsl │ │ ├── convert_yuv420_planar_y_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv420_planar_y_vs.hlsl │ │ ├── convert_yuv444_packed_ayuv_ps.hlsl │ │ ├── convert_yuv444_packed_ayuv_ps_linear.hlsl │ │ ├── convert_yuv444_packed_vs.hlsl │ │ ├── convert_yuv444_packed_y410_ps.hlsl │ │ ├── convert_yuv444_packed_y410_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv444_packed_y410_ps_linear.hlsl │ │ ├── convert_yuv444_packed_y410_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv444_planar_ps.hlsl │ │ ├── convert_yuv444_planar_ps_hybrid_log_gamma.hlsl │ │ ├── convert_yuv444_planar_ps_linear.hlsl │ │ ├── convert_yuv444_planar_ps_perceptual_quantizer.hlsl │ │ ├── convert_yuv444_planar_vs.hlsl │ │ ├── cursor_ps.hlsl │ │ ├── cursor_ps_normalize_white.hlsl │ │ ├── cursor_vs.hlsl │ │ ├── hdr_luminance_analysis_cs.hlsl │ │ ├── hdr_luminance_reduce_cs.hlsl │ │ ├── include/ │ │ │ ├── base_vs.hlsl │ │ │ ├── base_vs_types.hlsl │ │ │ ├── common.hlsl │ │ │ ├── convert_base.hlsl │ │ │ ├── convert_hybrid_log_gamma_base.hlsl │ │ │ ├── convert_linear_base.hlsl │ │ │ ├── convert_perceptual_quantizer_base.hlsl │ │ │ ├── convert_yuv420_packed_uv_bicubic_ps_base.hlsl │ │ │ ├── convert_yuv420_packed_uv_ps_base.hlsl │ │ │ ├── convert_yuv420_planar_y_bicubic_ps_base.hlsl │ │ │ ├── convert_yuv420_planar_y_ps_base.hlsl │ │ │ └── convert_yuv444_ps_base.hlsl │ │ ├── simple_cursor_ps.hlsl │ │ └── simple_cursor_vs.hlsl │ └── misc/ │ ├── autostart/ │ │ └── autostart-service.bat │ ├── firewall/ │ │ ├── add-firewall-rule.bat │ │ └── delete-firewall-rule.bat │ ├── gamepad/ │ │ ├── install-gamepad.bat │ │ └── uninstall-gamepad.bat │ ├── install_portable.bat │ ├── languages/ │ │ ├── de-DE.lang │ │ ├── en-US.lang │ │ ├── fr-FR.lang │ │ ├── ja-JP.lang │ │ ├── ru-RU.lang │ │ └── zh-Simple.lang │ ├── migration/ │ │ ├── IMAGE_MIGRATION.md │ │ ├── migrate-config.bat │ │ └── migrate-images.ps1 │ ├── path/ │ │ └── update-path.bat │ ├── service/ │ │ ├── install-service.bat │ │ ├── sleep.bat │ │ └── uninstall-service.bat │ ├── uninstall_portable.bat │ ├── vdd/ │ │ ├── driver/ │ │ │ └── vdd_settings.xml │ │ ├── install-vdd.bat │ │ └── uninstall-vdd.bat │ ├── vmouse/ │ │ ├── driver/ │ │ │ ├── README.md │ │ │ └── ZakoVirtualMouse.cer │ │ ├── install-vmouse.bat │ │ └── uninstall-vmouse.bat │ └── vsink/ │ ├── install-vsink.bat │ └── uninstall-vsink.bat ├── sunshine.icns ├── tests/ │ ├── CMakeLists.txt │ ├── tests_common.h │ ├── tests_environment.h │ ├── tests_events.h │ ├── tests_log_checker.h │ ├── tests_main.cpp │ ├── tools/ │ │ ├── vmouse_logging_stubs.cpp │ │ ├── vmouse_probe.cpp │ │ └── vmouse_send_diag.cpp │ └── unit/ │ ├── platform/ │ │ ├── test_common.cpp │ │ └── windows/ │ │ └── test_virtual_mouse.cpp │ ├── test_audio.cpp │ ├── test_entry_handler.cpp │ ├── test_file_handler.cpp │ ├── test_httpcommon.cpp │ ├── test_logging.cpp │ ├── test_mouse.cpp │ ├── test_network.cpp │ ├── test_rswrapper.cpp │ ├── test_stream.cpp │ ├── test_video.cpp │ ├── test_webhook.cpp │ └── test_webhook_config.cpp ├── third-party/ │ ├── .clang-format-ignore │ ├── glad/ │ │ ├── include/ │ │ │ ├── EGL/ │ │ │ │ └── eglplatform.h │ │ │ ├── KHR/ │ │ │ │ └── khrplatform.h │ │ │ └── glad/ │ │ │ ├── egl.h │ │ │ └── gl.h │ │ └── src/ │ │ ├── egl.c │ │ └── gl.c │ └── nvfbc/ │ ├── NvFBC.h │ └── helper_math.h ├── tools/ │ ├── CMakeLists.txt │ ├── audio.cpp │ ├── build-qiin-tabtip.sh │ ├── dxgi.cpp │ ├── qiin-tabtip.cpp │ ├── sunshinesvc.cpp │ └── test_args.cpp ├── translate_simple.py ├── vite-plugin-ejs-v7.js ├── vite.config.js └── vite.dev.config.js