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 C23BB426E1 for ; Tue, 22 Mar 2022 17:06:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A305F68B084; Tue, 22 Mar 2022 19:06:04 +0200 (EET) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2059.outbound.protection.outlook.com [40.92.91.59]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 05CB668049F for ; Tue, 22 Mar 2022 19:05:57 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frJh0JUB7X4Gs5MBY0OmNON8GyR30wb0w9Ah4UKjLKoYu1M9Xl0nC0UEXQ28PlmjZ9b9oOHEIouFyOjCT8pBsF7IVPDIGvBQJQO96ofZed9ARIQ7Z1OyYrCpTAoE78NJTNbSEqLOcLghkv31jAmv1JTK6dUlN9UTdEn1Nj5vJG+Zm13QdTruLd6z6TvcImKjI83pv8zbaGD+3UMKgtrvlyPdGBwcQHm7d9BGi0DdJjj3fJv/vqT1ZMC4PWUg4gC+nFHBwFJDy76qyTTIRpfkhRZ/oJjNQEeEofjJ39Uhq6E7HV7ztHYDTyV1/wuTk997M6N2eKZcyyt4hc+lfM61Zg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jRNKPCfYNUJOoaYcz+JFn2m49yO/E24mPX7AWLxOb5A=; b=evBr1VpGs3FlN/5xShiMIFOg97KwJROMRIuL/qiy88F4IOpLFqwDxo8XuaG6RrnQ5SfeAFkhkbnxYSpyPTWZSucNCwbIVyXzhOP/dvKHz26+TuvKzChNm6O5Q9ZYW/vkP8/LMFlO6pbpS99/PG98eSLJ+F6f94t4IXdxEATGa8ow59Kg4iZV7Jmt331T+iQOd/oxjIM8R/qNEfraKTPHfG5L+Bdxkf4tZGBoRxcUo/fN84yRM7EAtyITd2ehQeJz5EiV0FJvm/mZO7m/jJQzcG3ApfEHFKAHlM+Dteju4PkKddVVCxaOG4ACy0+Amweh1jsUu60lptoO8WNmESVrwQ== 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=jRNKPCfYNUJOoaYcz+JFn2m49yO/E24mPX7AWLxOb5A=; b=BUBUiyn1jT966O5RS5ZSWCcDafOpQg62NZch1vvu+09ZJUyDFAqE+t/QpLQ174K7kMi4/HQmcuiFN9V1MFUTWoNa5LfjKMyiBomha9QJXV40POcl8TcSTBnQgitAr+2IeM2vEsyWHwiGxwLYpYX0zjnt+T/9BdyblaYbcwMguAVmBv9JnJ77cRAvlpCm25QBtsHawzBLxfD6eNkYfysk/0G2FXDmVIDvIlOwwroqWBweZAOx3hoVBACl05mpElb92OptF+0IGCfZwC+t6PAh2T7cV+875RQ3ZUsEfknzUp24HZzUA5VpMOqOUg8WnQqn0J8FYpQQhNMbdzjXjq/1iw== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by AM0PR0102MB3298.eurprd01.prod.exchangelabs.com (2603:10a6:208:17::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.14; Tue, 22 Mar 2022 17:05:56 +0000 Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8]) by AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8%3]) with mapi id 15.20.5081.022; Tue, 22 Mar 2022 17:05:56 +0000 Message-ID: Date: Tue, 22 Mar 2022 18:05:55 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220322163911.64772-1-nicolas.gaullier@cji.paris> <20220322163911.64772-2-nicolas.gaullier@cji.paris> From: Andreas Rheinhardt In-Reply-To: <20220322163911.64772-2-nicolas.gaullier@cji.paris> X-TMN: [Sfhb0cncpqB1JzU9NGCspkbbd3rUV+9F] X-ClientProxiedBy: AS8PR04CA0117.eurprd04.prod.outlook.com (2603:10a6:20b:31e::32) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <976d9836-2355-6bbb-0320-ae30bc5f31ae@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9b44007c-e229-4815-ce38-08da0c263ad5 X-MS-TrafficTypeDiagnostic: AM0PR0102MB3298:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: IECM2pa2iOza+o2rDcdU0oFkIZBse3CDaPAjPSKzr2+id+oFuKST4AbE87N5B/FqFN8R0w/vx5dUYSIyt9fbutLpOsfz2z8AED2g1fv0iSAclzSEE+Bh4pqSjaxSaLd5i1BewJAdSQBYGQqzanMNfAQtlIjpkhRGF+GpLQbmIOMNDDlKzck2Tm+ejbWXClRu9S9anBcAdYOrXUJ1QNhGdPC4RLP3r5bkWvka5bHHuwrpvvFU8s8786dlpcO0PDFQThrdJusBb42QzLaorqjWzswxXCBA6fWn49L0m2Tteu5XEuuYxF61NGVuiOHJUXVMzi8+k+yr/iwrV/FgLds+CanhKjK+CY3F7cCC+Ny+KVCLH6SNQhVaNy8XH8kubBXjqaWqcZyd5lHxu3EeGTAfpjyGB/gTuoUmHQpHliXFeRztwygQbFYSOHjrXxfQZuNDAMvPmxSYOfUGYTot9PEmrryBXkgBcNx2m7CFIUlabAeGnYtDGU9DR58MdZ3upQUKtXgxZH3iXZErVhGNjM5uh9SW46vZQXHL/owme5Z7h223OkO+i4OhFHC9NP4yyMLZaw/Y1Up9ePuQwiBuVjxJkA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eDdNUEpIMzRET2NleWRoMDVWaEgwNStWSlE5aVZjTWg0YnF2NTdiT0ordUQ3?= =?utf-8?B?eGx3elRzU0dIUS9QM0w1aWpIYjdQcGRaclI2WFhQRW5NeXUrY3RxMWRERXBY?= =?utf-8?B?d0xXTHBQajZHTU5GU05mOHkxaFBMU2dOV0lJd1NrR1NsZVBBUlZyOTF0WDh0?= =?utf-8?B?MnJoRjYyeGdwekgycXlUc2hVeTJBTkRDWlZZTW96MHVxR280WTdRQUNuTUZB?= =?utf-8?B?YmhLVi95V2pUSWIreXRSUFRsWVNtTk9BVmJic0kzNG9uQVowTUhaVUFiN3lP?= =?utf-8?B?SjFOTzk1ZEx5TVd4OTNDdzVLdHB3UWZEQSs4azgvN2J6WDQrNHRvTjl0dXN5?= =?utf-8?B?UVBsNm1BTDZsMEtZbHZjY1FiRWRiM2tSRFJiUFBSeGhIOHAwcHduaSt4MTlr?= =?utf-8?B?QUNUcjRpOHlSZTR0QlpiR3RhM3pTamQ4ZmRjVDFVTjhRVGR4QkIrbXVJeGI4?= =?utf-8?B?cDVDYVdocnlVOTNTZ0xESmJNRk1nR1lvWmNRcTU1RGs2ZUlTVmE5VG5aZGxB?= =?utf-8?B?Q1pLcGkxb3dmeDdLbWxTZllZMStVWWx4TjVIdldZZzhDNnBJU053MFNoY3p3?= =?utf-8?B?U0JOVzdMR28vT2k2eG1PMVRpS3g0S2tXZ3FGU0lXdSszYXNlbkd3cTJzcGJJ?= =?utf-8?B?cHlVRlgrR2Q4MExUMStTK08yVkVnL05nL2lIOUJaK0dWVjMvUi9OaDBub3Uz?= =?utf-8?B?N3RSZWVuQkd3bGh1NTRuK1gzVG83U0I4NDRxTWVrZ01kdldoTUVSL25WZjZ3?= =?utf-8?B?S0UxcWdYT2dTdFE0NVo5SXJFSGVUM3NrTWdLL0xQUk1nN2s2ZHY0NUJhMVZ6?= =?utf-8?B?ZEJYOG1RRjhqV25seGRQVHAxeWoxbW9ON2ZZZEpCU1hZUkV3a3BxM0ovbGFn?= =?utf-8?B?ejhqaUFjQ09pY1B2ci9vdkFKbExQVHlUTXpDdk1ZVzFLcUtjNzFCWXl0S1Zj?= =?utf-8?B?OXhPdHhFT1NWb2Q5YmordjN3SDNhY2ppNVByYTVmVVBEUVRwVmwwa3dScnZl?= =?utf-8?B?NGNtVHc1bkZCVFV5NnVxaG9mbEFxVkZjZFRkb3ZkRWtNWlUzVmIwcTRFTVlM?= =?utf-8?B?UXRRQThUVXpieVByTzhhSG5aQUJCcDdacFNNSlQrMDdGNFVLZERGZmhjNXYv?= =?utf-8?B?L0s5c0VNdjRnWmNYbU8yc29VWGlWWnF1WVNpRmpaQnBSNGR4RE1Ra0c2YVV0?= =?utf-8?B?cThwdmNJSUxKWXhpZnlicWtXL0h6am1JRTNUNG1pTU1IZmlFWlFlOWZZaW9N?= =?utf-8?B?cDNzTmQyNWpVbHV5cTJKK0ZMQzFBR3Zkbnd2TDFFbWVDQzVoQTRMc2R4Z3hJ?= =?utf-8?B?RXg4R1pJTHlYMTlaeWV0Vm1OcDdwV3Bkc2wyd1Q1Z2hmcXF2dXFpMnB0a2tz?= =?utf-8?B?YkdUdnBkbG5SckFVNTRucjJQK2dtNEoreHlYL3I0V29DRXZaekxBRUNpdVlu?= =?utf-8?B?Z2JlejVLYjBPZFlhUkR5Uld6K3ZXMjFGTXBKdHg0dVNvd1NIdTg0dDRMZFMz?= =?utf-8?B?VHR3c1NNZnd6NUMzcExOVGtlQ090MDNOeEFQRUhzS0xzd1o0ckdCMXRYMkpr?= =?utf-8?Q?6YwOC8Fzi/wn0UENud2OimZyc=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b44007c-e229-4815-ce38-08da0c263ad5 X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2022 17:05:56.3758 (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: AM0PR0102MB3298 Subject: Re: [FFmpeg-devel] [PATCH v3 2/2] lavf/mpegenc: fix termination following a fifo overrun 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: Nicolas Gaullier: > Avoid an infinite 'retry' loop in output_packet when flushing. > > A fatal error mentions the availability of fifo_size_limit option. > > Signed-off-by: Nicolas Gaullier > --- > libavformat/mpegenc.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c > index 5d755e3bdd..eff4531037 100644 > --- a/libavformat/mpegenc.c > +++ b/libavformat/mpegenc.c > @@ -85,6 +85,7 @@ typedef struct MpegMuxContext { > > int preload; > uint32_t fifo_size_limit; > + int fifo_size_exceeded; > } MpegMuxContext; > > extern const AVOutputFormat ff_mpeg1vcd_muxer; > @@ -1153,7 +1154,7 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt) > StreamInfo *stream = st->priv_data; > int64_t pts, dts; > PacketDesc *pkt_desc; > - int preload; > + int preload, ret; > const int is_iframe = st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && > (pkt->flags & AV_PKT_FLAG_KEY); > > @@ -1220,10 +1221,17 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt) > } > } > > - av_fifo_write(stream->fifo, buf, size); > + ret = av_fifo_write(stream->fifo, buf, size); > + if (ret == AVERROR(ENOSPC)) { > + s->fifo_size_exceeded = 1; > + av_log(s, AV_LOG_FATAL, "Input stream buffer overrun. " > + "To avoid, increase fifo_size_limit option.\n"); > + } > + if (ret < 0) > + return ret; > > for (;;) { > - int ret = output_packet(ctx, 0); > + ret = output_packet(ctx, 0); > if (ret <= 0) > return ret; > } > @@ -1231,9 +1239,13 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt) > > static int mpeg_mux_end(AVFormatContext *ctx) > { > + MpegMuxContext *s = ctx->priv_data; > StreamInfo *stream; > int i; > > + if (s->fifo_size_exceeded) > + return 0; > + > for (;;) { > int ret = output_packet(ctx, 1); > if (ret < 0) Could this infinite loop also happen before switching to the new API? Does it happen because avail_data is zero for all streams? - Andreas _______________________________________________ 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".