From patchwork Wed Nov 18 16:52:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 23705 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 DFA4344B913 for ; Wed, 18 Nov 2020 18:53:36 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C295468B654; Wed, 18 Nov 2020 18:53:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 05D0D68B648 for ; Wed, 18 Nov 2020 18:53:34 +0200 (EET) Received: by mail-qt1-f176.google.com with SMTP id p12so2092809qtp.7 for ; Wed, 18 Nov 2020 08:53:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=87OOKTza1oeGUdny26yfnYs8QB66fuF/qI/SPFM+vuI=; b=oXeUHrjANA08ylUzPoI/zQmgIlPn4iNfm8FDzwiPYRJ/51vI9U+INWFluuMIJkjEth rLlRpZ23qg/dO1By5ssMpDaak9REhhjhhXq0gC7Kj5+27Bb7EUqPmBuvVrhgQ/Tdo6Fv Ow4k/BSnX/owjYcZdixWHBa9e7S6nWZtK3q6oLTVBNlfWk4lm6cds+C2AEqpXseQL58J ewJQSNyNvM9wUsUEd2E1hLxF5ZXernluVvT1JMavnfXGPBsuSr+VRVXvskYqNqvp2j/o Ly/s2ZXvEyFsn18bQSDtVfok3Jk+81Ubam0+ZNrPHU0lkLmhaBDrt/oWrDAbf/wK8ply d5BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=87OOKTza1oeGUdny26yfnYs8QB66fuF/qI/SPFM+vuI=; b=VB7OVzcyvlPVrLDGWHgafNDeuE4FETW/t4R3daoCEss14OGXZvsScWpZ5AiyaVQQgw m3BRVtnZxNeEV8jEFvjY9KfVBxq0gWmFwPfMfsrMSUm3zCU8qg5ghxIs2pfVblng5nQm 8yVlUUH9s+kmNbdph7R/kozMdKjJqPN1NrVgHUlsoD/5QALHCNNnI+VHiwaf76JqGCwC ZZeUZGnjOngzlSuKDfpbfOZnubnQK5gf1Ef0CLw69s+QEJgfAxnhmYRPGpCDU1yOa4Bk ab98aXUQ3GiNMX3To1a36yQreMfYeOywWDkZNLDEFe4NHWFiThY7oN1xxbuFv83Vp7TL la3Q== X-Gm-Message-State: AOAM532rl1ZMosClMuJOmA3rT6bbO/n07choTC+kXu/35gN4C02ulGHP eahmWljYBF2IHOs3Emz1PAR/hygIeFPAIw== X-Google-Smtp-Source: ABdhPJxsIQir530rJiWvBTihfS/NHnt6CRhyW9HGGrOs/xX30o1E+O23sNikBhzLeAAJycs651ELlA== X-Received: by 2002:aed:31c5:: with SMTP id 63mr5698874qth.367.1605718413262; Wed, 18 Nov 2020 08:53:33 -0800 (PST) Received: from localhost.localdomain ([181.23.91.217]) by smtp.gmail.com with ESMTPSA id f14sm4863788qkk.89.2020.11.18.08.53.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Nov 2020 08:53:32 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 18 Nov 2020 13:52:44 -0300 Message-Id: <20201118165247.4130-16-jamrial@gmail.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201118165247.4130-1-jamrial@gmail.com> References: <20201118165247.4130-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 15/18] avformat/aiffenc: port to the new packet list API 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavformat/aiffenc.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/libavformat/aiffenc.c b/libavformat/aiffenc.c index 7c28109814..4fa77c21bf 100644 --- a/libavformat/aiffenc.c +++ b/libavformat/aiffenc.c @@ -37,7 +37,7 @@ typedef struct AIFFOutputContext { int64_t frames; int64_t ssnd; int audio_stream_idx; - PacketListEntry *pict_list, *pict_list_end; + AVPacketList *pict_list; int write_id3v2; int id3v2_version; } AIFFOutputContext; @@ -47,10 +47,10 @@ static int put_id3v2_tags(AVFormatContext *s, AIFFOutputContext *aiff) int ret; uint64_t pos, end, size; ID3v2EncContext id3v2 = { 0 }; + AVPacket pkt; AVIOContext *pb = s->pb; - PacketListEntry *pict_list = aiff->pict_list; - if (!s->metadata && !s->nb_chapters && !aiff->pict_list) + if (!s->metadata && !s->nb_chapters && av_packet_list_peek(aiff->pict_list, NULL, 0)) return 0; avio_wl32(pb, MKTAG('I', 'D', '3', ' ')); @@ -59,10 +59,11 @@ static int put_id3v2_tags(AVFormatContext *s, AIFFOutputContext *aiff) ff_id3v2_start(&id3v2, pb, aiff->id3v2_version, ID3v2_DEFAULT_MAGIC); ff_id3v2_write_metadata(s, &id3v2); - while (pict_list) { - if ((ret = ff_id3v2_write_apic(s, &id3v2, &pict_list->pkt)) < 0) + while (!av_packet_list_get(aiff->pict_list, &pkt, 0)) { + ret = ff_id3v2_write_apic(s, &id3v2, &pkt); + av_packet_unref(&pkt); + if (ret < 0) return ret; - pict_list = pict_list->next; } ff_id3v2_finish(&id3v2, pb, s->metadata_header_padding); @@ -119,6 +120,10 @@ static int aiff_write_header(AVFormatContext *s) return AVERROR(EINVAL); } + aiff->pict_list = av_packet_list_alloc(); + if (!aiff->pict_list) + return AVERROR(ENOMEM); + par = s->streams[aiff->audio_stream_idx]->codecpar; /* First verify if format is ok */ @@ -221,8 +226,7 @@ static int aiff_write_packet(AVFormatContext *s, AVPacket *pkt) if (s->streams[pkt->stream_index]->nb_frames >= 1) return 0; - return avpriv_packet_list_put(&aiff->pict_list, &aiff->pict_list_end, - pkt, av_packet_ref, 0); + return av_packet_list_put(aiff->pict_list, pkt, av_packet_ref, 0); } return 0; @@ -273,7 +277,7 @@ static void aiff_deinit(AVFormatContext *s) { AIFFOutputContext *aiff = s->priv_data; - avpriv_packet_list_free(&aiff->pict_list, &aiff->pict_list_end); + av_packet_list_free(&aiff->pict_list); } #define OFFSET(x) offsetof(AIFFOutputContext, x)