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 500DA46D75 for ; Mon, 10 Jul 2023 14:24:07 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 51F2E68C503; Mon, 10 Jul 2023 17:24:04 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2055.outbound.protection.outlook.com [40.92.75.55]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1028D68C2DA for ; Mon, 10 Jul 2023 17:23:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ec7Q0E0RFOqwqRLZgpLB065+O1MVVOLceYHE5yzk1eiNLw/pu0/yhDhD7q7jcGOxAERMF6KZtd/Xk2SQmyfTgWSnu3Jfybdej/APdMbceqrF5YkR5gjlYjrlndfe0Xs41y+M/tkk8LrbAIelJmlkVeoGUw3fprBQaqSeS41ZWbVO09wOHRh+EioJwnaUUQVYP7GNf9/sScItoDvzoP0WuvoN1Yky+d/oUiwJmaQztO4kXMzQ89xTr3t+/Y6P98I3Yt/ppdkiG0gwxtrNp1/xYnXcsWxwAfcJNnVDPPD2Z5ZhQ25LdtRejEaVur41raF/hb4+x7XMxS0AYT4Ati8t2Q== 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=BYjrI/IWEAX5m1u35Ab+AKASDAsHnuUlYWIw2FBz/r4=; b=L/AVLsBijZMGTT8FchvFPMZbTGm4jbpB8ClAFpYLp7jTCyQHGbe2754QqN4olsxVt4IayqBxAwll1+tjQiATKAGvyNE0wBrzzvUsL7izGk5PVC2ulD969oXIitbH6NyKh6l5njFi00dS00yFkOebu3XhCzcihfHAzGBIZkm+XHMwRsUfyWKBgZiKb7FLtqWgQZhfB5F0+4QdT1Gx5ykgtSnmWa0YmJGq2VKXklkDgq0wqEDYi0MEObN17ckqSRKpszKM+XekLu1Y5Hp/Qdyy72kwvrTGmPKdD4KFzTbq8wiWTHV9TT02mswUBedffjBJBTPjiOFQM0cK+BVETXUbfA== 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=BYjrI/IWEAX5m1u35Ab+AKASDAsHnuUlYWIw2FBz/r4=; b=WjNxnABqqa7rZxxUC4XAHSi78gKm3xuhWt3t1CL1OUpw07FLKAOkFGxK2tLlIP6KHGFRSAK8ivRsAokWn5EolYc0mTwU43pPZtHfaXH7f1Euf6w8MGDNoBlMo6HQzQUkXXzk6Teq4zZ6Muegt2zJO+0siKNNpo+T5CJf7ZNmRsdCGY4Cxer10ERnZFUaTqRMatS8I1hEZSz7xekXHOYKS6Kj+TE6cL9XMI2NF1ti4ofDwwO22TQhBjzhiqdfGmT5/eDuiyXIxkj4fkZEfgND/IygncTg3A1/i67OEgMVpfVolLam14QFUFjcfGOF8M8ft/63NmUJNJhc9vtXCDSWkw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0254.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:27a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.17; Mon, 10 Jul 2023 14:23:55 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::8f13:2ef8:4559:907]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::8f13:2ef8:4559:907%6]) with mapi id 15.20.6565.026; Mon, 10 Jul 2023 14:23:54 +0000 Message-ID: Date: Mon, 10 Jul 2023 16:25:04 +0200 To: FFmpeg development discussions and patches References: <168899324473.27367.17259716301702650981@lain.khirnov.net> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <168899324473.27367.17259716301702650981@lain.khirnov.net> X-TMN: [88MYOQ/zt/IhKE0FCydmEztkkrl7GfDG] X-ClientProxiedBy: ZR0P278CA0139.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::18) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <3c054bd2-301a-6412-76bf-ca547cbe8b23@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0254:EE_ X-MS-Office365-Filtering-Correlation-Id: dc537a3e-ddf5-4e49-02d4-08db81514a3a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dcOpLmVM7URfC0GxicZEnHt6jRREvMT7VCyBHhzXLl5Q7PCoT19NpN7SnECINh2GYd6e5pObSjx+Utpy2B67HQTpCStloveGKi0UE5Rt5709MqbqZ3CAOLmkuB76RUOlt+eMLqFh2/5eQBBivzVe8Q7q3SNO7OEZBID+Dv4Sty/4EH88LFWzhOhkTpAnjJyymZne5y9FDGXq8hmAGxSdCklR+TzTVRP2u7h6bo2n5tGc0syrME+CfF2l4zuntnWL12UG7ECn4Mh5cnILhQpWMF5b6fkh6FA9TazDSX2IetedB26UGDIl/bRhIioKwKIPF21MrIxhMMcxrQ70xG8FL/v0ySx0hyCeZuBznMWUnStyL0bRu0nTswCNeD5Kwlf8iYvscCdRXiIfKtPPFhHpTpSp2LOcuxwl8/5OfaRiPyesjM/BLVjcWtjQPLBuXGyiw4/O4BS+IFiwG+sGURhjfuLiPB5B1c5oL6XpDqo2E9W4WDTxlMz13jhl6BOKuFvz04oY4+EqRcTNLVMV2gckWu1husZm0rdvXW6PHHBLvq14h3STHb6rKWXOsAxCEzKj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NnhIU2dJNXNwL0wvRnNKdFQwbHNJRG5SS3BoWjVpMXlhWDJuQkxVUE0xYlM3?= =?utf-8?B?azhpcERlY1poRHl5dFVEM1ZJZ092RFF4R3ZUbXQ4clBtRFdZc1ZXeVM1MUs2?= =?utf-8?B?eDVZR3NDVGtMVWExQUV2WENmdk9NenBiUmxKTmtud1lsZ2l2V2h2amdIQ1I1?= =?utf-8?B?SitMWkIrZ3ZnTWZHOVUvaThRMTl6OU5xdnFxSzdGeFIxZy9lVE9OK1ZCRWF1?= =?utf-8?B?VFByZHkvTHJvWnZEVHdXUHcrY0J3U0cwa0liVUtaRU5FSGFpay9yL0lFZ0ls?= =?utf-8?B?VzU5ZGs4aTBnd1VyZ1RVcHkxUUJmelNCbk9kVjVkV2JJZ0ZzM3RXN2ZWQ0Ft?= =?utf-8?B?QkkyakxUL3Fnck1maS9BL0R6V2Q1Um16NjlBS250M3dKV0RQYzQ2THk1aE9p?= =?utf-8?B?a3lMOERnYXN4UHNLNVFURFBIL0t4UzM4b1BYcWtodFhMNTMyZkE2ZHRQVmJB?= =?utf-8?B?UkpQK2FheGo4VmtKZ1doNGJtUXVJNjExam9kMDBGNzduLzJobHZlK0tRZXhB?= =?utf-8?B?K2N1SmlUTklENEh1bHJhTHJCWDJZWkpwOWNCdDR4V05XTGxma2ZXODVNc2VJ?= =?utf-8?B?RVNBK25UTklBQW1sNStlcXRVMkxaeW1IN2VCT1YwbTdORmZkQmhydStpeEdO?= =?utf-8?B?VzM2eHJteFg4akdpcUN4SHlSNmZrZ1NVV3RIYUdhRGM4UFVieEZaZHVkcE9t?= =?utf-8?B?TkVhRmxTeUpYRDVKN3hqeGNKaHl0TTRlL2JhcTZpMHNwRGpLKzJrTmlEZ243?= =?utf-8?B?YVFHQ0RqSndpU0JNc0VVY0k3M0pQNVFvUjRtdGFmK3NmckVsOFVPeGdiVUJC?= =?utf-8?B?bE5DLzlwTThScU8rbFpPWVNBQTR1N2hQSUZYbmxaR29DemNzY0tKcE5NZlN2?= =?utf-8?B?QmlWK2tMMWlQTnlrY09LdUFnTm5mekhLWVIveEY3TDJNK1JiSkRzSHFIdWdI?= =?utf-8?B?ZTlVc1pram9SZFpWdDVoVTlzR3ZrNEcvZmpzbVNsdVhzMnVoc3VVUWlNZERO?= =?utf-8?B?dVZ4RkR2cDVMMkRkdnN1VTNXeTZhS010anZsVnlGNm1obUwwSWhpUHBnVzk3?= =?utf-8?B?SjQ3d2lBQ3F2Wm1MaWhOb0RmMmg5S2lLQ0dNNUhrQkd0NU9oR2VHSGJQWWJ0?= =?utf-8?B?RnR2SzgxOXBlT0xUeWZkbU5pRzBTWlQrWVp0QmR2V3Iyb0wwVUhuL2xGekFJ?= =?utf-8?B?eThRZUNTeWwvd2V3OERENnN5cHBqSDRQMlp3ZjJsUXNCNEl2ZldySlcrc2VY?= =?utf-8?B?UmNISDI1b2lpUU92citFZWp4WlBIa2hEbzhwYjFlR2hscjBDSEVENjZVZTJz?= =?utf-8?B?aDJRQlA1YTYrMXYzVENteWdrdDZEL2ozQlFiUzFCRjZ5QlRBU0NtWk5RUHJE?= =?utf-8?B?dUVIS0VSTko4L1J0QkFQZjJYS2JMSVVCc3JnbEI3MzF3dCtteWcvNG1NYkJp?= =?utf-8?B?R1FGTHczUjhUempObXYwU3pQVlo0Z0JhUHFvM3UrZlhvRGVzc1piREhxRko0?= =?utf-8?B?OW0xVFR1cVdZdS80RnFhL2JYYUxOazh6SjhCZkhCWFhpU3J1YzdpcHRpL2RR?= =?utf-8?B?VzJ2R1U2SE9maytIQVBCVUYyZEFGem8ybU5ka3cybFlUVitLcldRTGRzWXdZ?= =?utf-8?B?eWt1R0lDOW1GL2hjMkw2UWJTMlZyUkdYdUh6bWVKOGZJZFIxOXNodnY1TGg4?= =?utf-8?Q?I99mbpDReP4r/eJnmG3B?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dc537a3e-ddf5-4e49-02d4-08db81514a3a X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2023 14:23:54.3918 (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: DU2P250MB0254 Subject: Re: [FFmpeg-devel] [PATCH] avcodec/decode: Return EAGAIN instead of overwriting unused 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 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: Anton Khirnov: > Quoting Andreas Rheinhardt (2023-07-10 01:36:41) >> Should fix #10457, a regression caused by >> 69516ab3e917a6e91d26e38d04183c60fd71cbab. >> >> Signed-off-by: Andreas Rheinhardt >> --- >> I am not sure about this one. The problem is that avcodec_send_packet() >> and avcodec_receive_frame() must not return EAGAIN at the same time. >> If buffer_frame contains a frame when entering avcodec_send_packet(), >> the next call to avcodec_receive_frame() will not return EAGAIN. >> But is this actually guaranteed if buffer_pkt is not empty? > > It's not guaranteed, but I believe the correct interpretation of the > "must not return EAGAIN at the same time" line is that > send->receive->send must make progress and not be 3x EAGAIN. > > >> >> libavcodec/decode.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/libavcodec/decode.c b/libavcodec/decode.c >> index 269633ce10..6595c3ca34 100644 >> --- a/libavcodec/decode.c >> +++ b/libavcodec/decode.c >> @@ -666,6 +666,9 @@ int attribute_align_arg avcodec_send_packet(AVCodecContext *avctx, const AVPacke >> if (avpkt && !avpkt->size && avpkt->data) >> return AVERROR(EINVAL); >> >> + if (!AVPACKET_IS_EMPTY(avci->buffer_pkt)) >> + return AVERROR(EAGAIN); >> + >> av_packet_unref(avci->buffer_pkt); > > This unref here becomes redundant. > > Otherwise looks good, thanks. > Will apply with the unref removed. - 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".