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 357E547396 for ; Wed, 6 Sep 2023 09:26:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5A0F368C7A2; Wed, 6 Sep 2023 12:25:57 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2069.outbound.protection.outlook.com [40.92.90.69]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4FCA068AB90 for ; Wed, 6 Sep 2023 12:25:51 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WZ2Y3LAGmGB6XFw1BaCot4CdtxU7O1wD+fVkBoOxMgiRkpWzOnZh/xK0RYN95y2iOBSRMs0KWX5UQr0ndOF+Id52lu1SuSvGBZy35eEVXCGqGQ6ASmgXPRbPWEjkGkJW6grS6hy6f7lt40ev7HM+EeyYRZ8UhFowGu9zUkcMHYn3OVmKwipZe5qVjH7VpI7TG+qbazpXnn//2HviB5lMy+3i643O+WxQCk48BBdfge6JkVQFpSIASEsUhQOkAh89zDGgVSJ+WnMnkO5SxPnOQPmZ6s1I5/QP8mjUZqHqO3YBDh1s0Lr0OnmoPaTadNaQJ+MYI2dGtTJXO2PjxT9NZQ== 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=bOUtYh+43qQF4S7VBKM+EYGjmd8qqnzZm7xRcgiaC1E=; b=ME5LUXS9DAdV9xQzxXHEZVW0UOtCon00PkVXA06KLFMaCsmYP1L7xtv6LAb1MGViJAzUZIVyJOSFCQuy+54V8jrIInITLS6Hh6Q01RDLqa0JpqvWF+m1ktqkm38CEoVuBahHYKTcMrE3MM0cf0UY94rw9A8jszzy6Qyy9Eg46kKtcJWjv7FlPHfHQ2DhWvo1mdHVetVF/Qnemiqa1CU9rzVTK2HHAwbl69JTf20yx565fJk+Uffufexi/0lubkKgagdZQsTBZeOAuXEX/q5eBnYeX+arU3Fp2pXVTW4sM9qi4IHZ7hdTUW5rxB61utjFqi+LcM1//3dAA3ic6rPBaw== 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=bOUtYh+43qQF4S7VBKM+EYGjmd8qqnzZm7xRcgiaC1E=; b=av3jivTM0AonHbZfyIWf2bYwi1uIaD0A6OMFtIBVzqAeTBM+8QnQ6QXtBO839PiYCW+2HzUUmeFkdYJhIb1upDz0b9Z98r0o/hy1HOPtbGi+F2hP6TI3yypDFqutnpiLZp/gby3qd4V1Vf/l1rGQnNqHDEWSjDvN7WqRoy4+7KwnzZVKYPLk0DbrVsLMJeCLNWc6jc4SgLe+PhZ5Y/OBLPyJOm4ngEnl2Jm+1OGfY7gBh8g5H4fGjjXrJ9SqhdnwSMBKJePL0Kvrr8rrqKw6GZ/I0jVJZU+PsBzaNiRqyAYVa1OW/F4smOIRGE8ZHSRW7j7xr+st/NvpkRBW2lSxwQ== Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) by AS4P250MB0416.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4c3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Wed, 6 Sep 2023 09:25:48 +0000 Received: from DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::e8dd:7fe1:2348:cd62]) by DU0P250MB0747.EURP250.PROD.OUTLOOK.COM ([fe80::e8dd:7fe1:2348:cd62%7]) with mapi id 15.20.6745.030; Wed, 6 Sep 2023 09:25:48 +0000 Message-ID: Date: Wed, 6 Sep 2023 11:27:06 +0200 To: ffmpeg-devel@ffmpeg.org References: Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: X-TMN: [So3R1aVbN+qmmqh7F1wh/0q16vGJVHGb] X-ClientProxiedBy: FR3P281CA0103.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a1::19) To DU0P250MB0747.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:3cb::16) X-Microsoft-Original-Message-ID: <154cbf96-1cc8-0fcc-4a03-dbc8fb779cb4@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0P250MB0747:EE_|AS4P250MB0416:EE_ X-MS-Office365-Filtering-Correlation-Id: 691c179d-689d-471f-c847-08dbaebb4199 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8EPeUe1xR9R94ObCTbdfr+vvMKwVv2VEtiTNqUsZjGcguHJnDQDaSzyPqywIY0oSg9U7DiCJB66fqpw1K/O1jKx1ASlHLZ4ujmVWgIxVB+i8vfcRCK4fH6b7k2ge0QUi+XbAb0D1w1DdikeNxTGX4HTNhJUGrkGzpqJAvVUrylVEwLT9jLpC/XyggYl5Tdt3YJqeFvb4t9c2Lw7ybp4x8aohc50VGIrJsd9Z9sD7VU7ZWoLiyITvrtqmFxOsgdbd5zUMbwygz1OWb5bnmBRxkPBH+AofvkOlgedLPj/Kft5i4P7CGeNna0Hdxdh/FqyOkt88RYQMrA/GZweRU5Y61hwpHGf9HVfWu255FXSHV5jUforXfpbtxN+Rjwfy+3vKCH3clH2jh0FKvc5c4sWBAEWBQsbNiSNNPbIsWp1sRkV8agNfsCGNaUeOWhG/U5a7ANwyrPreWNZevmkQMUI850TeuRHVIdoKpvlhIfdyQxmQ7DnBb4plRJakaRn0zaIhP46DwcMhWXFw2aYsO0iIXi148GX88IRZqtazMt2D2ANFWhLGUkxOrz3zPA9eHMbv X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VzlDSkVHSStjYUUwV2dTTEpOVm1qSFZvUkFoVk90azBPeVF5Q1ZxOVRnS1A0?= =?utf-8?B?UENxN3IxM1IrQ2x3L0pHWGxhWVlLMFFCQW1rM3FOSkh6OWxiWWRZQVIwR24v?= =?utf-8?B?eVdGMWZyMFRQdVVTSEV4cFV5blJOYlpDN2lIL0xndW1sdmU3ZTR0ZGlZUm11?= =?utf-8?B?aU95Q3NDUjUvRFY5L0R4OG5zRWdMSUgzMW9HVXM2eVhnRnJZc1VVY0I3N0pR?= =?utf-8?B?MS9YRWlRYU5Fa25weGNXQVZVU0RMNTN4RnpncnlSQ0wrb2Rpdml6dWZaa1NM?= =?utf-8?B?T0lOZDB3bG96dUx2QzlMU1ZLSkVNUG5uc1dCWklnemNXdjZJM25nVmNMTVJK?= =?utf-8?B?dnREOGJwTTZvSml2ZjlXNHJsWCtGYW9HaE9GeXBzZFNhN1NXY0F0USswcVZh?= =?utf-8?B?STZxNGRHcDVXWE5ncXM2V2xIZS9aSllUVjVuZkljZ0NXSlRDdWhsTEFZV3Bq?= =?utf-8?B?WStNUUN5a0JPYjhReFlIVU12SnduU3A2SXVCUE9MK0N5bHYyazBiZnJaZ1lC?= =?utf-8?B?ZjR1dnFxZUF4cFBTdlVqdHQzQzJ1eklaM3ZlNEFWaE42MHNFOXp3N2dvTkpB?= =?utf-8?B?WE43by9Lb2poSU92MExuZXcyZ0xDOHVRZFBaeVdTb2EwVGVaUVN0R2hGdnBv?= =?utf-8?B?Q200aTV5OWhVSW9LM1NRMEVSdmp5YlJKN01JUWNtbXpiRklKdk9vM0JraVpG?= =?utf-8?B?RXNiQVpFMUFabEFEbVc5L3RWVlMxenBaK25COFhLWGMwbEltZzdYV1NZc3hS?= =?utf-8?B?RmJGRVU4S3k0cGJhdkdtbnpiZ3pwZGdNaldTSXNrNU5qT2dhRHl5NFZlYXlr?= =?utf-8?B?SGJaT2JDb0hWRjFwc3UxOUJDYWJZYUJ3emNUbEZyWTJhMlNqTmJFYzJuRmZq?= =?utf-8?B?eGR4K0t2OGljb2lzbXkxSVVVRVRCd0JIcXhZMXlNRUdhZ1lGQUgvNkZZRGRp?= =?utf-8?B?MmtkV0xVTGxLYTJlQjVraVVmUVVTQ1U2SytpRnNYQjJvc2dGMmNUYWhvWkpn?= =?utf-8?B?bXRORi9PeG9NREZwVGhvSmp0RkZ3bWRoeG54bWF0dmpJdmlxMUtUK1NaWkNu?= =?utf-8?B?cVNIMmMrYm8yM3Flb0tSYUlHR0tWZ2x0SG14OFZvZEFSdEllSDAvVTdqRlQw?= =?utf-8?B?WHVQM0Q2N0htSklMOXI5Y2s5aUQyVmdDSWlhTEx4NTFCbTY1NmN3bEcxL2xM?= =?utf-8?B?Z3JkZUpwMi9tc2FxN2RRZm1VN0MzWjJWdHUrdWROZnRZYTcwbHhXa3dHWGdx?= =?utf-8?B?WndmY2NHNnFFU1pPbkZXODNIU3NzYU9nMVdmaG1mS2Vmc2lqbnNWLzhRTU1w?= =?utf-8?B?Ym1ZVW9LdERqVHl6OXdOSmNLYmhGRVlyNzk0YzlGNDQ4MDJrOXB5TE1naTFq?= =?utf-8?B?Rmk5Zm0rZ1ArSlJ5VDJFVVEvdzZsbFBRV1ZHamQ4R0g1R3lVVHIyM25IaGJB?= =?utf-8?B?dzVYOG5EUXZHeEx6Ujg0aERvUVo3c1RCbTEzbGh5VjVhdy8wOTFrMVZUbEEw?= =?utf-8?B?QU9yVlRsbGNVZHNOTDBYbUloTlcybTFCUmMxN014QmdIdGZ3eTRjMWlrZWth?= =?utf-8?B?ZFY1WEpjYmFLSWdwYWRMa1k5K2hYRWdmK2pneGZqTmkrYWxsMmN0M1ZXdlAv?= =?utf-8?B?VURpWkR2TG54WWJ6Z2N3SDlrNEZTaTlkVFZ2eGpaTCtBVUx5SnFjbWxza1da?= =?utf-8?Q?ImOFpF8OyTyjLEoxYoDR?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 691c179d-689d-471f-c847-08dbaebb4199 X-MS-Exchange-CrossTenant-AuthSource: DU0P250MB0747.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Sep 2023 09:25:48.8724 (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: AS4P250MB0416 Subject: Re: [FFmpeg-devel] [PATCH] avformat: add CRI USM demuxer 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: Paul B Mahol: > > + chunk_type = avio_rb32(pb); > + chunk_size = avio_rb32(pb); You are not checking whether the chunk here exceeds its containing chunk. > > + av_fast_malloc(&usm->header, &usm->header_size, > + chunk_size + AV_INPUT_BUFFER_PADDING_SIZE); > + if (!usm->header) > + return AVERROR(ENOMEM); The bytestream2 API does not rely on the buffer being padded at all. > > + bytestream2_skip(&sgb, string_offset); This is unnecessary, because you seek with an absolute offset lateron anyway before using sgb. > > + bytestream2_seek(&sgb, string_offset + offset, SEEK_SET); > + while (bytestream2_get_bytes_left(&sgb) > 0) { > + key[n] = bytestream2_get_byte(&sgb); > + if (!key[n]) > + break; > + if (n >= sizeof(key) - 1) > + break; > + n++; > + } > + key[n] = '\0'; IMO this would be easier with strnlen(), avoiding sgb altogether. You would of course need to explicitly check that you are not overreading, but that is good practice anyway. > > + chunk_start = avio_tell(pb); > + avio_skip(pb, 1); > + payload_offset = avio_r8(pb); > + padding_size = avio_rb16(pb); > + stream_index = avio_r8(pb); > + avio_skip(pb, 2); > + payload_type = avio_r8(pb); > + frame_time = avio_rb32(pb); > + frame_rate = avio_rb32(pb); > + avio_skip(pb, 8); payload_offset and frame_time are set-but-unused; this might lead to compiler warnings. > + if (usm->ch[is_audio][stream_index].used == 1) { > + uint32_t pkt_size = chunk_size - (avio_tell(pb) - chunk_start); > + This is unnecessary: Unless we already had a read error, pkt_size is chunk_size - (1 + 1 + 2 + 1 + 2 + 1 + 4 + 4 + 8). (Notice that in case padding_size is > 0, it will be part of the packet with the current code; not sure if that is an issue.) > > + > + avio_skip(pb, padding_size); > + avio_skip(pb, chunk_size - (avio_tell(pb) - chunk_start)); > + Simpler to just use avio_seek(pb, chunk_start + chunk_size, SEEK_SET); - 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".