From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 5370041A45 for ; Sat, 19 Mar 2022 03:04:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 42FB768B03F; Sat, 19 Mar 2022 05:04:29 +0200 (EET) 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-Google-Smtp-Source: ABdhPJxZ4C9hAwFqhJ1gOJHb97FvIntSbLd2et/VqcrOtO2Dc/YOIfQKpvepgwGwL2FIjHHmw3ngNg== 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: 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); -- 2.35.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".