mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-04-24 10:39:49 +09:00
Fix screenshot with region not working correctly for some sizes and possibly crashing
This commit is contained in:
@@ -221,16 +221,14 @@ static int gsr_capture_kms_start(gsr_capture *cap, gsr_capture_metadata *capture
|
||||
|
||||
if(self->params.output_resolution.x > 0 && self->params.output_resolution.y > 0) {
|
||||
self->params.output_resolution = scale_keep_aspect_ratio(self->capture_size, self->params.output_resolution);
|
||||
capture_metadata->width = FFALIGN(self->params.output_resolution.x, 2);
|
||||
capture_metadata->height = FFALIGN(self->params.output_resolution.y, 2);
|
||||
capture_metadata->width = self->params.output_resolution.x;
|
||||
capture_metadata->height = self->params.output_resolution.y;
|
||||
} else if(self->params.region_size.x > 0 && self->params.region_size.y > 0) {
|
||||
self->params.output_resolution = self->params.region_size;
|
||||
capture_metadata->width = FFALIGN(self->params.region_size.x, 2);
|
||||
capture_metadata->height = FFALIGN(self->params.region_size.y, 2);
|
||||
capture_metadata->width = self->params.region_size.x;
|
||||
capture_metadata->height = self->params.region_size.y;
|
||||
} else {
|
||||
self->params.output_resolution = self->capture_size;
|
||||
capture_metadata->width = FFALIGN(self->capture_size.x, 2);
|
||||
capture_metadata->height = FFALIGN(self->capture_size.y, 2);
|
||||
capture_metadata->width = self->capture_size.x;
|
||||
capture_metadata->height = self->capture_size.y;
|
||||
}
|
||||
|
||||
self->fast_path_failed = self->params.egl->gpu_info.vendor == GSR_GPU_VENDOR_AMD && !gl_driver_version_greater_than(&self->params.egl->gpu_info, 24, 0, 9);
|
||||
|
||||
Reference in New Issue
Block a user