From patchwork Fri Mar 19 18:13:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: 1160386205@qq.com X-Patchwork-Id: 26497 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id EA67144AEED for ; Fri, 19 Mar 2021 20:13:59 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CD63868A176; Fri, 19 Mar 2021 20:13:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-251-60.mail.qq.com [203.205.251.60]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F278C688179 for ; Fri, 19 Mar 2021 20:13:52 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1616177626; bh=dhkcatP9ZWBs0F8t/WNg2IeJ39tArIDp6WLBjTAK638=; h=From:To:Cc:Subject:Date; b=OUMhAOvsIpltWr3oner74Zxk8MnaV8V8WVzm93QwcPjmzbrAvDMUgaGAUglbofuER 4RlCXViMmmPmRok/T9Twcpaq5ShWvq/pRBCqWDmYoDt/w9USxFNXW8mcJtqfAdl9z0 4fVIzzNvPD2iiiEcD6lGdJc01OIEwBiddrZkOOLI= Received: from localhost.localdomain ([61.241.193.126]) by newxmesmtplogicsvrsza6.qq.com (NewEsmtp) with SMTP id 36D29815; Sat, 20 Mar 2021 02:13:45 +0800 X-QQ-mid: xmsmtpt1616177625tqukgvpla Message-ID: X-QQ-XMAILINFO: NyNxx65e36OKTpgsTeHExZsGgj/si374uDha/aJyZqprDZK3lGpBlhWUIboEHo X+1aW3ndFdlfY6Ayk4JdpfUlvAL9BuLD46WZBEyVeZlWgd2k0tfjsAJ4xBZxvqtNR74oWQVgRJ4y TqhyohXsH3crIKkFsyo4ONA4dUVyJGhvfXU1uSr0dcLY70DH3L0mB9YCi+p2IGfGqHXJvpGrqZ92 VWKVHrMEN0+WvIgapcH/KglEXSebg2EFixffrVvIgm75ecI7r3gTEF90Ihyek58FY/yoDEZtU700 i5VeW0rrVmdw4amMwf1cbTxzhlHRH2BMlGJQTibm39UCeLEssFNHqzslJGHePZDYoMQbGK5ZBn7F 0qmeifj2Ze4aPnnI0bvVpgdlQr0acS5wNNmzXfB4ClN/w6nbyXLajCKL37iErfMRYNdTNYqDoIXs NqqMvIBL5+6/XD+YBVi6WFMd+a+elVHR+f8y9lbczrP85blliaZlVmHhmksq982/FXOQGg5apbUl eGaL0zXZuFCiGy8+euNvjUBwFpG+VmDk/6PnyOWFYUbe533bRGCI73mggj7kAddTdTkoDoypw/d/ Xomb9Xo6LXb3BzdSpBtLOGAgGjArm3bBdsSXD33iEVdAedHZnGatqpGhaHzkptpcVuXGywJClYf5 YLEXeiWqBMM7/Q623O2ibo1XML6XBzycbtvqCzRx2ByiuQzom8veQ3ibBcYv8SrYWgvwPFox2CSG /5Y4Ivmlst4vkf9/04vIxezTsyWrxnAKxorsB95utqTa+SB12iqXObH/S+SwDzyF99HpMXLTlQUh MR1J6djWeRDkO/jsg6MuQ3 From: 1160386205@qq.com To: ffmpeg-devel@ffmpeg.org Date: Sat, 20 Mar 2021 02:13:10 +0800 X-OQ-MSGID: <20210319181310.109-1-1160386205@qq.com> X-Mailer: git-send-email 2.30.0.windows.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavdevice/gdigrab: fix capture window title contain non-ASCII chars X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: He Yang <1160386205@qq.com> Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: He Yang <1160386205@qq.com> Signed-off-by: He Yang <1160386205@qq.com> --- libavdevice/gdigrab.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c index 9b2c55fe90..ff4055c925 100644 --- a/libavdevice/gdigrab.c +++ b/libavdevice/gdigrab.c @@ -230,9 +230,10 @@ gdigrab_read_header(AVFormatContext *s1) HBITMAP hbmp = NULL; void *buffer = NULL; - const char *filename = s1->url; - const char *name = NULL; - AVStream *st = NULL; + const char *filename = s1->url; + const char *name = NULL; + const wchar_t *name_w = NULL; + AVStream *st = NULL; int bpp; int horzres; @@ -246,7 +247,17 @@ gdigrab_read_header(AVFormatContext *s1) if (!strncmp(filename, "title=", 6)) { name = filename + 6; - hwnd = FindWindow(NULL, name); + if(utf8towchar(name, &name_w)) { + ret = AVERROR(ENOMEM); + goto error; + } + if(!name_w) { + ret = AVERROR(EINVAL); + goto error; + } + hwnd = FindWindowW(NULL, name_w); + av_free(name_w); + name_w = NULL; if (!hwnd) { av_log(s1, AV_LOG_ERROR, "Can't find window '%s', aborting.\n", name);