this message seems not attach to the mail successfully, manually loop it:
what the patch does:
fix gdigrab capture a window with hwnd shows "Invalid window
handle x, must be a vlid integer", althought a valid integer is
input
why:
line 284 of libavdevice/gdigrab.c, one of the condition leads to
check failed is p[0]='\0'. if a integer only string is process,
the p[0] after strtoull process will be null which equal to
'\0', otherwise, a non-integer string will make p[0] not null to
pass the check
how:
change p[0]=='\0' to p[0]!='\0' will works. no any side effect
reproduce and verify:
a simple command: ffmpeg -f gdigrab -i hwnd=12345
* althought a workaround command will work currently:
* ffmpeg -f gdigrab -i hwnd=12345x. (x could be any char)
________________________________
发件人: [email protected] <[email protected]>
发送时间: 2024年8月7日 15:58
收件人: [email protected] <[email protected]>
抄送: eaphone <[email protected]>
主题: [PATCH v1] libavdevice/gdigrab: change hwnd tail check fail logic to !=null
From: eaphone <[email protected]>
---
libavdevice/gdigrab.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c
index c91661c556..08a41c304b 100644
--- a/libavdevice/gdigrab.c
+++ b/libavdevice/gdigrab.c
@@ -281,7 +281,7 @@ gdigrab_read_header(AVFormatContext *s1)
hwnd = (HWND) strtoull(name, &p, 0);
- if (p == NULL || p == name || p[0] == '\0')
+ if (p == NULL || p == name || p[0] != '\0')
{
av_log(s1, AV_LOG_ERROR,
"Invalid window handle '%s', must be a valid integer.\n",
name);
--
2.45.2.windows.1
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".