mirror of
https://github.com/LizardByte/Sunshine.git
synced 2026-08-07 10:20:46 +00:00
build(deps): bump third-party/lizardbyte-common from 06cd442 to 011ad2b (#5457)
* build(deps): bump third-party/lizardbyte-common Bumps [third-party/lizardbyte-common](https://github.com/LizardByte/lizardbyte-common) from `06cd442` to `011ad2b`. - [Release notes](https://github.com/LizardByte/lizardbyte-common/releases) - [Commits](https://github.com/LizardByte/lizardbyte-common/compare/06cd442b808f02f1674f3192a84d25b9a503c482...011ad2bb139083dcf4ec21f9c09f07470891a668) --- updated-dependencies: - dependency-name: third-party/lizardbyte-common dependency-version: 011ad2bb139083dcf4ec21f9c09f07470891a668 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * style: run clang-format across C++ sources Reformatted conditionals, loops, and long function calls across core, platform, NVENC, and test helper code to match updated formatting rules, including minor spacing normalization in type declarations. These are style-only edits with no intended behavior changes. --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
This commit is contained in:
@@ -535,13 +535,11 @@ namespace display_device {
|
||||
std::optional<parsed_remapping_entry_t> parse_remapping_entry(const config::video_t::dd_t::mode_remapping_entry_t &entry, const remapping_type_e type) {
|
||||
parsed_remapping_entry_t result {};
|
||||
|
||||
if (is_resolution_mapped(type) && (!parse_resolution_string(entry.requested_resolution, result.requested_resolution) ||
|
||||
!parse_resolution_string(entry.final_resolution, result.final_resolution))) {
|
||||
if (is_resolution_mapped(type) && (!parse_resolution_string(entry.requested_resolution, result.requested_resolution) || !parse_resolution_string(entry.final_resolution, result.final_resolution))) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
if (is_fps_mapped(type) && (!parse_refresh_rate_string(entry.requested_fps, result.requested_fps, false) ||
|
||||
!parse_refresh_rate_string(entry.final_refresh_rate, result.final_refresh_rate))) {
|
||||
if (is_fps_mapped(type) && (!parse_refresh_rate_string(entry.requested_fps, result.requested_fps, false) || !parse_refresh_rate_string(entry.final_refresh_rate, result.final_refresh_rate))) {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
|
||||
+1
-2
@@ -63,8 +63,7 @@ namespace http {
|
||||
config::nvhttp.pkey = (dir / ("pkey-"s + unique_id)).string();
|
||||
}
|
||||
|
||||
if ((!fs::exists(config::nvhttp.pkey) || !fs::exists(config::nvhttp.cert)) &&
|
||||
create_creds(config::nvhttp.pkey, config::nvhttp.cert)) {
|
||||
if ((!fs::exists(config::nvhttp.pkey) || !fs::exists(config::nvhttp.cert)) && create_creds(config::nvhttp.pkey, config::nvhttp.cert)) {
|
||||
return -1;
|
||||
}
|
||||
if (!user_creds_exist(config::sunshine.credentials_file)) {
|
||||
|
||||
+6
-12
@@ -935,8 +935,7 @@ namespace input {
|
||||
|
||||
// Right-alt maps to meta, so it must not also register as ALT
|
||||
int modifiers = packet->modifiers;
|
||||
if (config::input.key_rightalt_to_key_win &&
|
||||
input->right_alt_pressed && !input->left_alt_pressed) {
|
||||
if (config::input.key_rightalt_to_key_win && input->right_alt_pressed && !input->left_alt_pressed) {
|
||||
modifiers &= ~MODIFIER_ALT;
|
||||
}
|
||||
|
||||
@@ -1557,14 +1556,12 @@ namespace input {
|
||||
*/
|
||||
batch_result_e batch(PSS_TOUCH_PACKET dest, PSS_TOUCH_PACKET src) {
|
||||
// Only batch hover or move events
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE &&
|
||||
dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE && dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
return batch_result_e::terminate_batch;
|
||||
}
|
||||
|
||||
// Don't batch beyond state changing events
|
||||
if (src->eventType != LI_TOUCH_EVENT_MOVE &&
|
||||
src->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
if (src->eventType != LI_TOUCH_EVENT_MOVE && src->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
return batch_result_e::terminate_batch;
|
||||
}
|
||||
|
||||
@@ -1591,8 +1588,7 @@ namespace input {
|
||||
*/
|
||||
batch_result_e batch(PSS_PEN_PACKET dest, PSS_PEN_PACKET src) {
|
||||
// Only batch hover or move events
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE &&
|
||||
dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE && dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
return batch_result_e::terminate_batch;
|
||||
}
|
||||
|
||||
@@ -1624,8 +1620,7 @@ namespace input {
|
||||
*/
|
||||
batch_result_e batch(PSS_CONTROLLER_TOUCH_PACKET dest, PSS_CONTROLLER_TOUCH_PACKET src) {
|
||||
// Only batch hover or move events
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE &&
|
||||
dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
if (dest->eventType != LI_TOUCH_EVENT_MOVE && dest->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
return batch_result_e::terminate_batch;
|
||||
}
|
||||
|
||||
@@ -1636,8 +1631,7 @@ namespace input {
|
||||
}
|
||||
|
||||
// Don't batch beyond state changing events
|
||||
if (src->eventType != LI_TOUCH_EVENT_MOVE &&
|
||||
src->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
if (src->eventType != LI_TOUCH_EVENT_MOVE && src->eventType != LI_TOUCH_EVENT_HOVER) {
|
||||
return batch_result_e::terminate_batch;
|
||||
}
|
||||
|
||||
|
||||
@@ -604,12 +604,7 @@ namespace NVENC_NAMESPACE {
|
||||
return false;
|
||||
}
|
||||
std::vector<GUID> encode_guids(encode_guid_count);
|
||||
if (nvenc_failed(nvenc->nvEncGetEncodeGUIDs(
|
||||
encoder,
|
||||
encode_guids.data(),
|
||||
static_cast<std::uint32_t>(encode_guids.size()),
|
||||
&encode_guid_count
|
||||
))) {
|
||||
if (nvenc_failed(nvenc->nvEncGetEncodeGUIDs(encoder, encode_guids.data(), static_cast<std::uint32_t>(encode_guids.size()), &encode_guid_count))) {
|
||||
BOOST_LOG(error) << "NvEnc: NvEncGetEncodeGUIDs() failed: " << last_nvenc_error_string;
|
||||
return false;
|
||||
}
|
||||
@@ -658,13 +653,7 @@ namespace NVENC_NAMESPACE {
|
||||
.version = NV_ENC_PRESET_CONFIG_VER,
|
||||
.presetCfg = {.version = NV_ENC_CONFIG_VER},
|
||||
};
|
||||
if (nvenc_failed(nvenc->nvEncGetEncodePresetConfigEx(
|
||||
encoder,
|
||||
init_params.encodeGUID,
|
||||
init_params.presetGUID,
|
||||
init_params.tuningInfo,
|
||||
&preset_config
|
||||
))) {
|
||||
if (nvenc_failed(nvenc->nvEncGetEncodePresetConfigEx(encoder, init_params.encodeGUID, init_params.presetGUID, init_params.tuningInfo, &preset_config))) {
|
||||
BOOST_LOG(error) << "NvEnc: NvEncGetEncodePresetConfigEx() failed: " << last_nvenc_error_string;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -68,20 +68,7 @@ namespace NVENC_NAMESPACE {
|
||||
location = (T) GetProcAddress(cuda_functions.dll, symbol);
|
||||
return location != nullptr;
|
||||
};
|
||||
if (!load_function(cuda_functions.cuInit, "cuInit") ||
|
||||
!load_function(cuda_functions.cuD3D11GetDevice, "cuD3D11GetDevice") ||
|
||||
!load_function(cuda_functions.cuCtxCreate, "cuCtxCreate_v2") ||
|
||||
!load_function(cuda_functions.cuCtxDestroy, "cuCtxDestroy_v2") ||
|
||||
!load_function(cuda_functions.cuCtxPushCurrent, "cuCtxPushCurrent_v2") ||
|
||||
!load_function(cuda_functions.cuCtxPopCurrent, "cuCtxPopCurrent_v2") ||
|
||||
!load_function(cuda_functions.cuMemAllocPitch, "cuMemAllocPitch_v2") ||
|
||||
!load_function(cuda_functions.cuMemFree, "cuMemFree_v2") ||
|
||||
!load_function(cuda_functions.cuGraphicsD3D11RegisterResource, "cuGraphicsD3D11RegisterResource") ||
|
||||
!load_function(cuda_functions.cuGraphicsUnregisterResource, "cuGraphicsUnregisterResource") ||
|
||||
!load_function(cuda_functions.cuGraphicsMapResources, "cuGraphicsMapResources") ||
|
||||
!load_function(cuda_functions.cuGraphicsUnmapResources, "cuGraphicsUnmapResources") ||
|
||||
!load_function(cuda_functions.cuGraphicsSubResourceGetMappedArray, "cuGraphicsSubResourceGetMappedArray") ||
|
||||
!load_function(cuda_functions.cuMemcpy2D, "cuMemcpy2D_v2")) {
|
||||
if (!load_function(cuda_functions.cuInit, "cuInit") || !load_function(cuda_functions.cuD3D11GetDevice, "cuD3D11GetDevice") || !load_function(cuda_functions.cuCtxCreate, "cuCtxCreate_v2") || !load_function(cuda_functions.cuCtxDestroy, "cuCtxDestroy_v2") || !load_function(cuda_functions.cuCtxPushCurrent, "cuCtxPushCurrent_v2") || !load_function(cuda_functions.cuCtxPopCurrent, "cuCtxPopCurrent_v2") || !load_function(cuda_functions.cuMemAllocPitch, "cuMemAllocPitch_v2") || !load_function(cuda_functions.cuMemFree, "cuMemFree_v2") || !load_function(cuda_functions.cuGraphicsD3D11RegisterResource, "cuGraphicsD3D11RegisterResource") || !load_function(cuda_functions.cuGraphicsUnregisterResource, "cuGraphicsUnregisterResource") || !load_function(cuda_functions.cuGraphicsMapResources, "cuGraphicsMapResources") || !load_function(cuda_functions.cuGraphicsUnmapResources, "cuGraphicsUnmapResources") || !load_function(cuda_functions.cuGraphicsSubResourceGetMappedArray, "cuGraphicsSubResourceGetMappedArray") || !load_function(cuda_functions.cuMemcpy2D, "cuMemcpy2D_v2")) {
|
||||
BOOST_LOG(error) << "NvEnc: missing CUDA functions in " << dll_name;
|
||||
FreeLibrary(cuda_functions.dll);
|
||||
cuda_functions = {};
|
||||
@@ -93,14 +80,9 @@ namespace NVENC_NAMESPACE {
|
||||
if (cuda_functions.dll) {
|
||||
IDXGIDevicePtr dxgi_device;
|
||||
IDXGIAdapterPtr dxgi_adapter;
|
||||
if (d3d_device &&
|
||||
SUCCEEDED(d3d_device->QueryInterface(IID_PPV_ARGS(&dxgi_device))) &&
|
||||
SUCCEEDED(dxgi_device->GetAdapter(&dxgi_adapter))) {
|
||||
if (d3d_device && SUCCEEDED(d3d_device->QueryInterface(IID_PPV_ARGS(&dxgi_device))) && SUCCEEDED(dxgi_device->GetAdapter(&dxgi_adapter))) {
|
||||
CUdevice cuda_device;
|
||||
if (cuda_succeeded(cuda_functions.cuInit(0)) &&
|
||||
cuda_succeeded(cuda_functions.cuD3D11GetDevice(&cuda_device, dxgi_adapter)) &&
|
||||
cuda_succeeded(cuda_functions.cuCtxCreate(&cuda_context, CU_CTX_SCHED_BLOCKING_SYNC, cuda_device)) &&
|
||||
cuda_succeeded(cuda_functions.cuCtxPopCurrent(&cuda_context))) {
|
||||
if (cuda_succeeded(cuda_functions.cuInit(0)) && cuda_succeeded(cuda_functions.cuD3D11GetDevice(&cuda_device, dxgi_adapter)) && cuda_succeeded(cuda_functions.cuCtxCreate(&cuda_context, CU_CTX_SCHED_BLOCKING_SYNC, cuda_device)) && cuda_succeeded(cuda_functions.cuCtxPopCurrent(&cuda_context))) {
|
||||
device = cuda_context;
|
||||
} else {
|
||||
BOOST_LOG(error) << "NvEnc: couldn't create CUDA interop context: error " << last_cuda_error;
|
||||
@@ -143,25 +125,18 @@ namespace NVENC_NAMESPACE {
|
||||
}
|
||||
|
||||
if (!cuda_d3d_input_texture) {
|
||||
if (cuda_failed(cuda_functions.cuGraphicsD3D11RegisterResource(
|
||||
&cuda_d3d_input_texture,
|
||||
d3d_input_texture,
|
||||
CU_GRAPHICS_REGISTER_FLAGS_NONE
|
||||
))) {
|
||||
if (cuda_failed(cuda_functions.cuGraphicsD3D11RegisterResource(&cuda_d3d_input_texture, d3d_input_texture, CU_GRAPHICS_REGISTER_FLAGS_NONE))) {
|
||||
BOOST_LOG(error) << "NvEnc: cuGraphicsD3D11RegisterResource() failed: error " << last_cuda_error;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!cuda_surface) {
|
||||
if (cuda_failed(cuda_functions.cuMemAllocPitch(
|
||||
&cuda_surface,
|
||||
&cuda_surface_pitch,
|
||||
// Planar 16-bit YUV
|
||||
encoder_params.width * 2,
|
||||
encoder_params.height * 3,
|
||||
16
|
||||
))) {
|
||||
if (cuda_failed(cuda_functions.cuMemAllocPitch(&cuda_surface, &cuda_surface_pitch,
|
||||
// Planar 16-bit YUV
|
||||
encoder_params.width * 2,
|
||||
encoder_params.height * 3,
|
||||
16))) {
|
||||
BOOST_LOG(error) << "NvEnc: cuMemAllocPitch() failed: error " << last_cuda_error;
|
||||
return false;
|
||||
}
|
||||
@@ -256,8 +231,7 @@ namespace NVENC_NAMESPACE {
|
||||
}
|
||||
|
||||
nvenc_d3d11_on_cuda::autopop_context nvenc_d3d11_on_cuda::push_context() {
|
||||
if (cuda_context &&
|
||||
cuda_succeeded(cuda_functions.cuCtxPushCurrent(cuda_context))) {
|
||||
if (cuda_context && cuda_succeeded(cuda_functions.cuCtxPushCurrent(cuda_context))) {
|
||||
return {*this, cuda_context};
|
||||
} else {
|
||||
BOOST_LOG(error) << "NvEnc: cuCtxPushCurrent() failed: error " << last_cuda_error;
|
||||
|
||||
@@ -190,8 +190,7 @@ namespace cuda {
|
||||
|
||||
auto hwframe_ctx = (AVHWFramesContext *) hw_frames_ctx->data;
|
||||
|
||||
if (hwframe_ctx->sw_format != AV_PIX_FMT_NV12 &&
|
||||
hwframe_ctx->sw_format != AV_PIX_FMT_YUV444P) {
|
||||
if (hwframe_ctx->sw_format != AV_PIX_FMT_NV12 && hwframe_ctx->sw_format != AV_PIX_FMT_YUV444P) {
|
||||
BOOST_LOG(error) << "cuda::cuda_t doesn't support any format other than AV_PIX_FMT_NV12 and AV_PIX_FMT_YUV444P"sv;
|
||||
return -1;
|
||||
}
|
||||
@@ -469,10 +468,7 @@ namespace cuda {
|
||||
|
||||
auto hw_frames_ctx = (AVHWFramesContext *) hw_frames_ctx_buf->data;
|
||||
|
||||
if (hw_frames_ctx->sw_format != AV_PIX_FMT_NV12 &&
|
||||
hw_frames_ctx->sw_format != AV_PIX_FMT_YUV444P &&
|
||||
hw_frames_ctx->sw_format != AV_PIX_FMT_P010LE &&
|
||||
hw_frames_ctx->sw_format != AV_PIX_FMT_YUV444P16LE) {
|
||||
if (hw_frames_ctx->sw_format != AV_PIX_FMT_NV12 && hw_frames_ctx->sw_format != AV_PIX_FMT_YUV444P && hw_frames_ctx->sw_format != AV_PIX_FMT_P010LE && hw_frames_ctx->sw_format != AV_PIX_FMT_YUV444P16LE) {
|
||||
BOOST_LOG(error) << "cuda::gl_cuda_vram_t doesn't support any format other than AV_PIX_FMT_NV12, AV_PIX_FMT_P010LE, AV_PIX_FMT_YUV444P and AV_PIX_FMT_YUV444P16LE"sv;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -272,8 +272,7 @@ const KeyCodeMap kKeyCodesMap[] = {
|
||||
key_map
|
||||
);
|
||||
|
||||
if (temp_map >= kKeyCodesMap + sizeof(kKeyCodesMap) / sizeof(kKeyCodesMap[0]) ||
|
||||
temp_map->win_keycode != keycode || temp_map->mac_keycode == -1) {
|
||||
if (temp_map >= kKeyCodesMap + sizeof(kKeyCodesMap) / sizeof(kKeyCodesMap[0]) || temp_map->win_keycode != keycode || temp_map->mac_keycode == -1) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -90,8 +90,7 @@ namespace platf {
|
||||
#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
|
||||
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:((NSOperatingSystemVersion) {10, 15, 0})] &&
|
||||
// Double check that these weakly-linked symbols have been loaded:
|
||||
CGPreflightScreenCaptureAccess != nullptr && CGRequestScreenCaptureAccess != nullptr &&
|
||||
!CGPreflightScreenCaptureAccess()) {
|
||||
CGPreflightScreenCaptureAccess != nullptr && CGRequestScreenCaptureAccess != nullptr && !CGPreflightScreenCaptureAccess()) {
|
||||
BOOST_LOG(error) << "No screen capture permission!"sv;
|
||||
BOOST_LOG(error) << "Please activate it in 'System Preferences' -> 'Privacy' -> 'Screen Recording'"sv;
|
||||
CGRequestScreenCaptureAccess();
|
||||
|
||||
@@ -377,9 +377,7 @@ namespace platf::audio {
|
||||
}
|
||||
|
||||
// Prefer the native channel layout of captured audio device when channel counts match
|
||||
if (mixer_waveformat->nChannels == format.channel_count &&
|
||||
mixer_waveformat->wFormatTag == WAVE_FORMAT_EXTENSIBLE &&
|
||||
mixer_waveformat->cbSize >= 22) {
|
||||
if (mixer_waveformat->nChannels == format.channel_count && mixer_waveformat->wFormatTag == WAVE_FORMAT_EXTENSIBLE && mixer_waveformat->cbSize >= 22) {
|
||||
auto waveformatext_pointer = reinterpret_cast<const WAVEFORMATEXTENSIBLE *>(mixer_waveformat.get());
|
||||
capture_waveformat.dwChannelMask = waveformatext_pointer->dwChannelMask;
|
||||
}
|
||||
@@ -765,8 +763,7 @@ namespace platf::audio {
|
||||
for (
|
||||
status = audio_capture->GetNextPacketSize(&packet_size);
|
||||
SUCCEEDED(status) && packet_size > 0;
|
||||
status = audio_capture->GetNextPacketSize(&packet_size)
|
||||
) {
|
||||
status = audio_capture->GetNextPacketSize(&packet_size)) {
|
||||
DWORD buffer_flags;
|
||||
status = audio_capture->GetBuffer(
|
||||
(BYTE **) &sample_aligned.samples,
|
||||
|
||||
@@ -28,7 +28,7 @@ typedef long NTSTATUS;
|
||||
/**
|
||||
* @brief Enumerates supported d3 DKMT GPU PREFERENCE QUERY STATE options.
|
||||
*/
|
||||
typedef enum _D3DKMT_GPU_PREFERENCE_QUERY_STATE: DWORD {
|
||||
typedef enum _D3DKMT_GPU_PREFERENCE_QUERY_STATE : DWORD {
|
||||
D3DKMT_GPU_PREFERENCE_STATE_UNINITIALIZED, ///< The GPU preference isn't initialized.
|
||||
D3DKMT_GPU_PREFERENCE_STATE_HIGH_PERFORMANCE, ///< The highest performing GPU is preferred.
|
||||
D3DKMT_GPU_PREFERENCE_STATE_MINIMUM_POWER, ///< The minimum-powered GPU is preferred.
|
||||
|
||||
@@ -555,9 +555,7 @@ namespace platf::dxgi {
|
||||
void apply_colorspace(const ::video::sunshine_colorspace_t &colorspace) {
|
||||
auto color_vectors = ::video::color_vectors_from_colorspace(colorspace, true);
|
||||
|
||||
if (format == DXGI_FORMAT_AYUV ||
|
||||
format == DXGI_FORMAT_R16_UINT ||
|
||||
format == DXGI_FORMAT_Y410) {
|
||||
if (format == DXGI_FORMAT_AYUV || format == DXGI_FORMAT_R16_UINT || format == DXGI_FORMAT_Y410) {
|
||||
color_vectors = ::video::color_vectors_from_colorspace(colorspace, false);
|
||||
}
|
||||
|
||||
@@ -1393,8 +1391,7 @@ namespace platf::dxgi {
|
||||
auto alpha_cursor_img = make_cursor_alpha_image(img_data, shape_info);
|
||||
auto xor_cursor_img = make_cursor_xor_image(img_data, shape_info);
|
||||
|
||||
if (!set_cursor_texture(device.get(), cursor_alpha, std::move(alpha_cursor_img), shape_info) ||
|
||||
!set_cursor_texture(device.get(), cursor_xor, std::move(xor_cursor_img), shape_info)) {
|
||||
if (!set_cursor_texture(device.get(), cursor_alpha, std::move(alpha_cursor_img), shape_info) || !set_cursor_texture(device.get(), cursor_xor, std::move(xor_cursor_img), shape_info)) {
|
||||
return capture_e::error;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,8 +127,7 @@ namespace platf::dxgi {
|
||||
display->output->GetDesc(&output_desc);
|
||||
|
||||
auto monitor_factory = winrt::get_activation_factory<winrt::GraphicsCaptureItem, IGraphicsCaptureItemInterop>();
|
||||
if (monitor_factory == nullptr ||
|
||||
FAILED(status = monitor_factory->CreateForMonitor(output_desc.Monitor, winrt::guid_of<winrt::IGraphicsCaptureItem>(), winrt::put_abi(item)))) {
|
||||
if (monitor_factory == nullptr || FAILED(status = monitor_factory->CreateForMonitor(output_desc.Monitor, winrt::guid_of<winrt::IGraphicsCaptureItem>(), winrt::put_abi(item)))) {
|
||||
BOOST_LOG(error) << "Screen capture is not supported on this device for this release of Windows: failed to acquire display: [0x"sv << util::hex(status).to_string_view() << ']';
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -401,8 +401,7 @@ namespace platf {
|
||||
uint16_t normalizedSmallMotor = smallMotor << 8;
|
||||
|
||||
// Don't resend duplicate rumble data
|
||||
if (normalizedSmallMotor != gamepad.last_rumble.data.rumble.highfreq ||
|
||||
normalizedLargeMotor != gamepad.last_rumble.data.rumble.lowfreq) {
|
||||
if (normalizedSmallMotor != gamepad.last_rumble.data.rumble.highfreq || normalizedLargeMotor != gamepad.last_rumble.data.rumble.lowfreq) {
|
||||
// We have to use the client-relative index when communicating back to the client
|
||||
gamepad_feedback_msg_t msg = gamepad_feedback_msg_t::make_rumble(
|
||||
gamepad.client_relative_index,
|
||||
@@ -430,9 +429,7 @@ namespace platf {
|
||||
|
||||
if (gamepad.gp.get() == target) {
|
||||
// Don't resend duplicate RGB data
|
||||
if (r != gamepad.last_rgb_led.data.rgb_led.r ||
|
||||
g != gamepad.last_rgb_led.data.rgb_led.g ||
|
||||
b != gamepad.last_rgb_led.data.rgb_led.b) {
|
||||
if (r != gamepad.last_rgb_led.data.rgb_led.r || g != gamepad.last_rgb_led.data.rgb_led.g || b != gamepad.last_rgb_led.data.rgb_led.b) {
|
||||
// We have to use the client-relative index when communicating back to the client
|
||||
gamepad_feedback_msg_t msg = gamepad_feedback_msg_t::make_rgb_led(gamepad.client_relative_index, r, g, b);
|
||||
gamepad.feedback_queue->raise(msg);
|
||||
@@ -822,8 +819,7 @@ namespace platf {
|
||||
|
||||
// Try to find a matching pointer ID
|
||||
for (UINT32 i = 0; i < ARRAYSIZE(raw->touchInfo); i++) {
|
||||
if (raw->touchInfo[i].touchInfo.pointerInfo.pointerId == pointerId &&
|
||||
raw->touchInfo[i].touchInfo.pointerInfo.pointerFlags != POINTER_FLAG_NONE) {
|
||||
if (raw->touchInfo[i].touchInfo.pointerInfo.pointerId == pointerId && raw->touchInfo[i].touchInfo.pointerInfo.pointerFlags != POINTER_FLAG_NONE) {
|
||||
if (eventType == LI_TOUCH_EVENT_DOWN && (raw->touchInfo[i].touchInfo.pointerInfo.pointerFlags & POINTER_FLAG_INCONTACT)) {
|
||||
BOOST_LOG(warning) << "Pointer "sv << pointerId << " already down. Did the client drop an up/cancel event?"sv;
|
||||
}
|
||||
@@ -982,9 +978,7 @@ namespace platf {
|
||||
auto raw = (client_input_raw_t *) input;
|
||||
|
||||
// Bail if we're not running on an OS that supports virtual touch input
|
||||
if (!raw->global->fnCreateSyntheticPointerDevice ||
|
||||
!raw->global->fnInjectSyntheticPointerInput ||
|
||||
!raw->global->fnDestroySyntheticPointerDevice) {
|
||||
if (!raw->global->fnCreateSyntheticPointerDevice || !raw->global->fnInjectSyntheticPointerInput || !raw->global->fnDestroySyntheticPointerDevice) {
|
||||
BOOST_LOG(warning) << "Touch input requires Windows 10 1809 or later"sv;
|
||||
return;
|
||||
}
|
||||
@@ -1108,9 +1102,7 @@ namespace platf {
|
||||
auto raw = (client_input_raw_t *) input;
|
||||
|
||||
// Bail if we're not running on an OS that supports virtual pen input
|
||||
if (!raw->global->fnCreateSyntheticPointerDevice ||
|
||||
!raw->global->fnInjectSyntheticPointerInput ||
|
||||
!raw->global->fnDestroySyntheticPointerDevice) {
|
||||
if (!raw->global->fnCreateSyntheticPointerDevice || !raw->global->fnInjectSyntheticPointerInput || !raw->global->fnDestroySyntheticPointerDevice) {
|
||||
BOOST_LOG(warning) << "Pen input requires Windows 10 1809 or later"sv;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -100,8 +100,7 @@ namespace {
|
||||
bool nt_set_timer_resolution_max() {
|
||||
ULONG maximum;
|
||||
ULONG minimum;
|
||||
if (ULONG current; !NT_SUCCESS(NtQueryTimerResolution(&minimum, &maximum, ¤t)) ||
|
||||
!NT_SUCCESS(NtSetTimerResolution(maximum, TRUE, ¤t))) {
|
||||
if (ULONG current; !NT_SUCCESS(NtQueryTimerResolution(&minimum, &maximum, ¤t)) || !NT_SUCCESS(NtSetTimerResolution(maximum, TRUE, ¤t))) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -110,8 +109,7 @@ namespace {
|
||||
bool nt_set_timer_resolution_min() {
|
||||
ULONG maximum;
|
||||
ULONG minimum;
|
||||
if (ULONG current; !NT_SUCCESS(NtQueryTimerResolution(&minimum, &maximum, ¤t)) ||
|
||||
!NT_SUCCESS(NtSetTimerResolution(minimum, TRUE, ¤t))) {
|
||||
if (ULONG current; !NT_SUCCESS(NtQueryTimerResolution(&minimum, &maximum, ¤t)) || !NT_SUCCESS(NtSetTimerResolution(minimum, TRUE, ¤t))) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -270,8 +270,7 @@ namespace nvprefs {
|
||||
status = NvAPI_DRS_GetSetting(session_handle, profile_handle, PREFERRED_PSTATE_ID, &setting);
|
||||
|
||||
if (!get_nvprefs_options().sunshine_high_power_mode) {
|
||||
if (status == NVAPI_OK &&
|
||||
setting.settingLocation == NVDRS_CURRENT_PROFILE_LOCATION) {
|
||||
if (status == NVAPI_OK && setting.settingLocation == NVDRS_CURRENT_PROFILE_LOCATION) {
|
||||
// User requested to not use high power mode for sunshine.exe,
|
||||
// remove the setting from application profile if it's been set previously
|
||||
|
||||
@@ -285,9 +284,7 @@ namespace nvprefs {
|
||||
|
||||
info_message(std::wstring(L"Removed PREFERRED_PSTATE for ") + sunshine_application_path);
|
||||
}
|
||||
} else if (status != NVAPI_OK ||
|
||||
setting.settingLocation != NVDRS_CURRENT_PROFILE_LOCATION ||
|
||||
setting.u32CurrentValue != PREFERRED_PSTATE_PREFER_MAX) {
|
||||
} else if (status != NVAPI_OK || setting.settingLocation != NVDRS_CURRENT_PROFILE_LOCATION || setting.u32CurrentValue != PREFERRED_PSTATE_PREFER_MAX) {
|
||||
// Set power setting if needed
|
||||
setting = {};
|
||||
setting.version = NVDRS_SETTING_VER1;
|
||||
|
||||
@@ -204,8 +204,7 @@ namespace nvprefs {
|
||||
}
|
||||
|
||||
// Restore global profile settings with undo data
|
||||
if (pimpl->driver_settings.restore_global_profile_to_undo(*pimpl->undo_data) &&
|
||||
pimpl->driver_settings.save_settings()) {
|
||||
if (pimpl->driver_settings.restore_global_profile_to_undo(*pimpl->undo_data) && pimpl->driver_settings.save_settings()) {
|
||||
// Global profile settings sucessfully restored, can delete undo file
|
||||
if (!pimpl->undo_file->delete_file()) {
|
||||
error_message("Couldn't delete undo file");
|
||||
|
||||
+1
-2
@@ -301,8 +301,7 @@ namespace proc {
|
||||
} else if (_process.running()) {
|
||||
// The app is still running only if the initial process launched is still running
|
||||
return _app_id;
|
||||
} else if (_app.auto_detach && _process.native_exit_code() == 0 &&
|
||||
std::chrono::steady_clock::now() - _app_launch_time < 5s) {
|
||||
} else if (_app.auto_detach && _process.native_exit_code() == 0 && std::chrono::steady_clock::now() - _app_launch_time < 5s) {
|
||||
BOOST_LOG(info) << "App exited gracefully within 5 seconds of launch. Treating the app as a detached command."sv;
|
||||
BOOST_LOG(info) << "Adjust this behavior in the Applications tab or apps.json if this is not what you want."sv;
|
||||
placebo = true;
|
||||
|
||||
+1
-2
@@ -1289,8 +1289,7 @@ namespace rtsp_stream {
|
||||
|
||||
// Check that any required encryption is enabled
|
||||
auto encryption_mode = net::encryption_mode_for_address(sock.remote_endpoint().address());
|
||||
if (encryption_mode == config::ENCRYPTION_MODE_MANDATORY &&
|
||||
(config.encryptionFlagsEnabled & (SS_ENC_VIDEO | SS_ENC_AUDIO)) != (SS_ENC_VIDEO | SS_ENC_AUDIO)) {
|
||||
if (encryption_mode == config::ENCRYPTION_MODE_MANDATORY && (config.encryptionFlagsEnabled & (SS_ENC_VIDEO | SS_ENC_AUDIO)) != (SS_ENC_VIDEO | SS_ENC_AUDIO)) {
|
||||
BOOST_LOG(error) << "Rejecting client that cannot comply with mandatory encryption requirement"sv;
|
||||
|
||||
respond(sock, session, &option, 403, "Forbidden", req->sequenceNumber, {});
|
||||
|
||||
+2
-4
@@ -1711,13 +1711,11 @@ namespace stream {
|
||||
session->video.cipher->encrypt(std::string_view {(char *) inspect, (size_t) blocksize}, prefix->tag, (uint8_t *) inspect, &iv);
|
||||
}
|
||||
|
||||
if (x - next_shard_to_send + 1 >= send_batch_size ||
|
||||
x + 1 == shards.size()) {
|
||||
if (x - next_shard_to_send + 1 >= send_batch_size || x + 1 == shards.size()) {
|
||||
// Do pacing within the frame.
|
||||
// Also trigger pacing before the first send_batch() of the frame
|
||||
// to account for the last send_batch() of the previous frame.
|
||||
if (ratecontrol_group_packets_sent >= ratecontrol_packets_in_1ms ||
|
||||
ratecontrol_frame_packets_sent == 0) {
|
||||
if (ratecontrol_group_packets_sent >= ratecontrol_packets_in_1ms || ratecontrol_frame_packets_sent == 0) {
|
||||
auto due = ratecontrol_frame_start +
|
||||
std::chrono::duration_cast<std::chrono::nanoseconds>(1ms) *
|
||||
ratecontrol_frame_packets_sent / ratecontrol_packets_in_1ms;
|
||||
|
||||
+6
-14
@@ -3138,9 +3138,7 @@ namespace video {
|
||||
|
||||
auto encoder_codec_name = encoder.codec_from_config(config).name;
|
||||
|
||||
if ((encoder.flags & YUV444_SUPPORT) &&
|
||||
disp->is_codec_supported(encoder_codec_name, config) &&
|
||||
validate_config(disp, encoder, config) >= 0) {
|
||||
if ((encoder.flags & YUV444_SUPPORT) && disp->is_codec_supported(encoder_codec_name, config) && validate_config(disp, encoder, config) >= 0) {
|
||||
flag_map[encoder_t::YUV444] = true;
|
||||
} else {
|
||||
flag_map[encoder_t::YUV444] = false;
|
||||
@@ -3180,9 +3178,7 @@ namespace video {
|
||||
|
||||
auto encoder_codec_name = encoder.codec_from_config(config).name;
|
||||
|
||||
if ((encoder.flags & YUV444_SUPPORT) &&
|
||||
disp->is_codec_supported(encoder_codec_name, config) &&
|
||||
validate_config(disp, encoder, config) >= 0) {
|
||||
if ((encoder.flags & YUV444_SUPPORT) && disp->is_codec_supported(encoder_codec_name, config) && validate_config(disp, encoder, config) >= 0) {
|
||||
flag_map[encoder_t::DYNAMIC_RANGE_YUV444] = true;
|
||||
} else {
|
||||
flag_map[encoder_t::DYNAMIC_RANGE_YUV444] = false;
|
||||
@@ -3312,29 +3308,25 @@ namespace video {
|
||||
}
|
||||
|
||||
// Skip it if it doesn't support the specified codec at all
|
||||
if ((active_hevc_mode >= 2 && !encoder->hevc[encoder_t::PASSED]) ||
|
||||
(active_av1_mode >= 2 && !encoder->av1[encoder_t::PASSED])) {
|
||||
if ((active_hevc_mode >= 2 && !encoder->hevc[encoder_t::PASSED]) || (active_av1_mode >= 2 && !encoder->av1[encoder_t::PASSED])) {
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Skip it if it doesn't support HDR on the specified codec
|
||||
if ((active_hevc_mode == 5 && !encoder->hevc[encoder_t::DYNAMIC_RANGE] && !encoder->hevc[encoder_t::DYNAMIC_RANGE_YUV444]) ||
|
||||
(active_av1_mode == 5 && !encoder->av1[encoder_t::DYNAMIC_RANGE] && !encoder->av1[encoder_t::DYNAMIC_RANGE_YUV444])) {
|
||||
if ((active_hevc_mode == 5 && !encoder->hevc[encoder_t::DYNAMIC_RANGE] && !encoder->hevc[encoder_t::DYNAMIC_RANGE_YUV444]) || (active_av1_mode == 5 && !encoder->av1[encoder_t::DYNAMIC_RANGE] && !encoder->av1[encoder_t::DYNAMIC_RANGE_YUV444])) {
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Skip it if it doesn't support HDR on the specified codec
|
||||
if ((active_hevc_mode == 4 && !encoder->hevc[encoder_t::DYNAMIC_RANGE_YUV444]) ||
|
||||
(active_av1_mode == 4 && !encoder->av1[encoder_t::DYNAMIC_RANGE_YUV444])) {
|
||||
if ((active_hevc_mode == 4 && !encoder->hevc[encoder_t::DYNAMIC_RANGE_YUV444]) || (active_av1_mode == 4 && !encoder->av1[encoder_t::DYNAMIC_RANGE_YUV444])) {
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Skip it if it doesn't support HDR on the specified codec
|
||||
if ((active_hevc_mode == 3 && !encoder->hevc[encoder_t::DYNAMIC_RANGE]) ||
|
||||
(active_av1_mode == 3 && !encoder->av1[encoder_t::DYNAMIC_RANGE])) {
|
||||
if ((active_hevc_mode == 3 && !encoder->hevc[encoder_t::DYNAMIC_RANGE]) || (active_av1_mode == 3 && !encoder->av1[encoder_t::DYNAMIC_RANGE])) {
|
||||
pos++;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -61,8 +61,7 @@ namespace log_checker {
|
||||
|
||||
for (std::string line; std::getline(input, line);) {
|
||||
line = remove_timestamp_prefix(line);
|
||||
if (line.size() >= end_str.size() &&
|
||||
line.compare(line.size() - end_str.size(), end_str.size(), end_str) == 0) {
|
||||
if (line.size() >= end_str.size() && line.compare(line.size() - end_str.size(), end_str.size(), end_str) == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+1
-1
Submodule third-party/lizardbyte-common updated: 06cd442b80...011ad2bb13
@@ -285,8 +285,7 @@ VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv) {
|
||||
case WAIT_OBJECT_0:
|
||||
// The service is shutting down, so try to gracefully terminate Sunshine.exe.
|
||||
// If it doesn't terminate in 20 seconds, we will forcefully terminate it.
|
||||
if (!RunTerminationHelper(console_token, process_info.dwProcessId) ||
|
||||
WaitForSingleObject(process_info.hProcess, 20000) != WAIT_OBJECT_0) {
|
||||
if (!RunTerminationHelper(console_token, process_info.dwProcessId) || WaitForSingleObject(process_info.hProcess, 20000) != WAIT_OBJECT_0) {
|
||||
// If it won't terminate gracefully, kill it now
|
||||
TerminateProcess(process_info.hProcess, ERROR_PROCESS_ABORTED);
|
||||
}
|
||||
|
||||
@@ -101,27 +101,27 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "clang-format"
|
||||
version = "21.1.8"
|
||||
version = "22.1.8"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/29/ed/019e682e9f8a5a5abf4258b293453092ef9524b540ada591ccfdff1246df/clang_format-21.1.8.tar.gz", hash = "sha256:99369fe76526ba6be6d7a8093fee6cd266bbf5ce72597a0d79a4ce9a625b28cf", size = 11509, upload-time = "2025-12-16T20:34:33.065Z" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/bd/55/b48aba45ba2638a706df1680e3dcdf96f94aed8e884886192d411d7a0071/clang_format-22.1.8.tar.gz", hash = "sha256:61a23f4fc0ad1932e1b0300ca451108bf1e751eb89f478062d87f888db9190e6", size = 11508, upload-time = "2026-07-11T14:08:34.542Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/17/1d/4b1d85acb99a2ee3bad0b20cc3e82c58fbfb39bf4dd5856ac1f2c4f36e65/clang_format-21.1.8-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:f447091c346027a09728a0a96128fe058419fe06cf200ccc3dc98bcd4399e351", size = 1465604, upload-time = "2025-12-16T20:34:03.955Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/84/38/a61466227a8a6bf22c583f7bd810e75c9a356cfc63c6a712a201103a4ad3/clang_format-21.1.8-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:9a78fabba6b382866819b42a7b220d235a3baf6128a40fb7bd590c037f69879b", size = 1459014, upload-time = "2025-12-16T20:34:05.929Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ab/5d/6720c895c5cfc01831fac55ecf849f10d03d6222700909af14f6047c933b/clang_format-21.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c2a044953efab5f7d0261f3a76aabc01358592faac1b73af38d8c83db6e91a69", size = 1725482, upload-time = "2025-12-16T20:34:07.525Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/54/0d/074b940884ced1b5c93e2e7fc8a941673519a938e7f31aeade321e3ab094/clang_format-21.1.8-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:143d2dffa71058d05ac5ad71321682e23d638bce22c8f2e3d01ed457d841a5f3", size = 1856680, upload-time = "2025-12-16T20:34:09.987Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/34/d5/46e22ae8c4385a7836db7403ced63ea8056c971cbb806bf0c6f0d2133acc/clang_format-21.1.8-py2.py3-none-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6a4b61a743dad5afc5e60be0c5c8f162f6cf27fff9eed56ec0bf65c2bcbd8a8d", size = 2031282, upload-time = "2025-12-16T20:34:11.565Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/e0/2a/cad75567c312d945cc26aaee7e1b7135703fed9c7e7ad15c427bf6ad7a84/clang_format-21.1.8-py2.py3-none-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:94de66c5eeca1270825348687d384750d91f1d8d12216b2df0aea892859be33a", size = 2047763, upload-time = "2025-12-16T20:34:13.175Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/a8/c2/403e7371b1ab0f6175d708ecc93cf18085ea9f903e8fe7d17c43df698f06/clang_format-21.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d12b864b596b80810cdd7f97556c485dc09cfe2952503958535f01359e025fbb", size = 1804755, upload-time = "2025-12-16T20:34:14.813Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/76/33/9e7db5fc4abefb25022d266957f666bfc263ae3e51abdd2c997d2880ceee/clang_format-21.1.8-py2.py3-none-manylinux_2_31_armv7l.whl", hash = "sha256:b81f1e909f5e7ef862a7818dc22b302a3ff407f3534e3395aa7ba26746cc890e", size = 1643208, upload-time = "2025-12-16T20:34:16.898Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/aa/9f/43f4e384cb8943418f94943f682835f375f15b9cc64c526d73a7360f2b2f/clang_format-21.1.8-py2.py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e10a5dca18a04997ad55c082bc0759edc7e337b24a2373ded109634fde12662a", size = 2701696, upload-time = "2025-12-16T20:34:19.043Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5d/6a/378187d72a465cebd3dbf7cd455e33b4931daa33e815b7865e6e65591a72/clang_format-21.1.8-py2.py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:10f7d7004d70b5e03fd3f764fc19fae89cd38d68b3482162cb09cac47c12c7b0", size = 2481266, upload-time = "2025-12-16T20:34:20.336Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/99/eb/2332edb1846d6832932191a590203a53ec69f585e718b51796335a1dcb6e/clang_format-21.1.8-py2.py3-none-musllinux_1_2_i686.whl", hash = "sha256:303d5fd53090422119136b1a458e98db429dedd5db0add50e70f885f8c95d82a", size = 2954000, upload-time = "2025-12-16T20:34:21.739Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/7b/b5/eed5c95521b77d3cde024c3a23c7a80c46e78aa5b5a81c5cf935e7267588/clang_format-21.1.8-py2.py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:6b9e0b45cfaf4a18336a6db4666dd6a6aae840e38b038e6d568a65f43ade007c", size = 3076720, upload-time = "2025-12-16T20:34:23.139Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/14/55/7527fbe31423a1bb53653c2a2b20aa34a73ec33b99199bceaec0f5907295/clang_format-21.1.8-py2.py3-none-musllinux_1_2_s390x.whl", hash = "sha256:4dd0fee9eaee9915ba7fa08e60ee9ddfba1f754d10d71164482d9eb387c431f0", size = 3160892, upload-time = "2025-12-16T20:34:24.618Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/53/61/1623382bc78ef139c196473a5c76b840a071c9002cb5cd2694ac50327db9/clang_format-21.1.8-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:9731aecf954651004f184347d0c589d4e91a39ccda21262ee17c60f80a4408b2", size = 2812487, upload-time = "2025-12-16T20:34:26.505Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/53/e1/74f2000d44e4904472e5685afb98d19566c515026214733f02bbdc73d6d8/clang_format-21.1.8-py2.py3-none-win32.whl", hash = "sha256:2f5883ca83f718d8c2272e98b3cbda422fec520824b5a1e335c631dc6d812da7", size = 1271310, upload-time = "2025-12-16T20:34:28.179Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/69/7a/c49c8af9135c6a6dfb9cd103328ba7b6551643dce71b57e58ea940884015/clang_format-21.1.8-py2.py3-none-win_amd64.whl", hash = "sha256:a7606da55e31ebf5b63dd75800392e6cca7c595a74100c2cebcda2d742130732", size = 1426467, upload-time = "2025-12-16T20:34:29.805Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ad/d3/8790b539afb6cb0d4474705d3750e78a1f0847ab6d3ef1b00dd1ae52f364/clang_format-21.1.8-py2.py3-none-win_arm64.whl", hash = "sha256:1aa10b3f647268361d08bf4f17ce70964b8d9c04d5539e7d8acbebd14dc4a49c", size = 1327254, upload-time = "2025-12-16T20:34:31.579Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5d/d8/29b9db6098da1a011ca3f7560c3942fa81404dbbb4367c3bd1d5c435da3b/clang_format-22.1.8-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:fc2ac5bd0ea41af49968fb69426207806d5f7016cb8f4bfbd44f4f1ffe8d53f2", size = 1492639, upload-time = "2026-07-11T14:08:10.531Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/2e/55/539cc1036dae16659f50500ca34838cc5b16cd3e98e3faaf164186b98093/clang_format-22.1.8-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:d1147107222c0dda3e4869e9e8c4a79f9ed1de83819e5274de42b82adf3d2129", size = 1482323, upload-time = "2026-07-11T14:08:12.076Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/50/25/a9734da014eecc1f54c051ad643a28f2f6643dcc812ac59320e80e2b1a3b/clang_format-22.1.8-py2.py3-none-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48c3b8dcfe9d4e964ced0e744e0f1f8ddc711bce92e50f6cab21e10f54857d08", size = 1757825, upload-time = "2026-07-11T14:08:13.397Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5d/19/76bf4dfba7d418f3da4fe89ace66856abd79c8c314e750d5f0fb754de6f5/clang_format-22.1.8-py2.py3-none-manylinux_2_26_i686.manylinux_2_28_i686.whl", hash = "sha256:07312f8a74bda89b6ce32fae46c589cd7bb210a5d3fb2829a70e28ff449f5b80", size = 1888650, upload-time = "2026-07-11T14:08:14.722Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/5c/b0/25fb71006b581c4e1dc4680b61c61842836dd1adb860e02f898deed8a919/clang_format-22.1.8-py2.py3-none-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6d7382dd728431c0cecf3c7db6ac0904e162c7c18889696ab8dc0630ff9349b", size = 2070288, upload-time = "2026-07-11T14:08:15.98Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/36/94/f7c185f2f7c9cbd60878a260a2a03cc4eef0b9b9fbe8eb5045fa9b5ccbe9/clang_format-22.1.8-py2.py3-none-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7763ce0f45b5ff0b5ca7a830d6061ce431dcb644211f9b2bb483bfa66d6c78ca", size = 2101885, upload-time = "2026-07-11T14:08:17.329Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/e5/88/b82c066fa807da4ca2518fecf79071361f6324b77375e5e92c059c0697fd/clang_format-22.1.8-py2.py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b00cff6bfd1f1686f073a4fdf1cb937dbd58bf7510c659477805c03afdea0816", size = 1841177, upload-time = "2026-07-11T14:08:18.828Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/03/7c/996fc84930d96db84418fbd16d3935ba77f42f9078d7610e4eae3e0e9294/clang_format-22.1.8-py2.py3-none-manylinux_2_31_armv7l.whl", hash = "sha256:396f66b2237131ae7c5c9a9c34d50b1b9bee60ec6754e8b0dcb943850c747aa6", size = 1684807, upload-time = "2026-07-11T14:08:20.092Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/1b/42/423de2ddedd3e068f7b773d7a4a593266692bc6108a2dd8ad4403d2ae718/clang_format-22.1.8-py2.py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:02ff8ad2e6a60554cc6b9b34310f71adb04da39e94302e08e3a655b77e4dd31c", size = 2736272, upload-time = "2026-07-11T14:08:21.625Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/c1/6b/fbb98122d35333012d47186d669c1bb9a1cb527faa9a4a12c43124662f8f/clang_format-22.1.8-py2.py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:8fc6139349a64f82d24396c815f5584f56da8912482dceadd9e5d7a3f8c17d6c", size = 2515477, upload-time = "2026-07-11T14:08:23.166Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/40/99/a5e00402fe8281754df679a1028132a28ea0c0024d363509d9c29944ab85/clang_format-22.1.8-py2.py3-none-musllinux_1_2_i686.whl", hash = "sha256:65df71f1eab12de161b9059483be55cb72490ec7fc7ca4915b5de49722a76a46", size = 2986602, upload-time = "2026-07-11T14:08:24.679Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/ac/f7/4a02e8f7d54f71c7ee4ce48c35cbe8f2be1afb1fbbca543f8db43f56a959/clang_format-22.1.8-py2.py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:0223471f781647d476ce0e09a0512521043343313e42932d900f97a15eacb510", size = 3120341, upload-time = "2026-07-11T14:08:26.234Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/84/05/6bd5e7bea1679dbed37a94a3b47d2ef0110792f64fd5761b2301d5b34fd2/clang_format-22.1.8-py2.py3-none-musllinux_1_2_s390x.whl", hash = "sha256:41e00922840376f8d1239db8fb5bc6b1d313bd09752344a85b0f8071112e5c7e", size = 3217448, upload-time = "2026-07-11T14:08:27.799Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/56/e3/3fcba146f12b9fbad24034136718d113dfacac03b1cf8273b2aa7bd641b0/clang_format-22.1.8-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:734d22be5c9d3a72a841444817aae8168c8f4bdccb08de491f05673e42ec7304", size = 2848689, upload-time = "2026-07-11T14:08:29.283Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/2e/2b/5a7f2fba71179331b51bb547a02808a56aa515f8637adf035fd34c1d3b0b/clang_format-22.1.8-py2.py3-none-win32.whl", hash = "sha256:a796192453ae56c61e975fc56ee7defb4187013fc3de798cbe608cfe326762aa", size = 1298699, upload-time = "2026-07-11T14:08:30.63Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/08/60/c6783b3190a8f741107a44912a11c39c1a51e254e86a4c43cb0151cea0dd/clang_format-22.1.8-py2.py3-none-win_amd64.whl", hash = "sha256:5fe6ad3e9399d589aff5ead432568a84cdcbbd621f1708340819efd74cbf8176", size = 1465069, upload-time = "2026-07-11T14:08:31.935Z" },
|
||||
{ url = "https://files.pythonhosted.org/packages/43/ca/7e1fa4a6044c37c37356bb18fc938d2811754231e448aaffc192dc3774ce/clang_format-22.1.8-py2.py3-none-win_arm64.whl", hash = "sha256:1fac18f32426c6fd7acde7087511bd80e2c549b2cd7477099582c216ae82fa63", size = 1344986, upload-time = "2026-07-11T14:08:33.183Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -302,7 +302,7 @@ c = [
|
||||
[package.metadata]
|
||||
requires-dist = [
|
||||
{ name = "babel", marker = "extra == 'locale'", specifier = "==2.18.0" },
|
||||
{ name = "clang-format", marker = "extra == 'lint-c'", specifier = "==21.1.8" },
|
||||
{ name = "clang-format", marker = "extra == 'lint-c'", specifier = "==22.1.8" },
|
||||
{ name = "cmakelang", marker = "extra == 'lint-c'", specifier = "==0.6.13" },
|
||||
{ name = "flake8", marker = "extra == 'lint-python'", specifier = "==7.3.0" },
|
||||
{ name = "gcovr", marker = "extra == 'test-c'", specifier = "==8.6" },
|
||||
@@ -312,7 +312,7 @@ requires-dist = [
|
||||
{ name = "lizardbyte-common", extras = ["locale"], marker = "extra == 'c'" },
|
||||
{ name = "lizardbyte-common", extras = ["test-c"], marker = "extra == 'c'" },
|
||||
{ name = "lizardbyte-common", extras = ["test-python"], marker = "extra == 'dev'" },
|
||||
{ name = "pytest", marker = "extra == 'test-python'", specifier = "==9.0.3" },
|
||||
{ name = "pytest", marker = "extra == 'test-python'", specifier = "==9.1.1" },
|
||||
{ name = "pytest-cov", marker = "extra == 'test-python'", specifier = "==7.1.0" },
|
||||
]
|
||||
provides-extras = ["dev", "c", "lint-c", "lint-python", "locale", "test-c", "test-python"]
|
||||
@@ -320,28 +320,28 @@ provides-extras = ["dev", "c", "lint-c", "lint-python", "locale", "test-c", "tes
|
||||
[package.metadata.requires-dev]
|
||||
c = [
|
||||
{ name = "babel", specifier = "==2.18.0" },
|
||||
{ name = "clang-format", specifier = "==21.1.8" },
|
||||
{ name = "clang-format", specifier = "==22.1.8" },
|
||||
{ name = "cmakelang", specifier = "==0.6.13" },
|
||||
{ name = "gcovr", specifier = "==8.6" },
|
||||
]
|
||||
dev = [
|
||||
{ name = "babel", specifier = "==2.18.0" },
|
||||
{ name = "clang-format", specifier = "==21.1.8" },
|
||||
{ name = "clang-format", specifier = "==22.1.8" },
|
||||
{ name = "cmakelang", specifier = "==0.6.13" },
|
||||
{ name = "flake8", specifier = "==7.3.0" },
|
||||
{ name = "gcovr", specifier = "==8.6" },
|
||||
{ name = "pytest", specifier = "==9.0.3" },
|
||||
{ name = "pytest", specifier = "==9.1.1" },
|
||||
{ name = "pytest-cov", specifier = "==7.1.0" },
|
||||
]
|
||||
lint-c = [
|
||||
{ name = "clang-format", specifier = "==21.1.8" },
|
||||
{ name = "clang-format", specifier = "==22.1.8" },
|
||||
{ name = "cmakelang", specifier = "==0.6.13" },
|
||||
]
|
||||
lint-python = [{ name = "flake8", specifier = "==7.3.0" }]
|
||||
locale = [{ name = "babel", specifier = "==2.18.0" }]
|
||||
test-c = [{ name = "gcovr", specifier = "==8.6" }]
|
||||
test-python = [
|
||||
{ name = "pytest", specifier = "==9.0.3" },
|
||||
{ name = "pytest", specifier = "==9.1.1" },
|
||||
{ name = "pytest-cov", specifier = "==7.1.0" },
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user