From patchwork Sat Mar 19 03:04:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 34851 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6838:3486:0:0:0:0 with SMTP id ek6csp3446nkb; Fri, 18 Mar 2022 20:04:32 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxogKeB2p1tB43z9tN6HYDE1+dPbxFWbLDgwo7gMHaW4hh/h7yjFoo3BTyP74zsdObL/R5J X-Received: by 2002:a17:906:39da:b0:6cf:7f09:a7bc with SMTP id i26-20020a17090639da00b006cf7f09a7bcmr12041575eje.457.1647659072511; Fri, 18 Mar 2022 20:04:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1647659072; cv=none; d=google.com; s=arc-20160816; b=QA0idXYWyKlLUT6mDiUxnjZGYImwuWuM8FhtmXxeflU0PPp5NRYOifGEC3lNqEs/M/ UfAFCBI/I5buT98XAmNDkm48gihlIZnrdUn8Gcdw7LYYzFm4zDc996jtNzCAP8plZuzJ YYRRUx/SQlwZ9EwX9PiX/l3iGgrrwB1wtrOL5GspeLg14Y1pGNzDW8WrvVziiooce0cn O1tNvB+Hu1wrNgKaTBEV3Pvs2MwbkYcWXGnCayAQ8fxRGMxqVrHJnlYJcDlAclMisTaE kFVuYr5Cs+9mKgfC6sQKVAvHJwyWGneFtqZJFt3h+BmNgyM22Scns3+tVYev69wNtI0t hK3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding: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=bW6ZkkmKY2+hFdE0l/NuAvqhDOK2GXHtX8gCBqf+4fI=; b=a+fP9NscVCHG+/KvXCVBXvmOMN4UWiyr/4EOSPTp6KVAnHD2KaO8/Hx1p5NUa5KeIF 8aOVSrdMdIc12wWTKaq0qVOekeOVwwVnFVk0IUMlv5tvFAxhepBdUCBGYN8nZCHwb6Eq dWmt1T2HOdAmnIu19JTKyf7IR/vlB/NPhTWZ4xlUY6Jh1LGfS8IFG7RYSxB2/gAuh553 yKAKmiqhA7e6L6otQAF7+ghq089nDqDbGLUgjVQ4j2U1HL3L69U6uV4prLQ2ifGUIwHu uVjU7S2Gd3BaLEk+byk56SRXvBVQa53ds2y3reAn7ggZ+YiuUl3+2s+Mp2fJz3p7OHA1 XyTA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=ZXnaf01t; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g7-20020a1709061e0700b006df8066e753si2277130ejj.625.2022.03.18.20.04.32; Fri, 18 Mar 2022 20:04:32 -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=@gmail.com header.s=20210112 header.b=ZXnaf01t; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 839F8680AE2; Sat, 19 Mar 2022 05:04:29 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f180.google.com (mail-oi1-f180.google.com [209.85.167.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 57B30680AE2 for ; Sat, 19 Mar 2022 05:04:23 +0200 (EET) Received: by mail-oi1-f180.google.com with SMTP id q129so8770466oif.4 for ; Fri, 18 Mar 2022 20:04:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=FVYs3gciveIEuncdtyAvUhTFgDB5fnDxgKv39DC/sZ0=; b=ZXnaf01tUQa5z6dpv1h7wsXoArw/sG2wKaHbKK2Ib1ceOq+0siHjGo1rEn7Smz6cPp FsSbMdKCXSnL/ztJ0NFOvCGhSutEy9Fhjx/5uosKz4mAwhd5VfeLB7LfIQng39uXx9V0 L4Fz/8Zh4zQSJEvZKoRiEOovRPukT0nzXh9mEAJYxnDdr17Lz53a0ORBzjAJNNtzLLlt YlYT5+1MddLuL40CkshVNRaLitN6VDO8jPYOeSoVZhEO1OhEtog0ycExm0TJ+U/t6mkS VARS6wysyPkpiG3xSnRA3pBho7ZNFiyrsylz1oTS6Sh1uzY+c8DY0+WG+bwys0dgT6dG 3AvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=FVYs3gciveIEuncdtyAvUhTFgDB5fnDxgKv39DC/sZ0=; b=OLysHxI4VTY40uJwWotB7lOSJvSUhCHlvRBuB080rn2LSH5aXr8blbFFNX7QrulVY3 hFrRTBbuRMTaFTfxIcWfwmQDst+Th28URPKqjRRCxap92B4ue2nDVldGe8azOEFJUp89 qxfM/Ny+AXwi/obdfyXpGLUI2tgD94INNrZHYPsROLqVkoczUW6qIL1zDXQWtARNf2Xv 9CmPc3IPzPECpmSxP9JbbaHnx2pYPGIu68XhnMbaALpwWUzxiccfMmGidHhh062UZG4j fwClVzHwvkhbMp2jlYKHJJJKnGxCs4v7iDbrgyqd8AZkNWi5C+zWyE3S03BvcaJR9Jnj Moow== X-Gm-Message-State: AOAM530ar7sFNgow7ciINeemH30JOHIZayjrCIrojyhr8WAwTlBBicNG bg6QpEeikANQeHnZ85xxv6WbByRMfkYwzw== X-Received: by 2002:a05:6808:8a:b0:2da:429f:8cd3 with SMTP id s10-20020a056808008a00b002da429f8cd3mr5460682oic.98.1647659061624; Fri, 18 Mar 2022 20:04:21 -0700 (PDT) Received: from localhost.localdomain ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id d12-20020a056871040c00b000d9eed0f8fdsm4191504oag.14.2022.03.18.20.04.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Mar 2022 20:04:21 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sat, 19 Mar 2022 00:04:07 -0300 Message-Id: <20220319030407.45503-1-jamrial@gmail.com> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/avcodec: don't uninitialize ch_layout in avcodec_close() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: FXZvpyp98Q2H The function is not meant to clear codec parameters, and the lavf demux code relies on this behavior. Regression since 327efa66331ebdc0087c6b656059a8df2f404019. Signed-off-by: James Almer --- libavcodec/avcodec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 38bdaad4fa..253c9f56cc 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -469,6 +469,7 @@ void avsubtitle_free(AVSubtitle *sub) av_cold int avcodec_close(AVCodecContext *avctx) { + AVChannelLayout ch_layout; int i; if (!avctx) @@ -524,7 +525,12 @@ av_cold int avcodec_close(AVCodecContext *avctx) if (avctx->priv_data && avctx->codec && avctx->codec->priv_class) av_opt_free(avctx->priv_data); + /* av_opt_free() will uninitialize avctx->ch_layout, but we want to keep it. + It will be uninitialized in avcodec_free_context() */ + ch_layout = avctx->ch_layout; + memset(&avctx->ch_layout, 0, sizeof(avctx->ch_layout)); av_opt_free(avctx); + avctx->ch_layout = ch_layout; av_freep(&avctx->priv_data); if (av_codec_is_encoder(avctx->codec)) { av_freep(&avctx->extradata);