From patchwork Sun Dec 10 22:10:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lena X-Patchwork-Id: 45027 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:1225:b0:181:818d:5e7f with SMTP id v37csp2585588pzf; Sun, 10 Dec 2023 14:10:53 -0800 (PST) X-Google-Smtp-Source: AGHT+IEjV/Gm+VBIPYGkdj60ZVsdDGG+lpOswxVFqPu5O4g1xITdhFHD4Uyo2GFlOE3rOnQDZmW2 X-Received: by 2002:a17:906:2ccc:b0:a18:e5f5:7841 with SMTP id r12-20020a1709062ccc00b00a18e5f57841mr1563295ejr.32.1702246252923; Sun, 10 Dec 2023 14:10:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702246252; cv=none; d=google.com; s=arc-20160816; b=VSctEVaZJAJqpMM9uj4afI1W67zRxT5GSfsccwylpO7UrLZyYZuLZmqwhnqwHhI/CA nJ+oQWnVNJ2hlmhn4PO8dSsmLH9yVC2nT5LxSKlNiAV+JBthMxvwLc+RSmYpKOcpo6gR e5/4UQm8Typ/dazvOsUHo9uqDb3/mKRvPfJ2kJRzc44AT1eXkzGVaIyTbeCkCMdVyDzr zBsXOjgyz6xgW0uMBaaT1YJlD6eu0WiM47zFBn8S/+fuDdj1pN96NBslNMYOlmf8Jm+F i43/gBz92YPU/XJAYfiK4xFtrxWFSsc5/bcFyzpS9Ri9ICzw6+YrVWh2TEOOBHiB34sm YyEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to:from :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:content-language:to:user-agent :mime-version:date:message-id:delivered-to; bh=0r6tSZfTO0EHtV0wnIGQ59lOz5oDjmwNXxAl2Hxax8U=; fh=FKNGpbEUIro8MdbmX7cj0rIetVWWJL2KvKqm4jjh9a8=; b=Hb+0tS13rUzG61rkT15XoggpmE1zCM1ARop1v/+VtpTtMMFvS8iEG+kw8E4C0uGvOc Hy1RBVDW25Y0VBYGgQATYTjYprUIChskBKicyLxaNeUPyWsloTyPEJPgqLqeWtWLMdhq pGO5eiDWFjP7ACURHtfYpy0r7lRXEvRpsNx8ag7H7lA3QFpxc8XSa5pwomkjDIbVjlGr 3E8gSkpeu6Qs/8K2e2T6W5hCikXoFESITmtVLWtvLSP3wzaRi1Vlhdv8r0pDLKtoEewh ngWyahb8it6KtKmQt6rIyVGtDeKeTZJV1VhrpllPh6fNuB77E1Ig+LiKGnE6mHUgRsuN U3DA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g20-20020a170906349400b00a1f89b2786esi1600537ejb.635.2023.12.10.14.10.52; Sun, 10 Dec 2023 14:10:52 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 779E268D087; Mon, 11 Dec 2023 00:10:49 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from nihil.gay (nihil.gay [157.90.242.5]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5773A68D087 for ; Mon, 11 Dec 2023 00:10:42 +0200 (EET) Received: from [10.0.0.2] (host-79-54-140-248.retail.telecomitalia.it [79.54.140.248]) (Authenticated sender: lena@nihil.gay) by nihil.gay (Postfix) with ESMTPSA id CC1449C91B for ; Sun, 10 Dec 2023 22:10:41 +0000 (UTC) Message-ID: <719e708c-25a8-422d-8392-6a837b138fe3@nihil.gay> Date: Sun, 10 Dec 2023 23:10:41 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org Content-Language: en-US Subject: [FFmpeg-devel] [PATCH] gdigrab: Allow capturing a window by its handle X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Lena via ffmpeg-devel From: Lena Reply-To: FFmpeg development discussions and patches Cc: Lena Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: XNqb+v6cSCoT x11grab can capture windows by their ID, but gdigrab can only capture windows by their names, internally calling FindWindowW to lookup its handle. This patch simply allows the user to specify a window handle directly. Signed-off-by: Lena Signed-off-by: Lena --- libavdevice/gdigrab.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) } diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c index c069232472..05d3c0c929 100644 --- a/libavdevice/gdigrab.c +++ b/libavdevice/gdigrab.c @@ -273,9 +273,13 @@ gdigrab_read_header(AVFormatContext *s1) } } else if (!strcmp(filename, "desktop")) { hwnd = NULL; + } else if (!strncmp(filename, "hwnd=", 5)) { + name = filename + 5; + + hwnd = strtol(name, NULL, 0); } else { av_log(s1, AV_LOG_ERROR, - "Please use \"desktop\" or \"title=\" to specify your target.\n"); + "Please use \"desktop\", \"title=\" or \"hwnd=\" to specify your target.\n"); ret = AVERROR(EIO); goto error;