From patchwork Thu Feb 4 19:09:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 25405 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 BACB2448077 for ; Thu, 4 Feb 2021 21:11:06 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A56D968A791; Thu, 4 Feb 2021 21:11:06 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f173.google.com (mail-qk1-f173.google.com [209.85.222.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E328768A33F for ; Thu, 4 Feb 2021 21:11:03 +0200 (EET) Received: by mail-qk1-f173.google.com with SMTP id a12so4419518qkh.10 for ; Thu, 04 Feb 2021 11:11:03 -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=vYDZ2n4KqxB5Eoy08fM04FZI3Tnm5OXQvN8gYAKx9Rw=; b=a87ERa2pMM0oZe9elX972g5BoXsgkCwx60ZW2Iz3mjezIAqBBtyUZHR4FkIlpQrPe8 ovI+1+BpzxnxZ1OeYG33gRT4dEttxcNIkMsasW81wFDO7gBrQXxb2PbBMTUx8WzAr7xb gurUP6P7m5HinAl2xNHkXBOwnbDhQ10oUTY+lJMkYMYPg9CqcnQjB44XsrkwEsvHouCu 74jX78WH3O3VPSm2Br3mwevfbPATHBOLx3QX4xmUQvHflkTpCXUHvY5SfvTp+EnjTH4w VteKb8QmhT3cGXsAcToq9leVybaKACfI0/R6OgTiQ7RcDMoIcd0wnox6Ss/W46/i7Nlf rpbA== 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=vYDZ2n4KqxB5Eoy08fM04FZI3Tnm5OXQvN8gYAKx9Rw=; b=sG51YV75ik+msSBxD/1KoR35izbjY+PSYnj/fHNwxQE7acHKv1GGv8a2CUvS9fATSf vBQXDXVS/zRltleuEBsT4oQenC2nYJ14siXYWPo2HqRMjZ5PtOJ8PMkSOuadO/Of/xwi oLwRWUL9pmNiyWaRbiH2tA4yll0i1inLF2Ja39+G6ZY7P0IAtSUiKIpl4MKI4KpjYuaQ WAG66qh6eKyH8ZwzGStQ4Z6YbXeL+Eqlj4/xS2tpwbbTV1JDk9zZkRTSsZDjK7Lq+KSV bPxWLmNpYCFqeLwWSKtSm+KzMW5bHddo6slWPZcwYpzVj4Gv0qIomDiwooq8A7OVsTqz X+GA== X-Gm-Message-State: AOAM532+S+EGSPPDu8rTTrWt7G4UzAMnimajKldmIarrtZuicLeS40mN ACSnFzbL2C0H6asFlX5N+cF35g4Tn44= X-Google-Smtp-Source: ABdhPJwKky2mD+XJyrlLOIEqwpQqxKN8zKHVtwrGeh9HKekzzEMovofddrClcrcl7cQFNMbQv5wkeg== X-Received: by 2002:a05:620a:901:: with SMTP id v1mr605831qkv.331.1612465862488; Thu, 04 Feb 2021 11:11:02 -0800 (PST) Received: from localhost.localdomain ([181.23.64.183]) by smtp.gmail.com with ESMTPSA id t14sm5889291qkt.50.2021.02.04.11.11.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Feb 2021 11:11:01 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Thu, 4 Feb 2021 16:09:34 -0300 Message-Id: <20210204191005.48190-20-jamrial@gmail.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210204191005.48190-1-jamrial@gmail.com> References: <20210204191005.48190-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 19/50] avformat/flacdec: use av_packet_alloc() to allocate packets 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/flacdec.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c index 6aca4755a1..7852a79d39 100644 --- a/libavformat/flacdec.c +++ b/libavformat/flacdec.c @@ -259,7 +259,7 @@ static int flac_probe(const AVProbeData *p) static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit) { - AVPacket pkt; + AVPacket *pkt; AVStream *st = s->streams[stream_index]; AVCodecParserContext *parser; int ret; @@ -268,9 +268,12 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde if (avio_seek(s->pb, *ppos, SEEK_SET) < 0) return AV_NOPTS_VALUE; - av_init_packet(&pkt); + pkt = av_packet_alloc(); + if (!pkt) + return AV_NOPTS_VALUE; parser = av_parser_init(st->codecpar->codec_id); if (!parser){ + av_packet_free(&pkt); return AV_NOPTS_VALUE; } parser->flags |= PARSER_FLAG_USE_CODEC_TS; @@ -279,20 +282,20 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde uint8_t *data; int size; - ret = ff_raw_read_partial_packet(s, &pkt); + ret = ff_raw_read_partial_packet(s, pkt); if (ret < 0){ if (ret == AVERROR(EAGAIN)) continue; else { - av_packet_unref(&pkt); - av_assert1(!pkt.size); + av_packet_unref(pkt); + av_assert1(!pkt->size); } } av_parser_parse2(parser, st->internal->avctx, - &data, &size, pkt.data, pkt.size, - pkt.pts, pkt.dts, *ppos); + &data, &size, pkt->data, pkt->size, + pkt->pts, pkt->dts, *ppos); - av_packet_unref(&pkt); + av_packet_unref(pkt); if (size) { if (parser->pts != AV_NOPTS_VALUE){ // seeking may not have started from beginning of a frame @@ -304,6 +307,7 @@ static av_unused int64_t flac_read_timestamp(AVFormatContext *s, int stream_inde } else if (ret < 0) break; } + av_packet_free(&pkt); av_parser_close(parser); return pts; }