From patchwork Fri Mar 18 17:29:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 34842 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp1965829nkb; Fri, 18 Mar 2022 10:29:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwFSQGNiweH4/gwGLtHB6gKpaDx/Ydxjto+T2S3VOablYsZZY0QrSoK0FgQLk7wMvmSQ3eL X-Received: by 2002:a17:906:a398:b0:6ce:71b:deff with SMTP id k24-20020a170906a39800b006ce071bdeffmr9912042ejz.204.1647624586211; Fri, 18 Mar 2022 10:29:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647624586; cv=none; d=google.com; s=arc-20160816; b=RmB34IFAFVKk9CTzbiG7+EFmWsFWE3LVP6DmIC5BMvGqvmeyE3MjjZA7/+pHjdQVM3 q1fZpy9fg7DcHyZyOq4/iHp26hAR4tYepTuwFJDX/+npDSvRR7ebm/ZxXY0TAPGPB3kJ jD0HXc9fIz9893anf1awGpi8Jf/KfmJexI3vkeXD94ELeBgCK4+mo26a0ZO4Jz7KL6LP q+f/whJPw9Str8Ic0PoU833dZf3Idx/IqcAholXmeQEJnndCDmtxqHlm8oMti3eMvPw7 2NyYTWW6N4X6uJfAlwM/G+Y8e1/JAWeFlonOsXG8kw/JzWg6Qad9Q4Me1Kwm2SYAA82/ hMbg== 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:date:to:from:message-id :dkim-signature:delivered-to; bh=RUXNhXJX+ITCh9Nl7iPUi7eDm8wM9eehQVhRbmv7LkA=; b=QqQXJlyani8TLz/7kS95ch+A3vUCabuV5MrWvh/E5En6jnBmEhNDdu9gCgFrJ/NV1u wiUErUkskTUz+Y3ixj6Nu7tEnN6SWV3i/s6P7UQ6Kr5KaaafU7pEikEJ/nloTMHsFi91 jUL2o9SLzc4elwuiupeZnLWLsWjV81CasOFxXHftvU+9xD2MVwa4aSWQTIepigZeV7aN EauueTtdpzRijr1Nced90LSabefFrtp3XImPdWccdD77o9caMtZlGKqOfZ42/dgIqgT4 aEwmbU49XcDytb0uexQI/cl/5TnD5ONlYAyynFOkFk0TIYwurC/Oj3Kj0YIdTwrOsv4x Stfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=FdZTW1T+; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id go14-20020a1709070d8e00b006df76385e83si1733377ejc.803.2022.03.18.10.29.42; Fri, 18 Mar 2022 10:29:46 -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=@foxmail.com header.s=s201512 header.b=FdZTW1T+; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 87AA0689EA6; Fri, 18 Mar 2022 19:29:37 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-153.mail.qq.com (out203-205-221-153.mail.qq.com [203.205.221.153]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F0EDB689EA6 for ; Fri, 18 Mar 2022 19:29:28 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1647624564; bh=HGiBt2d3ZyjeBl6hD8zjAoFLLacnf+DArfvO+LzrZ2E=; h=From:To:Cc:Subject:Date; b=FdZTW1T+s73ptZdeKZiU4i2mcrO/coh2apz6z1KSOvvm5yyTKvGJKr0HRGfJMdFWw BYNzSKsbY8fEbsrkb7T4U4QIMODbRp+3PcScF5OMIHx1urbMjHXJykH9CUdMOOKpkz 07PkQOXUxFOUpUCn0++SXYgLfL6bE82toXdGK7OU= Received: from ZHILIZHAO-MB2.tencent.com ([119.123.135.112]) by newxmesmtplogicsvrszc8.qq.com (NewEsmtp) with SMTP id 7570FA1D; Sat, 19 Mar 2022 01:29:23 +0800 X-QQ-mid: xmsmtpt1647624563tndwh63om Message-ID: X-QQ-XMAILINFO: NJ/+omVLhVgaxPg0IMxeTmN7xGe8WWjuSaSAFWvqyVcx914I5+TYP7nbTk+rDj DIydIkV7tSoeRcoAWVlG3pWZMYcm2ypXI4CMR0C31Uiv5KZPnMJ1Wy52oW8cRCAPzflcfUlqenN5 iXnE5zurRAGz+oUEPKsrzX4VvIra1lzOGGWqmjnlqsodYpdkk9ls9ssUyAk0WhEBVAJTr6TmTLHT TfQNQHGuik5dvZmyKaZlyYXEgNkQVYxE8CfCCDZdkn3BxWzV1N3159CZ2cRzP4KUwMf31hQqfR8W WEInPgU7m0oCAv0d+ixVcTEILM0Cn1Unpm666jKUvxVps1S9xFcIaFDA3nOKvTUofafPH094AYYE dFt8UGOkRk5LRi/qdOJstxfRV3SpfPCbtL0bTKCl4zYdQbrijLZ7zhvTPoY7W9lPypsocFZk5w0N MR+tAMZBkw2/XVSNcCXIF7iDoveMK/8nM1wAJ3vJJjDJ22f9gWtmLXHN4LEErHjMA1G2fjN8yOQV bdKLEcqiRD+KAo0QEVfv81LehJG42mDQheDzYKQ+LRvPvVJ+zHovuY5axTX+Vc2oKYX5O++eEIjt /mdPXA+R0QzJMUrKLan/Ybn3eAyH4qPyffiaLHuaKETeX1S65dVXhA4t9jWHHM9v3mLejg3zSVMk 7zlOLbAvjWPE27R0/MO+5yE9r1bldCwGt+YyXckdXCNm4ORI81cRAb//m/23AXg+xm2C9HinEiu7 B4Tb3KH8HbFjZJgyZBSGXpZkv9bO+GkAjRp6rehYfWdDERzIj3OheYewTUiRdYtZI1xBH7xu2qVH AS6NOUZIPx5r9x0PLovGZ2+shNxJusGmwhH1S3ycr/7ihNJc1O5SreNkZ1Jwzg6wuNCGPgc7wntw nIyQ42zVZGDEL2ful37hSJP3G/Ra66xg== From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 19 Mar 2022 01:29:20 +0800 X-OQ-MSGID: <20220318172920.72210-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avutil/hwcontext: don't assume device_uninit is reentrant 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: SesrTdXcK7Lq device_uninit will be called by hwdevice_ctx_free. It's not a real issue now since all of the implementaions have reentrant uninit, but it was, e.g., f6d49a0. We can remove the restriction, and make the code more simple. --- libavutil/hwcontext.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/libavutil/hwcontext.c b/libavutil/hwcontext.c index ab9ad3703e..8149f4e18b 100644 --- a/libavutil/hwcontext.c +++ b/libavutil/hwcontext.c @@ -201,18 +201,12 @@ fail: int av_hwdevice_ctx_init(AVBufferRef *ref) { AVHWDeviceContext *ctx = (AVHWDeviceContext*)ref->data; - int ret; + int ret = 0; if (ctx->internal->hw_type->device_init) { ret = ctx->internal->hw_type->device_init(ctx); - if (ret < 0) - goto fail; } - return 0; -fail: - if (ctx->internal->hw_type->device_uninit) - ctx->internal->hw_type->device_uninit(ctx); return ret; }