From patchwork Tue Feb 5 02:11:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niki Bowe X-Patchwork-Id: 11974 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 7EFF94486E5 for ; Tue, 5 Feb 2019 04:11:59 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5FDBE68AD2D; Tue, 5 Feb 2019 04:11:59 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f194.google.com (mail-pl1-f194.google.com [209.85.214.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E05E868AD2B for ; Tue, 5 Feb 2019 04:11:52 +0200 (EET) Received: by mail-pl1-f194.google.com with SMTP id a14so805033plm.12 for ; Mon, 04 Feb 2019 18:11:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mMkIDHGcKOlou1+xzZTeQJbGo7+L7TcM9gqeO8gvsjc=; b=o0Nn87HQNjBH9kzdBJUINMsXrT0G9SDzDGo443THuWFe1D90m+NOg3JYvRLDXVqDvz QGpFVl0/AcbutNdOht6qkraMIlFOhpuD0IVXXeFntQpOhsNueiBM1Dkg3e/DQZRmy9He Oe0JIxZJ5w2rzSiHQxOwdaVYNcvKn2M7DoMnowEr36yevaUdJvSJkTdp5WCRqNZIV7AD TXeks8tX0KDhx9xaXbDOEFCgsfiBjGrcSIMzKDFJJfA4/+h3Po8c7PQeuemYlZ/OnLyY Ap8HAaDttbTLa6tPQEtf/Kn8vgD4fMRXfRj+0qLHmJW4WiXYaRlw1RsslybcxYDSc/kP B/oQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=mMkIDHGcKOlou1+xzZTeQJbGo7+L7TcM9gqeO8gvsjc=; b=U8UT8UVafWhbYHwxBM+vYyyGcv9z/+TYB3jePePkgreGqdJp0rJZzH3bBWpruvpoqF SMW9kdOMPDCjZaOtPr31ZHeK0JyJTSOpAvcaTczHhGR9y0dpc6jBmfcBvrJtTpN3DaX2 0sRhbq+LzX1yYfHiZEvxXNX0HjHEyPWe4fSm6xFaBLgIBACtFNodCe4sNQSt4Osqkm0t nf5mLKNWr8ewNiUh15DsnHS03hkZZ5uWbt2LC+GR1FY1mHBjWlBIPP5SxLTwkImygiZL KfWLZ1+3seF2Lax/9QQ+iBwZ9DpkFW0Y9AXbNPR1bg4eMTRvHBHJFu7867E8uUYPgu2O ejYA== X-Gm-Message-State: AHQUAuYnzjJHXLPDVs4K0jz3lwwnm8oIQS/ar7amB8H0xGgBcQe2zIU0 Umf6k2dVVQWtN2WeQ7PSaL/XekL3hEmQ1g== X-Google-Smtp-Source: AHgI3IbKpxw3DSn/62ydBLoLzYm+QIdDJkiHw4HnnEKQMvXJ9RK4COKtk19YeBVbRvZ74uKZtF8Sbg== X-Received: by 2002:a17:902:4d46:: with SMTP id o6mr2481782plh.302.1549332710354; Mon, 04 Feb 2019 18:11:50 -0800 (PST) Received: from nbowe.mtv.corp.google.com ([2620:0:1000:4011:fa9f:875c:58f2:5c3e]) by smtp.gmail.com with ESMTPSA id b10sm1853687pfj.183.2019.02.04.18.11.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 18:11:49 -0800 (PST) From: Nikolas Bowe To: ffmpeg-devel@ffmpeg.org Date: Mon, 4 Feb 2019 18:11:35 -0800 Message-Id: <20190205021135.221078-1-nbowe@google.com> X-Mailer: git-send-email 2.20.1.611.gfbb209baf1-goog MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/movenc: Fix muxing EAC3 with delay_moov X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Nikolas Bowe Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" When using delay_moov mov_write_moov_tag gets called multiple times. Therefore we need to keep eac3_priv around for subsequent calls. Signed-off-by: Nikolas Bowe --- libavformat/movenc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 65be2968a1..ba811ddbc3 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -579,7 +579,6 @@ static int mov_write_eac3_tag(AVIOContext *pb, MOVTrack *track) end: av_packet_unref(&info->pkt); - av_freep(&track->eac3_priv); return size; } @@ -5956,6 +5955,9 @@ static void mov_free(AVFormatContext *s) av_freep(&mov->tracks[i].vos_data); ff_mov_cenc_free(&mov->tracks[i].cenc); + + if (mov->tracks[i].eac3_priv) + av_freep(&mov->tracks[i].eac3_priv); } av_freep(&mov->tracks);