Compare commits

...

2 Commits
5.7.0 ... 5.7.1

Author SHA1 Message Date
dec05eba
037b215b44 5.7.1 2025-09-23 17:36:30 +02:00
dec05eba
8cf1a98c33 Codec resolution check: treat 0, 0 as no limit
Some devices such as Intel Xeon E3-1200 don't report max video
resolution. In such cases assume there is no limit and instead let
ffmepg (vaapi) fail when recording, if the resolution isn't supported.
2025-09-23 17:33:44 +02:00
4 changed files with 5 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
project('gpu-screen-recorder', ['c', 'cpp'], version : '5.7.0', default_options : ['warning_level=2'])
project('gpu-screen-recorder', ['c', 'cpp'], version : '5.7.1', default_options : ['warning_level=2'])
add_project_arguments('-Wshadow', language : ['c', 'cpp'])
if get_option('buildtype') == 'debug'

View File

@@ -1,7 +1,7 @@
[package]
name = "gpu-screen-recorder"
type = "executable"
version = "5.7.0"
version = "5.7.1"
platforms = ["posix"]
[config]

View File

@@ -87,7 +87,7 @@ static vec2i profile_entrypoint_get_max_resolution(VADisplay va_dpy, VAProfile p
.type = VAConfigAttribMaxPictureHeight,
}
};
if(vaGetConfigAttributes(va_dpy, profile, entrypoint, attribs, 2) != VA_STATUS_SUCCESS)
if(vaGetConfigAttributes(va_dpy, profile, entrypoint, attribs, 2) != VA_STATUS_SUCCESS || (attribs[0].value & VA_ATTRIB_NOT_SUPPORTED) || (attribs[1].value & VA_ATTRIB_NOT_SUPPORTED))
return (vec2i){0, 0};
return (vec2i){ attribs[0].value, attribs[1].value };

View File

@@ -2701,6 +2701,8 @@ static vec2i codec_get_max_resolution(gsr_video_codec video_codec, bool use_soft
}
static bool codec_supports_resolution(vec2i codec_max_resolution, vec2i capture_resolution) {
if(codec_max_resolution.x == 0 || codec_max_resolution.y == 0)
return true;
return codec_max_resolution.x >= capture_resolution.x && codec_max_resolution.y >= capture_resolution.y;
}