From patchwork Fri Jun 16 07:27:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 42130 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c526:b0:117:ac03:c9de with SMTP id gm38csp1331937pzb; Fri, 16 Jun 2023 00:32:02 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7ChhGVpwiYRUbMX9kiEtjbW2AtP15FnxaWabY3YZu7N5ZzNMXHOBdLY6wZ+KUF4um73IdQ X-Received: by 2002:a17:907:3f18:b0:986:38ab:ef99 with SMTP id hq24-20020a1709073f1800b0098638abef99mr1002062ejc.9.1686900722313; Fri, 16 Jun 2023 00:32:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686900722; cv=none; d=google.com; s=arc-20160816; b=G+Lv+FMIYoim3/RxKUEvvRD4/iSrMV0jepV8tss+ZIcG80HlJ79J2boVjZcQFhSosq UIrwg8btOFkTo4iJgDjCX16TBqn1d7NPN9WBD/ckzTmr7BgjwzOQ8hFaOOEVG9KkJ0ll AYwmlcHLu0yhJTw2Kji6jMmCg+dyUQ9BCd7KPXeKAeRQqAkjIZ6mlp+9wA854jIgHvfU WjZ2nq+BAAH9lpilYGOXu27+6TlJuVy4jUdp39WJmKhBsuIDGK9GeeckQeSKv3Syn81h y591Fa+LAoWldNtgQRLnqCw72CQvlTc7inH9r1om5JIqBc+W3h3RzqSZN3VhjK/3cEtF nE6A== 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 :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=iLdRK72HwUOC5iQdWys1lWQOIUMikGLG2VibQ3U/1QU=; b=PnJFD1/iUi+mGv5xXxxfnMacjvW1jmLzmbSbtpGKDpCeXZhA4bnvlule791k9ysNsx L5wI1M4lN7WjiTyHX0K6MNnmvGAjY1waf5Vn3Ei3zqlPQQ3qXUeACDQBG8FPf4dN4lzO IuBKS8DsHbCYvrjgttiGbr07OUwJa59jEiQiIlH66219mB2cPn215wQmPjzX+e3PVhnQ eAaqpeo7oz/nuBA8HjU6LWJEjwgtgcUTkcvAZ8wgFwJNcNhkIApcajJf/kM08c8HeSO4 3HoK1hA45P/TvfHKkISKCtzL4Xz8Pcg97OFVRTGkES3dz1hmb++JCuwVf42wKQR9WVUs 4vNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=JtnSk1R4; 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 gt26-20020a170906f21a00b00982a16531c4si1799782ejb.773.2023.06.16.00.32.00; Fri, 16 Jun 2023 00:32:02 -0700 (PDT) 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; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=JtnSk1R4; 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 06D9C68C57D; Fri, 16 Jun 2023 10:31:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B10F168BE03 for ; Fri, 16 Jun 2023 10:31:49 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686900714; x=1718436714; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=CXdPbq0F/FXJGQiZ2nX5owrZVLwhBAKzm37PBP/OPtA=; b=JtnSk1R4qAvfFaE4SBJ9iMSWFXNdQXKsM+HzFeB66+TEbNngnpljqLif p/+U/Llws59P+u8Uxh6NFJsFF70cxjxr0Uz3uCd885XyJsPHltp12d0FB 5HPkGXIvD8A0oaWFxHKOnkRMlYckCzUzMQykglH3TYvmOCvUGArlUNPdO AyLcs8GRY+fvY4LdZFeojiehga8h+CobBxK3K8ZH5LgjkKyUBi5cNaSfq DwpcG5yZJ2mWUahjsSJX/FxVMwLNUFCz1r7JH5HFQbWWKFOfMoM5miEMw 7r0q6u14UfrD0KkG9h3D9nJjxejyIwv468wQI5r8V+S3jeWE323JxP4iD Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="356637380" X-IronPort-AV: E=Sophos;i="6.00,246,1681196400"; d="scan'208";a="356637380" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2023 00:31:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10742"; a="715908446" X-IronPort-AV: E=Sophos;i="6.00,246,1681196400"; d="scan'208";a="715908446" Received: from desktop-qn7n0nf.sh.intel.com (HELO localhost.localdomain) ([10.239.160.59]) by fmsmga007.fm.intel.com with ESMTP; 16 Jun 2023 00:31:39 -0700 From: Tong Wu To: ffmpeg-devel@ffmpeg.org Date: Fri, 16 Jun 2023 15:27:23 +0800 Message-ID: <20230616072723.1885-1-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/hwcontext_qsv: register free function for device_derive 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: , Reply-To: FFmpeg development discussions and patches Cc: Tong Wu , Wenbin Chen Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Yg8I4ZVQzCwi When qsv device is created by device_derive, the ctx->free function is not registered, causing potential memory leak because of not properly closing the MFX session. Signed-off-by: Tong Wu Signed-off-by: Wenbin Chen --- libavutil/hwcontext_qsv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 4ed4242ddf..713dc90ffd 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -2094,6 +2094,9 @@ static int qsv_device_derive(AVHWDeviceContext *ctx, AVDictionary *opts, int flags) { mfxIMPL impl; + + ctx->free = qsv_device_free; + impl = choose_implementation("hw_any", child_device_ctx->type); return qsv_device_derive_from_child(ctx, impl, child_device_ctx, flags);