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 4EA8D4229E for ; Thu, 31 Mar 2022 23:14:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 09C8F689B39; Fri, 1 Apr 2022 02:14:21 +0300 (EEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-oln040092070049.outbound.protection.outlook.com [40.92.70.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C09868B107 for ; Fri, 1 Apr 2022 02:14:14 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Fj/F8umJK6L3WihNI8/YJMHiswJU1xhsmIEAUeZjUCVTCi3QJy4OTLt2A3F/+dfc1hI032VGHAdFbtJdcGzYC2Wv+fbHWgXCudYlZqw2FFRk3bBQENF/l/5n/9SjahJQDABLlDAW7CTWubw/faDLLN7krkMBrWscrMolJlotilHwnpyl1s2OlHJHr0zIkZR8FKLZ9GsX2tp4dtAgmfVmdpVfdiWrLoICJs/RHZEbJ6xNDsziOLTw1wKJAbERiu9UhSJEa9kCKhvePiTpi+QTYjRybH1U887aQcB6arpfK9slo07cJiVYQ+tvV+eABaa05+mUcB4PPuNCTEdM4vCYJw== 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=XpC1R8cREwjH93lPID8GqsSARxGNpr1feY7dk02FyPM=; b=A9Y0ED/pWLlaBxLp0qSqLAUrWwadloUWHxvAajpOd2I3jH2OhBb0xOskUNBlhLDO7fMafwDQP1X0YyL+RVUcBO7j3DXPFk4y4cTBJo0XTQTQw82TpegEOaRwncdSt8WUtU2Bi8+wsWKZjiSQ4lI/GCHsUdeJhszuiPe7RrX0Sg+V2L+kydtFdqnUsL9xYZ/Hc5yx3+q18MJYObOwQf87OSat/+3RN1Ja3RQe8Sufa/BuQJ071mmMAIiEumimMcXZtgaYhD8FawvCLEJm0hb1dpAA3NCxftp1Tt1PxKtadXN0BG2AqZHZyfq1hCyZaolA9bIzkk+CZoVjFXMxLzbhtg== 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=XpC1R8cREwjH93lPID8GqsSARxGNpr1feY7dk02FyPM=; b=fJGtCKbX7/e9kest97JqllX5p1oxoKagw25QEfExcSmOS6p9LJg2u6K2b7+EpYyJaIODevM1xcsxNIJ0nTk9z/T5fI3katoymxw+DpD3L83fmHPshJcXG0JqR+5tXpJZgz4qFROKgZhpofoXWMJxoFiddshWDKF37Lu4+sBeRl8N30Oasqhxkp6UE2Qtpbb5wNFqWm1TvEHmOf2HjjL836mHGBt+lVJrqfQeuU3UIYqlQ4KLiDZX3hR4quNz5XAetWUgM394ALSW5oY3JopGC5ab6z6cuqP/+y/HwLfq2wBt4v1VaZ+oT4PY4/ennf7RCCUVKvgTRV+1qOGgkwtd9Q== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by AM6PR01MB4405.eurprd01.prod.exchangelabs.com (2603:10a6:20b:6a::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.21; Thu, 31 Mar 2022 23:14:13 +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.5102.022; Thu, 31 Mar 2022 23:14:13 +0000 Message-ID: Date: Fri, 1 Apr 2022 01:14:11 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220325225452.47-1-nicolas.gaullier@cji.paris> <20220325225452.47-3-nicolas.gaullier@cji.paris> From: Andreas Rheinhardt In-Reply-To: <20220325225452.47-3-nicolas.gaullier@cji.paris> X-TMN: [untSB8V0no1tdPpMYsswoZEdl0YTSKB8] X-ClientProxiedBy: ZR0P278CA0030.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::17) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <17f08dfa-99eb-6a9e-84fe-e5d643bb73a5@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 909d3ac0-d848-4f44-22c2-08da136c2b4a X-MS-TrafficTypeDiagnostic: AM6PR01MB4405:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s9E6G3BpxlGFziyi0xD+SfMzFoFAYu+94iQqav0SjyJGYfrUrDW0hL9amvjXBvVyGb1td9833gBM1Qif+8c7unPMmwH8f36AGLTvO3gqFnrEpFY7ujwvUQPV4pSH46iI3tDtFTvcGq3pGC+MvWGRhVKRsGAqx2q4N0C2Iq4skpkOdljg5cNMSFGi68UD9DtjF3J6TMDT1wMAHGyEOT2m7Rp1jbT97mZqfF7lo3rnxpdaawQg0AtALMOfJQzmuoubUF1UcliPFQDwA22wePfkkBgZ1vcMYmpHzKw9O7gq8i1PfKPZZPte6jPB0wduQtOmw2I6xGGPfEMbv9Z6JLAaWincMU45y/8U3YP6JMCzstc0pxwDnJIJ28FUGmOEoPEjEQQdB7dh2SUHYc+fnlpDbgwVaVb8YzLOpojVX8MoGuf/ci+8dPGWRmys7qtTe+uNb9Uzq3TRcz7diptnVp9Hcgi2J2MPQFguxhXNz2VKPgh3geKjeCJcY7GmajaDhOupJSi4QfJ3E1NZJ8LFK7n6NuRxzOr9gk2vX8V2lo59uir7aOjk1QXt61GI09CfLFY8cqp5Wz5fjdcRAhqHFb6RXg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NUlnT0l5aUxqaWpiT2REdVRjRWZvSnhielB4enIreVpZZ0VrVjBFeUxyMkxM?= =?utf-8?B?MHpheHd4QkxUaVVwaFZYY0lHVkhBbWtJbTNyV0ltR0cyRFNPaml4SjdCRjZ2?= =?utf-8?B?UkdVS2E0cmxmVDJwK2pwTFJTQ1p4WUNXRStMYkVuQVVuam9GUnNUczRRcGtm?= =?utf-8?B?R2RkUnMxQjdKclVUWk4xcEpsSlpWcnJlNXJ0bWFFY01oTmNOQ1BaU3gvUzVE?= =?utf-8?B?SmlrREdVU0ZuQzZhWU15QUFqNS9wRXJWRHpFSktpYkVtWWJ5OUJCQU0vRGY2?= =?utf-8?B?M2ZvcDdNN2ZDTUUrdXZNamp4UFBnRm1Pakw5T2pTNHE4ZXc2U0lEdm5UNzNr?= =?utf-8?B?OU5xWU5OM012cG1qbTFJMGI5U1hBbXNPZmUraytNSyszNDBDbGpKa3hLOWU1?= =?utf-8?B?SEdsS0doV1VKKzBMR0JGNXhqTEQxS3pCR0NoaXVUZ0FDd0ZJOXpadGhrL1NH?= =?utf-8?B?dGoreENlR2J0Wml1SVBTa1hQaDNFdDhlOG92SnRWQVJsamd0MWt4VjlhZk1k?= =?utf-8?B?S3Nndm1TUnl5Sjh3eWtLdlBlTFg0emY3STlpQyt5UExiNDhXU1o1NXpJWGds?= =?utf-8?B?OTBqYmVOd2pFMGFUUUZGUmpXeGloWXhHeDdjdXJPU1MwSE9lSnd1elJUelhL?= =?utf-8?B?Unp1NmtSeDNwQXFsRFM5T2dVWG52dnBnQTdWbTVaN3Y1dWNHdGhNZ280RTZT?= =?utf-8?B?NGoyTmFKc1JQWURUQ3hDUVZ5YzVKdEJLb0puTGVSbDN6NUEraHRtYkN2M3Vt?= =?utf-8?B?blhIRjVUdWM4KzlZOTNGK3F3S1poN0VWTE5Pd28ybmxQSjdBWkY5S3NJOUUy?= =?utf-8?B?NlRoVTVjczRXVFZlYW5MTG5QbUwwQXZyMzFNR3QyY1B3TTJIQXhIQUxJWE9u?= =?utf-8?B?aFF4STZiMDFHTVl5UmxYQ1ZZWHpDWk91UGlVU3k1V3IxT3I4eWJ4MlFLeHFm?= =?utf-8?B?eWNyNVVRYnN5NUxFVUREVVdxR3N0R0NvU0cxcGxuZTFoOTFZR2lXTGw4SkVm?= =?utf-8?B?OTRUQ3lPc1UvVHRuWFVUZE41a1dReit3N1huTEFtMUxwNlhidHRmYXYxYWVp?= =?utf-8?B?U2VyOUZraWR4K0V6dmt3MkxSUFJLMk5Lek1yK3lnVjJQbjVjbUptSzIrMmlF?= =?utf-8?B?QTAvMHlxVEVyZnp1RE8rSEN2RjFCeTBFRW4vdnV3RklHRGc1S25rK0pXVlJG?= =?utf-8?B?WVlsMlRxVERaMDZjZ0laNTdOZVhDaVc2Vlk1MzY1bVNZeEc2QnVRVGtOVllC?= =?utf-8?B?R3hITngwMTRpdVVwQTMzbGdlTkVIVlpleURiUlN2enpEOGd2NkhjMGZ2cWxP?= =?utf-8?B?YTBrcTYwbEQyZFB4VEx1ajZJNWkydWZ2U1hJcGpTaUJWY3R2ek9Na1EvUmR3?= =?utf-8?B?cDNyMW5pTHFOQjllUWp4ZHJYU0RSZEpZVEhMZVJwNENpUzFYbXNSWGRhVkdZ?= =?utf-8?B?UGQ2Y1Z4VlVFZHpBQStmdjlXamFEa3UwV0c3amZOSHJzdi9uSWw3bkUyaE9H?= =?utf-8?B?b3BOL0lwU0U1TXF5bDNsalJXUVBJaFJGNUVFZkFseXlpUVdONFg1bXRIWUl4?= =?utf-8?B?SUplZWtDWU1ZSk9CcE5yV3dJMjF6aXZIVnphanlIY0JhaUdic0lha2NWNlpM?= =?utf-8?B?ZTBYT20xYnFxSnQ2cmE3bXhvS1ExVytJeHFiUlFTaTBiQjdVWUpKWFZZQmYz?= =?utf-8?B?dVNOclZTb1B0dTM1V3gyOEIzVjJ6MkpGdGtYLzZEa2dLR2dkOTNvWno3RWla?= =?utf-8?B?eFBkYnBkQUY4Y09xTFkydkZHNG1vR3VGajdXL25nanhUdXc1UW91b3lJMlMv?= =?utf-8?B?U1F1ZUxLeDFwbE9SQVhldjBPOXp3Ni9DNHpvZUpFQjNqbjVld0xobEtWUDJh?= =?utf-8?B?VjZ2N0xEVG44M1phSkZPVjF6ZFhIdVMyWDZMV09rK25KU0I4M0lyWitIYW5y?= =?utf-8?Q?D4JmUSe9tewOXyY0sY4RN6JzzrxXzoCa?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 909d3ac0-d848-4f44-22c2-08da136c2b4a X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2022 23:14:13.2833 (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: AM6PR01MB4405 Subject: Re: [FFmpeg-devel] [PATCH v5 2/2] lavf/mpegenc: fix termination on error conditions 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. > > Signed-off-by: Nicolas Gaullier > --- > libavformat/mpegenc.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c > index e0955a7d33..e113a42867 100644 > --- a/libavformat/mpegenc.c > +++ b/libavformat/mpegenc.c > @@ -1002,7 +1002,7 @@ static int output_packet(AVFormatContext *ctx, int flush) > MpegMuxContext *s = ctx->priv_data; > AVStream *st; > StreamInfo *stream; > - int i, avail_space = 0, es_size, trailer_size; > + int i, has_avail_data = 0, avail_space = 0, es_size, trailer_size; > int best_i = -1; > int best_score = INT_MIN; > int ignore_constraints = 0; > @@ -1028,6 +1028,7 @@ retry: > if (avail_data == 0) > continue; > av_assert0(avail_data > 0); > + has_avail_data = 1; > > if (space < s->packet_size && !ignore_constraints) > continue; > @@ -1048,6 +1049,8 @@ retry: > int64_t best_dts = INT64_MAX; > int has_premux = 0; > > + if (!has_avail_data) > + return 0; > for (i = 0; i < ctx->nb_streams; i++) { > AVStream *st = ctx->streams[i]; > StreamInfo *stream = st->priv_data; in case of errors, the context is left in an inconsistent state: The PacketDesc linked-list claims that there is data in the FIFO although this is wrong. I always prefer avoiding such scenarios over fixing them lateron. In this case, fixing them would mean growing the FIFO before allocating the new PacketDesc (if the FIFO needs growing at all). Shall I do this or do you want to? (In any case, thanks for reporting this issue.) - 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".