From patchwork Fri Sep 3 23:18:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29989 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1731627iov; Fri, 3 Sep 2021 16:19:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwS0Awv0fABmrWxlNHL+I8iM0QzGS+iAhgOX9kp5hD0KeZWIrslomhexIZuwVM2thtp7eEO X-Received: by 2002:a05:6402:1cb4:: with SMTP id cz20mr1455680edb.0.1630711142199; Fri, 03 Sep 2021 16:19:02 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j7si515272ejm.280.2021.09.03.16.19.01; Fri, 03 Sep 2021 16:19:02 -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=@outlook.com header.s=selector1 header.b="rDkDXrw/"; arc=fail (body hash mismatch); 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=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B952468A56C; Sat, 4 Sep 2021 02:18:45 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2036.outbound.protection.outlook.com [40.92.90.36]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 31B4268A538 for ; Sat, 4 Sep 2021 02:18:38 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gJdvPdAKbKccKzgC/0ieaj1ca//YNUWJpU4LpVDoooXG5icOO0FR6Ro+kx4tDex1hafH2l/zprLcG31F2fDiYfStJVmcmKWmpAAL44SgWZtTSRXo/rb/U7kbfrO/DQWHEPWDLRghtYSo6yR1qED4A7ec6RtnreFUgvtEY+rnoWn84oKjo0YlfVHqbJWdZ3DR0fjjW8YjtZMgGI2OPfYhzpV5LgHuDcGZzhHHbb03Gawxrrduaf9RShghLC+QE6QzV7gomXKQSJXxpUc5AnZHEbHYJFgwFF5YP6UH9QCLrc+QX2Ai85F+xAM/UIhPEaM/pxCpguYT/qaILH4JqqVT2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zlq2Rnrpft2pcuo9uTS8WzTGThAWHfN1YhleAI3Cj6o=; b=j3qpQZmyj9r9FrfpG1xRHrIw5lMD19GONv60Ka8kvWgOBUsezKwAx2HWjN0R/hjIICGDPQpwA/kFFVAp/ro1xjGA2swx6RFQtRM1vmr8QPsMIIuFa12ZLBa+UL5hNbmUSeDOu31DOtkUBbru+P21EjqIcWNFsl1gKmLPEkDBhKv6aKXDj3p/AmjOcX9hFKzRCr9oPgzdNOH9UnLLmQKx/3+QN72j9IyhsqKakQjAnV1lWc5kRl0BCnyDitwbQH0vrFoe10M66Xdwnt/P1kWvnRlbVJKwmtRc9n3fWRASDJq/ZGcLaW5t+JlYectmFkF9IiRDRX/JpfgMpWY2TH60/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zlq2Rnrpft2pcuo9uTS8WzTGThAWHfN1YhleAI3Cj6o=; b=rDkDXrw/dXZOU5jQM0VLXbezMvdfNLw4pYHC/El6ImVGtftsxoJAukW6EkjANAau3yYyX2ZaD5xco2bK4yNa/8D9IDMVoFBo6IPfBFb/DL9TUKd526FFL2FZeeDcXJ9dPW1ObgmMJD0rC6InaANjGeix59kpCeZFfY826iPmoz1TIFyP3V9LNVJMIKZ14UXriSrucpR5BhXCfLgmE2Dbu+yn8YLxgjC+g4gpX1cZoFrD+tCoZEedLKQiG6sDmkuR+OAHxGS82gnYZ2HWT8D+A2Ki2vQo1A40Jfg1Q2rU5qCqP6VunW60k1TttVFWex4jdZJBXe8FGT53KKqu9ugXtQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB3768.eurprd03.prod.outlook.com (2603:10a6:209:37::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Fri, 3 Sep 2021 23:18:32 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::787b:2156:ca99:fe00%3]) with mapi id 15.20.4478.022; Fri, 3 Sep 2021 23:18:32 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 4 Sep 2021 01:18:07 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [HVjoMS3B04iivoRweTUeqLBqDqxv2Ieu] X-ClientProxiedBy: AM0P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210903231813.3346446-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by AM0P190CA0016.EURP190.PROD.OUTLOOK.COM (2603:10a6:208:190::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Fri, 3 Sep 2021 23:18:32 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4d5655e6-3b48-4b7b-b562-08d96f312577 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiTW2Vzrq2cduMqp40Qh10aEg4HZQ6icyxatl3+fPS4i733FWOD6AzDuc3dz5UC0KmG59Wcj+GUPif7ETUhLPISm/rvZyjdCIX0l8/YkpI78n1+alOJux3npLDZSANdvi0q+RdgmF7qtZTrYS+SP/Oa0rGHSPVLFnYkmzOLpEtuBNwLQ0u47CbabKaraJkeV3j1wtsnnFnEmRlEKGeyOI98zuUom5130KlmIq4SLXpDm1FeaF63MdmjqXUj8i+FbhPp860dOWbVDRcAwYQWvIuGE/sXRsV2CjJfDDJjbNo0XSJfuYV9CNhr61kNGOo+3b+JFuPXbHkqe1OaeBfmcHvsSnCOWWZ41o3xnUsSOTlX3KtP0BcuAPDAIOmCyzdfoKNW+kyIWuZPbTC3glFQ2NTq97kEkTm5RR/cMygllR8sThvK4x3IchLiry2sKkqPk7PkI5KcV3CWQoG3ilTvJ6yV9G6m69G//Kp4zNYqkXuPhz/CGlZvZyIrisdFHQ/iupukk+UI9gHKkK+xP2C5w7WaExBxMpBBWhoZzdB7yBVSYD0ZdUjbznueffliZhxuPty0WLaQR/WKzvRC6oVEDQ5jgKq4kbGv71m2s6rVDqMMrKM80QZz4zmJD1haHGQqI23tbxcyCOJW7ZvTs4hZ/QztQLkKcMwmuUkDd3e/ka+n1ZksxEvFii8PeUUSHT8eonLpVdFYFKMMvnKKf4E6KHbNdfc3vtcQrdY93Azr1HLLDpXnPKIIMmwemN8AJH3NPHAE= X-MS-TrafficTypeDiagnostic: AM6PR03MB3768: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HOvI55wzepFW15pNkXkeNiaSGGStT+2rzT6KGbEtvvfdnF9t4Ojq3n+5yHBe9AUAGMgPKWOioqIdPHbvVZl9ryAzhy1EIb5tKilcA9k1qAKVR+EkRkRjIECtBqfy9bKtQsJRFLSm8mDBU9bDbb2qZFA8FR4PNONwBlWeS5OB15h83XyFP1jOTdG2DZCS21TcKwV1FDhvZEjJcBBlS/B5Z6iehGV1hGNquUZqQ26UtZTwgICfr9jbBiZ4nePWb6h+r4ZDcZEequ3DJz7ThmuZeKFWbPL7mdzvwZL4egYmFZq46OmmGFHO6fQBz1omAfC1gsZbwWuz58Plx1E6Pp5LhAh0DwybaNTQA3yr+Z2xdTotNwVb10e6X71P7ewi8XViC1TouDyjIRSEJBykH6DAJdGd48l0sEYTQWC54Z+lAJUPa/5Heb0zk4S+dbAknwlw X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Vp6hAsfkol3hMcml0aiBLEhKQXR8ceOV3g9iKToGtTUrNCiCr4orZ3sADDaF8m2Wtm5SvqGasIbSIDOr/SgNzIsSkk+91qmRn5F0vy6OqS42xNP0VfIjeKuxtg5PS2cnrmnUQ4nZ8DWIkzCdeMc52Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d5655e6-3b48-4b7b-b562-08d96f312577 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Sep 2021 23:18:32.4220 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB3768 Subject: [FFmpeg-devel] [PATCH 05/11] examples/remuxing: Don't use stack packet 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 6I95rE/Gjso1 Signed-off-by: Andreas Rheinhardt --- doc/examples/remuxing.c | 33 ++++++++++++++++++++------------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/doc/examples/remuxing.c b/doc/examples/remuxing.c index b23431567c..4e9354c535 100644 --- a/doc/examples/remuxing.c +++ b/doc/examples/remuxing.c @@ -47,7 +47,7 @@ int main(int argc, char **argv) { const AVOutputFormat *ofmt = NULL; AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL; - AVPacket pkt; + AVPacket *pkt = NULL; const char *in_filename, *out_filename; int ret, i; int stream_index = 0; @@ -65,6 +65,12 @@ int main(int argc, char **argv) in_filename = argv[1]; out_filename = argv[2]; + pkt = av_packet_alloc(); + if (!pkt) { + fprintf(stderr, "Could not allocate AVPacket\n"); + goto end; + } + if ((ret = avformat_open_input(&ifmt_ctx, in_filename, 0, 0)) < 0) { fprintf(stderr, "Could not open input file '%s'", in_filename); goto end; @@ -140,27 +146,27 @@ int main(int argc, char **argv) while (1) { AVStream *in_stream, *out_stream; - ret = av_read_frame(ifmt_ctx, &pkt); + ret = av_read_frame(ifmt_ctx, pkt); if (ret < 0) break; - in_stream = ifmt_ctx->streams[pkt.stream_index]; - if (pkt.stream_index >= stream_mapping_size || - stream_mapping[pkt.stream_index] < 0) { - av_packet_unref(&pkt); + in_stream = ifmt_ctx->streams[pkt->stream_index]; + if (pkt->stream_index >= stream_mapping_size || + stream_mapping[pkt->stream_index] < 0) { + av_packet_unref(pkt); continue; } - pkt.stream_index = stream_mapping[pkt.stream_index]; - out_stream = ofmt_ctx->streams[pkt.stream_index]; - log_packet(ifmt_ctx, &pkt, "in"); + pkt->stream_index = stream_mapping[pkt->stream_index]; + out_stream = ofmt_ctx->streams[pkt->stream_index]; + log_packet(ifmt_ctx, pkt, "in"); /* copy packet */ - av_packet_rescale_ts(&pkt, in_stream->time_base, out_stream->time_base); - pkt.pos = -1; - log_packet(ofmt_ctx, &pkt, "out"); + av_packet_rescale_ts(pkt, in_stream->time_base, out_stream->time_base); + pkt->pos = -1; + log_packet(ofmt_ctx, pkt, "out"); - ret = av_interleaved_write_frame(ofmt_ctx, &pkt); + ret = av_interleaved_write_frame(ofmt_ctx, pkt); /* pkt is now blank (av_interleaved_write_frame() takes ownership of * its contents and resets pkt), so that no unreferencing is necessary. * This would be different if one used av_write_frame(). */ @@ -172,6 +178,7 @@ int main(int argc, char **argv) av_write_trailer(ofmt_ctx); end: + av_packet_free(&pkt); avformat_close_input(&ifmt_ctx);